Oracle Linux环境网络配置指南
一、基础网络接口配置
Oracle Linux的网络接口配置文件位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-<接口名>(如ifcfg-em1、ifcfg-eth0,可通过ip addr show命令查看接口名)。
编辑配置文件(以静态IP为例):
vi /etc/sysconfig/network-scripts/ifcfg-em1
关键参数设置:
DEVICE=em1:接口名称(需与ip addr show结果一致);BOOTPROTO=static:采用静态IP(若用DHCP则设为dhcp);IPADDR=192.168.1.100:静态IP地址;NETMASK=255.255.255.0:子网掩码;GATEWAY=192.168.1.1:默认网关;DNS1=8.8.8.8:首选DNS服务器;DNS2=8.8.4.4:备用DNS服务器;ONBOOT=yes:开机自动激活接口(必须设置为yes,否则重启后失效)。
保存后重启网络服务使配置生效:
sudo systemctl restart network
# 或使用NetworkManager命令(Oracle Linux默认启用)
sudo nmcli connection reload
sudo nmcli connection up em1
验证接口状态:
ip addr show em1 # 查看IP是否分配
ping www.oracle.com # 测试网络连通性
二、Oracle监听器配置(Listener)
Oracle监听器负责接收客户端连接请求,配置文件位于$ORACLE_HOME/network/admin/listener.ora(如/u01/app/oracle/product/19c/network/admin/listener.ora)。
示例配置(监听TCP协议、1521端口,绑定localhost):
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl) # 数据库实例SID(需与数据库实际SID一致)
(ORACLE_HOME = /u01/app/oracle/product/19c) # Oracle安装路径
)
)
重启监听器应用配置:
lsnrctl stop # 停止监听器
lsnrctl start # 启动监听器
验证监听器状态:
lsnrctl status # 查看监听端口、绑定的SID及连接状态
三、Oracle TNS服务名配置(TNSNames)
TNSNames文件用于客户端解析数据库服务名,路径同listener.ora。
示例配置(定义名为orcl的服务,指向本地数据库):
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED) # 连接方式为专用服务器
(SERVICE_NAME = orcl) # 数据库服务名(需与数据库实际服务名一致)
)
)
测试TNS连接(无需输入密码,仅验证配置是否正确):
sqlplus /@ORCL
若提示“Connected to an idle instance”,说明配置成功(需启动数据库实例);若报错“ORA-12154: TNS:could not resolve the connect identifier specified”,则需检查tnsnames.ora中的服务名是否拼写正确。
四、防火墙设置
Oracle默认使用1521端口(TCP),需开放该端口以允许客户端连接。
1. 使用firewalld(Oracle Linux默认防火墙)
sudo firewall-cmd --permanent --add-port=1521/tcp # 永久添加1521端口
sudo firewall-cmd --reload # 重新加载防火墙规则
2. 使用iptables(旧版本可能使用)
sudo iptables -A INPUT -p tcp --dport 1521 -j ACCEPT # 添加允许规则
sudo service iptables save # 保存规则(CentOS 6及以下)
sudo systemctl restart iptables # 重启iptables服务
验证端口是否开放:
sudo firewall-cmd --list-ports # 查看firewalld开放的端口
telnet <服务器IP> 1521 # 测试端口连通性(需安装telnet客户端)
五、SELinux配置(可选)
若系统启用了SELinux(默认启用),需允许Oracle网络访问:
# 设置SELinux为permissive模式(仅记录日志,不阻止操作)
sudo setenforce 0
# 永久修改SELinux策略(编辑/etc/selinux/config文件)
sudo vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=permissive,重启系统生效。