centos上oracle网络配置注意事项
CentOS上Oracle网络配置注意事项
1. 网络接口基础配置
配置静态IP(推荐生产环境使用)或DHCP(测试环境可选),确保IP地址、子网掩码、网关、DNS服务器地址正确。静态IP配置示例如下(编辑/etc/sysconfig/network-scripts/ifcfg-eth0):
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes(开机自启)
修改后重启网络服务:sudo systemctl restart network,并通过ip addr show验证配置生效。
2. 关闭SELinux(避免权限拦截)
SELinux可能阻止Oracle监听器或数据库服务的网络访问,需设置为disabled(永久生效)或临时关闭(立即生效):
- 编辑
/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled; - 执行
sudo setenforce 0临时关闭。
修改后需重启系统使配置生效。
3. 正确配置/etc/hosts文件
确保/etc/hosts包含主机名与IP地址的映射,避免DNS解析延迟或失败。示例如下:
192.168.1.100 your_hostname(your_hostname为hostnamectl set-hostname设置的名称)。
修改后无需重启,直接生效。
4. 配置Oracle监听器(关键步骤)
监听器负责接收客户端连接请求,需确保listener.ora(位于$ORACLE_HOME/network/admin/)配置正确:
- 示例配置:
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname_or_ip)(PORT = 1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = your_sid) (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1) ) ) - 使用
lsnrctl status检查监听器状态(需显示“READY”),lsnrctl start启动监听器,lsnrctl restart重启。
5. 配置tnsnames.ora文件(客户端连接必备)
tnsnames.ora(同样位于$ORACLE_HOME/network/admin/)用于定义数据库连接别名,客户端需通过此文件连接数据库。示例如下:
YOUR_DB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = your_service_name)
)
)
- 替换
YOUR_DB(自定义别名)、your_hostname(服务器主机名/IP)、your_service_name(数据库服务名,可通过lsnrctl status查看)。
6. 调整内核参数(优化网络性能)
编辑/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 # 发送缓冲区最大值
修改后执行sudo sysctl -p使配置生效。
7. 配置防火墙(放行Oracle端口)
CentOS默认启用firewalld,需放行Oracle默认端口(1521):
sudo firewall-cmd --permanent --zone=public --add-port=1521/tcp # 永久添加端口
sudo firewall-cmd --reload # 重新加载防火墙规则
若使用iptables,需执行sudo iptables -A INPUT -p tcp --dport 1521 -j ACCEPT并保存规则。
8. 验证Oracle服务状态
确保Oracle数据库实例和监听器服务正常运行:
- 启动数据库:
sqlplus / as sysdba→startup; - 检查监听器状态:
lsnrctl status(需显示“Service ‘your_service_name’ has 1 instance(s)”)。
9. 检查环境变量(避免命令找不到)
编辑用户环境变量文件(如~/.bash_profile或/etc/profile),添加Oracle相关变量:
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 # Oracle安装路径
export PATH=$ORACLE_HOME/bin:$PATH # 添加Oracle命令到PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH # 添加Oracle库路径
执行source ~/.bash_profile使配置生效。
10. 测试网络连接(确保可达性)
使用ping命令测试服务器IP连通性:ping 192.168.1.100;
使用telnet测试端口连通性:telnet 192.168.1.100 1521(若显示“Connected”则表示端口开放);
使用sqlplus测试数据库连接:sqlplus username/password@YOUR_DB(YOUR_DB为tnsnames.ora中定义的别名)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos上oracle网络配置注意事项
本文地址: https://pptw.com/jishu/729419.html
