温馨提示×

Ubuntu Oracle 网络配置注意事项

小樊
37
2025-12-06 21:16:53
栏目: 云计算

Ubuntu 连接 Oracle 数据库的网络配置注意事项

一 系统网络与防火墙

  • 识别网卡名称:使用命令查看接口,如ip addr show,常见名称有eth0ens*。
  • 配置方式选择:
    • 新版本 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 客户端与连接文件

  • 客户端安装:下载并解压 Oracle Instant Client(基本包与 SDK/SQL*Plus 等),建议放到 /opt/oracle/ 等固定目录。
  • 环境变量建议:在 ~/.bashrc 或系统级 profile 中设置
    • ORACLE_HOME(指向 Instant Client 目录)
    • LD_LIBRARY_PATH=$ORACLE_HOME
    • PATH=$ORACLE_HOME:$PATH
    • TNS_ADMIN=$ORACLE_HOME/network/admin(统一管理网络配置)
      执行 source ~/.bashrc 使变量生效。
  • 配置 tnsnames.ora(位于 $TNS_ADMIN):
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = your_db_host)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    
  • 连接测试:优先用 sqlplus username/password@ORCL 测试;本机装有数据库时可用 sqlplus / as sysdba 验证本地监听与实例状态。

三 监听与连接诊断

  • 服务端监听检查:在数据库服务器执行 lsnrctl status,确认监听已启动并监听 1521,且服务名/SID 与客户端一致。
  • 端口可达性测试:在客户端执行 nc -vz your_db_host 1521telnet 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 逐项验证,保留回滚方案。

0