Ubuntu 连接 Oracle 数据库的网络配置注意事项
一 系统网络与防火墙
- 识别网卡名称:使用命令查看接口,如ip addr show,常见名称有eth0或ens*。
- 配置方式选择:
- 新版本 Ubuntu 多使用 /etc/netplan/ 目录下的 YAML 文件(如 /etc/netplan/50-cloud-init.yaml),修改后执行 sudo netplan apply 使配置生效。
- 传统方式编辑 /etc/network/interfaces,修改后执行 sudo systemctl restart networking。
- 静态 IP 要点:确保 IP/掩码/网关在同一网段且不冲突,按需设置 DNS(如 8.8.8.8、8.8.4.4)。
- 连通性验证:先 ping 网关,再 ping 外网域名(如 www.baidu.com),确认路由与 DNS 正常。
- 防火墙放行:Oracle 默认监听 1521/TCP,使用 sudo ufw status 查看状态,必要时放行端口(如 ufw allow 1521/tcp),避免阻断客户端连接。
二 Oracle 客户端与连接文件
三 监听与连接诊断
- 服务端监听检查:在数据库服务器执行 lsnrctl status,确认监听已启动并监听 1521,且服务名/SID 与客户端一致。
- 端口可达性测试:在客户端执行 nc -vz your_db_host 1521 或 telnet your_db_host 1521,快速判断 TCP 连通性与端口开放情况。
- 主机名解析:确保客户端能解析数据库主机名(优先使用 /etc/hosts 或稳定 DNS),避免因解析失败导致连接超时。
- 客户端定位配置:若未使用 TNS_ADMIN,客户端会按默认路径查找 tnsnames.ora;建议显式设置 TNS_ADMIN 统一管理。
- 协议与端口一致性:客户端 PROTOCOL=TCP、PORT=1521 需与服务端监听一致;如使用服务名,请确认 SERVICE_NAME 正确无误。
四 高可用与性能相关
- 在 Oracle RAC 或需要大带宽低时延的场景,私网可考虑启用 Jumbo Frame(将网卡 MTU 设为 9000),并两端一致配置;修改 MTU 后需重启接口或系统以生效。
五 虚拟机与云环境
- 虚拟机网络模式:选择 桥接 或 NAT 让虚拟机获得可达 IP;如需从外部访问数据库,桥接更直观,NAT 需配置端口转发。
- 云服务器安全组/防火墙:除系统 ufw 外,还需在云平台安全组放行 1521/TCP 入站(以及必要的出站规则),否则外部客户端无法连接。
- 主机名与 DNS:云环境常使用内网域名,确保客户端能正确解析数据库主机名,必要时在 /etc/hosts 做静态映射。
- 变更与回滚:修改 netplan 或网络服务前先备份配置,变更后用 ping/nslookup/nc 逐项验证,保留回滚方案。