一、Oracle网络基础配置
netca图形化工具创建监听器,或手动编辑$ORACLE_HOME/network/admin/listener.ora文件,定义监听器端口(默认1521)、协议(TCP)、队列长度(LISTENER_QUEUE_LENGTH,建议设置为100以上)及连接超时时间(INBOUND_CONNECT_TIMEOUT_LISTENER,建议30-60秒)。配置完成后,执行lsnrctl start启动监听器,并通过lsnrctl status验证状态,确保监听器随系统启动自动运行(添加lsnrctl start到/etc/rc.local)。$ORACLE_HOME/network/admin/tnsnames.ora文件,为每个客户端连接定义别名、主机地址、端口和服务名(如ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = orcl))))。此方式简化了客户端连接字符串,提升了解析效率。二、内核参数优化(关键提升项)
/etc/sysctl.conf中的缓冲区设置,增大接收(rmem)和发送(wmem)缓冲区,减少丢包。推荐配置:net.core.rmem_default=262144(默认接收缓冲区,默认值约256KB)、net.core.wmem_default=262144(默认发送缓冲区)、net.core.rmem_max=16777216(最大接收缓冲区,约16MB)、net.core.wmem_max=16777216(最大发送缓冲区)。执行sysctl -p使配置生效。net.ipv4.tcp_keepalive_time=300(连接保持活动时间,默认7200秒,降低至5分钟,及时释放闲置连接)、net.ipv4.tcp_keepalive_intvl=30(探测包间隔,默认75秒,降低至30秒,加快检测速度)、net.ipv4.tcp_keepalive_probes=3(探测次数,默认9次,减少至3次,避免长时间占用资源)、net.ipv4.tcp_tw_reuse=1(复用TIME-WAIT连接,提升端口利用率,适用于高并发场景)、net.ipv4.tcp_fin_timeout=30(FIN_WAIT_2超时时间,默认60秒,降低至30秒,快速释放连接)。net.core.netdev_max_backlog=300000(网卡接收队列最大长度,应对高流量场景,减少丢包)、net.ipv4.ip_local_port_range=9000 65500(客户端可用端口范围,默认1024-65535,缩小范围减少端口耗尽风险)。三、Oracle网络服务参数优化
调整sqlnet.ora文件中的超时和缓冲区参数,提升连接稳定性和传输效率。关键配置:SQLNET.INBOUND_CONNECT_TIMEOUT=120(客户端连接超时时间,默认60秒,延长至2分钟,避免因网络延迟导致误判)、SQLNET.SEND_BUF_SIZE=32768(发送缓冲区大小,默认16KB,增大至32KB,提升发送效率)、SQLNET.RECV_BUF_SIZE=32768(接收缓冲区大小,默认16KB,增大至32KB,提升接收效率)、SQLNET.MAX_IDLE_TIME=1200(连接最大空闲时间,默认600秒,延长至20分钟,减少频繁连接创建的开销)。
四、安全配置
iptables或firewalld限制Oracle监听端口(默认1521)的访问,仅允许可信IP段访问。例如,iptables -A INPUT -p tcp --dport 1521 -s 192.168.1.0/24 -j ACCEPT(允许192.168.1.0/24网段访问),iptables -A INPUT -p tcp --dport 1521 -j DROP(拒绝其他IP访问)。sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES=(NTS)为SQLNET.AUTHENTICATION_SERVICES=(NONE),并配置SSL_VERSION=1.2等参数);或使用Kerberos、LDAP实现集中身份认证,提升安全性。五、监控与诊断
netstat -antp(查看TCP连接状态)、ss -s(统计套接字信息)、iftop(实时流量监控,按端口排序)、nload(带宽使用率监控)等工具,定期检查网络连接数、端口占用、流量负载等情况,及时发现异常。iperf3工具测试网络带宽(如iperf3 -c 服务器IP -t 60,测试60秒内的TCP带宽),netperf测试TCP/UDP吞吐量(如netperf -H 服务器IP -t TCP_STREAM -l 60),评估优化效果,确保网络性能满足Oracle数据库的高并发需求。