CentOS与Oracle网络连接设置指南
编辑网络接口配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0),设置静态IP、子网掩码、网关、DNS等参数,确保网络连通性:
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 DNS2=8.8.4.4 ONBOOT=yes # 开机自启 保存后重启网络服务:
sudo systemctl restart network # 或使用nmcli(适用于NetworkManager系统) sudo nmcli connection down eth0 && sudo nmcli connection up eth0 验证配置是否生效:
ip addr show eth0 # 或使用ifconfig(需安装net-tools) ping 8.8.8.8 # 测试外网连通性 sudo setenforce 0 /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,重启系统生效。sudo systemctl stop firewalld sudo systemctl disable firewalld # 若需保留防火墙,放行1521端口(Oracle默认端口) sudo firewall-cmd --permanent --add-port=1521/tcp sudo firewall-cmd --reload 监听器负责接收客户端连接请求,配置文件位于$ORACLE_HOME/network/admin/listener.ora(如/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora)。示例配置:
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname_or_ip)(PORT = 1521)) # 替换为实际主机名或IP ) ) 重启监听器使配置生效:
$ORACLE_HOME/bin/lsnrctl stop $ORACLE_HOME/bin/lsnrctl start $ORACLE_HOME/bin/lsnrctl status # 检查监听器状态(确认监听端口为1521) tnsnames.ora用于定义数据库连接别名,配置文件位于$ORACLE_HOME/network/admin/tnsnames.ora。示例配置:
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname_or_ip)(PORT = 1521)) # 替换为实际主机名或IP (CONNECT_DATA = (SERVER = DEDICATED) # 连接模式(DEDICATED为专用服务器) (SERVICE_NAME = your_service_name) # 替换为实际服务名(可通过lsnrctl status查看) ) ) 测试连接:
sqlplus username/password@ORCL # 使用配置的别名连接数据库 systemctl status oracle # 检查数据库实例状态 $ORACLE_HOME/bin/lsnrctl status # 检查监听器状态 $ORACLE_HOME/network/log/listener.log$ORACLE_BASE/diag/rdbms/your_db_name/trace/alert_your_db_name.logHOST、PORT配置正确。tnsnames.ora中的SERVICE_NAME是否与数据库实际服务名一致。/etc/sysctl.conf,添加以下参数以优化网络性能:kernel.shmmax = 2147483648 # 共享内存最大值(根据物理内存调整) kernel.shmmni = 4096 # 共享内存段最大数量 net.ipv4.ip_local_port_range = 1024 65000 # 本地端口范围 fs.file-max = 65536 # 最大文件描述符数 使配置生效:sudo sysctl -p ~/.bash_profile),添加:export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 # 替换为实际ORACLE_HOME export ORACLE_SID=orcl # 替换为实际SID export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH 使配置生效:source ~/.bash_profile 通过以上步骤,可完成CentOS与Oracle的网络连接设置,确保客户端能够通过本地服务名(如ORCL)访问Oracle数据库。配置过程中需注意参数的一致性(如主机名、端口、服务名),并通过日志和测试命令及时排查问题。