首页主机资讯centos oracle网络配置注意事项

centos oracle网络配置注意事项

时间2025-11-10 16:04:04发布访客分类主机资讯浏览540
导读:CentOS环境下Oracle网络配置注意事项 1. 主机名与hosts文件配置 主机名规范:Oracle要求主机名符合RFC 952标准,禁止使用下划线(如orcl_server不合法),建议使用字母、数字和连字符组合(如orcl-se...

CentOS环境下Oracle网络配置注意事项

1. 主机名与hosts文件配置

  • 主机名规范:Oracle要求主机名符合RFC 952标准,禁止使用下划线(如orcl_server不合法),建议使用字母、数字和连字符组合(如orcl-server)。
  • hosts文件映射:编辑/etc/hosts文件,添加IP地址与主机名的静态映射(如192.168.1.100 orcl-server),避免依赖DNS解析,确保Oracle服务能正确识别主机身份。

2. 网络接口静态配置

  • 优先使用静态IP:Oracle数据库服务对网络稳定性要求高,避免使用DHCP动态分配IP(易导致IP变更引发连接问题)。
  • 关键配置项:编辑/etc/sysconfig/network-scripts/ifcfg-eth0(网卡名以实际为准),设置以下参数:
    DEVICE=eth0
    BOOTPROTO=static  # 静态配置
    IPADDR=192.168.1.100  # 固定IP
    NETMASK=255.255.255.0  # 子网掩码
    GATEWAY=192.168.1.1  # 网关
    DNS1=8.8.8.8  # DNS服务器
    ONBOOT=yes  # 开机自启
    
  • 验证配置:修改后执行systemctl restart network重启网络服务,用ip addr show eth0确认IP已生效。

3. 防火墙与SELinux调整

  • 防火墙设置
    • 临时关闭(测试用):systemctl stop firewalld
    • 永久关闭systemctl disable firewalld
    • 推荐做法:开放Oracle默认端口(1521/TCP),执行:
      firewall-cmd --permanent --zone=public --add-port=1521/tcp
      firewall-cmd --reload
      
  • SELinux配置
    • 临时禁用setenforce 0
    • 永久禁用:编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,重启系统生效。

4. 内核参数优化

Oracle对内核参数有特定要求,需修改/etc/sysctl.conf文件,添加或调整以下参数(单位:字节/数量):

kernel.shmmax = 2147483648  # 共享内存最大值(建议为物理内存的一半)
kernel.shmmni = 4096  # 共享内存段最大数量
kernel.shmall = 2097152  # 共享内存总页数
kernel.sem = 250 32000 100 128  # 信号量参数
fs.file-max = 65536  # 最大文件句柄数
net.ipv4.ip_local_port_range = 1024 65000  # 客户端端口范围
net.core.rmem_default = 262144  # 接收缓冲区默认大小
net.core.rmem_max = 262144  # 接收缓冲区最大值
net.core.wmem_default = 262144  # 发送缓冲区默认大小
net.core.wmem_max = 262144  # 发送缓冲区最大值

修改后执行sysctl -p使参数生效。

5. Oracle监听器(listener.ora)配置

  • 文件位置$ORACLE_HOME/network/admin/listener.ora(如/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora)。
  • 关键配置
    • 监听地址需与主机IP一致(如HOST=192.168.1.100),端口默认1521(可自定义,但需与客户端配置一致);
    • 避免使用localhost(仅本地访问),若需远程访问,需指定实际IP;
    • 示例配置:
      LISTENER =
        (DESCRIPTION_LIST =
          (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
          )
        )
      ADR_BASE_LISTENER = /u01/app/oracle
      
  • 启动监听:执行lsnrctl start启动监听,用lsnrctl status检查状态(需显示“RUNNING”)。

6. 客户端连接(tnsnames.ora)配置

  • 文件位置:客户端$ORACLE_HOME/network/admin/tnsnames.ora(如/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/tnsnames.ora)。
  • 关键配置
    • HOST需指向服务器IP(如HOST=192.168.1.100);
    • PORT需与监听器端口一致(如PORT=1521);
    • SERVICE_NAME需与数据库实例的服务名一致(可通过sqlplus / as sysdba执行show parameter service_names查询);
    • 示例配置:
      ORCL =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
          (CONNECT_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = orcl)
          )
        )
      
  • 测试连接:用tnsping ORCL测试配置是否正确(显示“OK”则表示成功)。

7. 实例注册验证

Oracle实例需向监听器注册,确保客户端能发现服务。有两种注册方式:

  • 动态注册(推荐):通过local_listener参数自动注册。执行以下命令检查并设置:
    SQL>
         SHOW PARAMETER LOCAL_LISTENER;
          -- 查看当前配置
    SQL>
         ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))';
          -- 设置监听地址
    SQL>
         ALTER SYSTEM REGISTER;
          -- 强制注册
    
  • 静态注册(可选):在listener.ora中添加SID_LIST_LISTENER段,手动指定实例信息(适用于动态注册不稳定的情况)。

8. 网络连通性测试

  • 基础测试:用ping < 服务器IP> 测试网络连通性(无丢包、延迟低);
  • 端口测试:用telnet < 服务器IP> 1521nc -zv < 服务器IP> 1521测试端口是否开放(若端口不通,需检查防火墙或监听器配置)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos oracle网络配置注意事项
本文地址: https://pptw.com/jishu/746347.html
oracle数据库在centos上如何迁移 在CentOS上如何解决MongoDB的连接问题

游客 回复需填写必要信息