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数据库。配置过程中需注意参数的一致性(如主机名、端口、服务名),并通过日志和测试命令及时排查问题。