温馨提示×

Debian上Oracle网络配置怎么做

小樊
33
2025-11-29 11:37:54
栏目: 云计算

Debian上Oracle网络配置实操指南

一 系统网络与DNS准备

  • 使用传统 ifupdown 配置静态地址(示例网卡为 eth0,请按实际替换为 ens18/ens33 等):
    • 编辑配置文件:sudo nano /etc/network/interfaces
    • 内容示例:
      auto eth0
      iface eth0 inet static
          address 192.168.1.100
          netmask 255.255.255.0
          gateway 192.168.1.1
          dns-nameservers 8.8.8.8 8.8.4.4
      
    • 应用:sudo systemctl restart networking
  • 使用 NetworkManager(适合桌面/动态网络):
    • 安装与启用:sudo apt-get update && sudo apt-get install -y network-manager && sudo systemctl enable --now NetworkManager
    • 命令行示例:nmcli con mod eth0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns “8.8.8.8 8.8.4.4” && nmcli con up eth0
  • 验证:ping www.google.com 或 nslookup oracle.com 检查连通与解析。

二 Oracle监听与客户端配置文件

  • 环境变量(以数据库服务器为例,切换到 oracle 用户设置):
    • 编辑:nano ~oracle/.bashrc
    • 内容示例(路径按实际调整):
      export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
      export ORACLE_SID=orcl
      export PATH=$ORACLE_HOME/bin:$PATH
      export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
      export TNS_ADMIN=$ORACLE_HOME/network/admin
      
    • 生效:source ~oracle/.bashrc
  • 监听器 listener.ora(路径:$ORACLE_HOME/network/admin/listener.ora):
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521))
        )
      )
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = orcl)
          (SID_NAME = orcl)
          (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
        )
      )
    
  • 客户端解析 tnsnames.ora(路径:$ORACLE_HOME/network/admin/tnsnames.ora):
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    
  • 说明:
    • your_host_name 建议使用服务器的可解析主机名或 0.0.0.0(监听所有地址);端口常用 1521
    • 若使用 Easy Connect 或仅客户端连接,可仅配置 tnsnames.ora 或使用 “sqlplus user/pass@//host:1521/service”。

三 启动监听与开机自启

  • 启动与状态检查(以 oracle 用户执行):
    • 启动:lsnrctl start
    • 状态:lsnrctl status
    • 热加载:lsnrctl reload
    • 日志:tail -f $ORACLE_HOME/network/log/listener.log
  • 配置 systemd 服务实现开机自启(数据库服务器推荐):
    • 新建服务:sudo nano /etc/systemd/system/oracle-listener.service
    • 内容示例:
      [Unit]
      Description=Oracle Listener
      After=network.target
      
      [Service]
      Type=forking
      ExecStart=/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl start
      ExecStop=/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl stop
      User=oracle
      Group=oinstall
      Restart=on-failure
      
      [Install]
      WantedBy=multi-user.target
      
    • 启用与启动:
      • sudo systemctl daemon-reload
      • sudo systemctl enable --now oracle-listener
  • 验证:ss -lntp | grep 1521 或 lsnrctl status 应看到监听在 TCP/1521

四 连接测试与常见问题

  • 本地数据库连通性(服务器本机):
    • sqlplus / as sysdba
    • 或:sqlplus system/password@ORCL
  • 远程客户端连通性:
    • sqlplus system/password@//your_host_name:1521/orcl
    • 若仅装了 Instant Client,可用 tnsping ORCL 验证解析与端口可达性
  • 常见问题排查要点:
    • 监听未起或端口未监听:lsnrctl status,检查 listener.log,确认 $ORACLE_HOME/network/admin 配置正确且主机名可解析
    • 主机名解析失败:在 /etc/hosts 添加 “192.168.1.100 your_host_name”,或直接使用 0.0.0.0 监听所有地址
    • 防火墙/云安全组:放行 TCP 1521
    • 客户端库路径:确保 LD_LIBRARY_PATH 包含 $ORACLE_HOME/lib
    • 环境变量:确认 ORACLE_HOME、ORACLE_SID、TNS_ADMIN 已正确设置并生效。

0