Linux Oracle网络配置全流程
一 系统网络与主机名准备
sudo hostnamectl set-hostname orcl。/etc/sysconfig/network-scripts/ifcfg-eth0,关键项:nmtui进行图形化配置,或用nmcli:nmcli con mod eth0 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual autoconnect yes,随后nmcli con up eth0。192.168.1.100 orcl。ip addr、ping 192.168.1.1、ping 8.8.8.8、nslookup域名。sudo firewall-cmd --zone=public --add-port=1521/tcp --permanent && sudo firewall-cmd --reload。/etc/selinux/config将SELINUX=enforcing改为SELINUX=permissive或disabled,并执行setenforce 0临时生效。二 Oracle监听配置与启停
$ORACLE_HOME/network/admin/listener.ora。最小可用示例:LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl)(PORT = 1521))
)
)
说明:HOST建议使用服务器的主机名(已在/etc/hosts解析),或填服务器IP;PORT通常为1521。lsnrctl startlsnrctl status(应能看到监听地址、端口及已注册服务)$ORACLE_HOME/network/log/listener.log(排错首选)SERVICE_NAMES=orcl(或你的服务名)LOCAL_LISTENER=(ADDRESS=(PROTOCOL=TCP)(HOST=orcl)(PORT=1521))lsnrctl start并检查listener.ora。三 客户端与服务名配置
$ORACLE_HOME/network/admin/tnsnames.ora。示例:ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
sqlplus sys/password@192.168.1.100:1521/orcl as sysdbasqlplus sys/password@ORCL as sysdbatnsping ORCL/opt/oracle/instantclient_XX_Xexport LD_LIBRARY_PATH=/opt/oracle/instantclient_XX_Xtnsnames.ora放到Instant Client的network/admin目录或使用TNS_ADMIN指向其目录。四 验证与排错清单
lsnrctl status确认监听在1521并注册到正确服务;tnsping ORCL;sqlplus sys/password@ORCL as sysdba。ping服务器IP,再tnsping ORCL,最后sqlplus连接。telnet 192.168.1.100 1521或nc -vz 192.168.1.100 1521,不通则检查服务器防火墙/云安全组与监听HOST是否为可达地址。$ORACLE_HOME/network/log/listener.log定位启动失败、注册失败、访问拒绝等问题。SERVICE_NAMES、LOCAL_LISTENER与监听端口一致,必要时lsnrctl reload。五 安全与运维建议
0.0.0.0监听所有地址,优先使用服务器主机名或内网IP。PASSWORDS_LISTENER),并定期审计listener.log。/etc/hosts与DNS一致,避免主机名漂移导致监听与服务注册异常。listener.ora或sqlnet.ora后使用lsnrctl reload平滑生效,重大变更在维护窗口进行并保留回退方案。