centos oracle网络配置注意事项
导读: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
- 监听地址需与主机IP一致(如
- 启动监听:执行
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> 1521或nc -zv < 服务器IP> 1521测试端口是否开放(若端口不通,需检查防火墙或监听器配置)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos oracle网络配置注意事项
本文地址: https://pptw.com/jishu/746347.html
