CentOS环境下Oracle网络配置注意事项
orcl_server不合法),建议使用字母、数字和连字符组合(如orcl-server)。/etc/hosts文件,添加IP地址与主机名的静态映射(如192.168.1.100 orcl-server),避免依赖DNS解析,确保Oracle服务能正确识别主机身份。/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已生效。systemctl stop firewalld;systemctl disable firewalld;firewall-cmd --permanent --zone=public --add-port=1521/tcp
firewall-cmd --reload
setenforce 0;/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,重启系统生效。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使参数生效。
$ORACLE_HOME/network/admin/listener.ora(如/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora)。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”)。$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”则表示成功)。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段,手动指定实例信息(适用于动态注册不稳定的情况)。ping <服务器IP>测试网络连通性(无丢包、延迟低);telnet <服务器IP> 1521或nc -zv <服务器IP> 1521测试端口是否开放(若端口不通,需检查防火墙或监听器配置)。