确保网卡配置文件(位于/etc/sysconfig/network-scripts/ifcfg-ethX)设置合理,关键参数包括:
BOOTPROTO=none(禁用DHCP),明确指定IPADDR(如192.168.1.101)、NETMASK(如255.255.255.0)、GATEWAY(如192.168.1.1),避免IP变动导致连接问题;ONBOOT=yes,确保系统重启后网卡自动激活;NM_CONTROLLED=no(若使用传统网络服务),避免管理冲突;ethtool ethX命令确认网卡工作在全双工模式(Duplex: Full),最大化带宽利用率。开放Oracle数据库默认端口(1521)及所需端口,允许客户端访问:
sudo iptables -A INPUT -p tcp --dport 1521 -j ACCEPT,保存规则(sudo service iptables save)并重启服务(sudo service iptables restart);sudo firewall-cmd --permanent --add-port=1521/tcp,重新加载配置(sudo firewall-cmd --reload)。监听器配置文件($ORACLE_HOME/network/admin/listener.ora)的关键优化项:
HOST设置为服务器静态IP或主机名(避免localhost),确保客户端能正确解析;端口保持默认1521或根据业务需求调整(如1522),但需同步更新客户端配置;BACKLOG参数值(如BACKLOG=100),提升监听器处理并发连接请求的能力,避免因队列满导致连接拒绝。优先使用Easy Connect Naming(简化客户端配置,无需维护tnsnames.ora文件),示例如下:
jdbc:oracle:thin:@//your_host_name:1521/your_service_name
若需使用tnsnames.ora($ORACLE_HOME/network/admin/tnsnames.ora),需确保CONNECT_DATA中的SERVER=DEDICATED(专用服务器模式),避免共享服务器模式的额外开销。
编辑/etc/sysctl.conf文件,添加或修改以下参数,优化TCP/IP协议栈性能:
net.ipv4.ip_local_port_range = 9000 65500),避免客户端连接时端口耗尽;net.ipv4.tcp_window_scaling = 1,支持更大的TCP窗口(提升大数据量传输效率);net.ipv4.tcp_max_syn_backlog = 4096(半连接队列),减少SYN Flood攻击导致的连接失败;开启net.ipv4.tcp_syncookies = 1(防止SYN Flood攻击);net.core.somaxconn = 65536(全连接队列),避免因队列满导致连接被拒绝;net.ipv4.tcp_tw_reuse = 1(复用TIME_WAIT连接)、net.ipv4.tcp_tw_recycle = 1(快速回收TIME_WAIT连接),减少端口占用(注意:tcp_tw_recycle在NAT环境下可能引发问题,需谨慎使用)。sysctl -p使参数生效。通过SQL命令调整Oracle Net层参数,提升网络传输效率:
ALTER SYSTEM SET SQLNET.INBOUND_CONNECT_TIMEOUT=120 SCOPE=SPFILE;(客户端连接超时设为120秒,避免长时间等待);ALTER SYSTEM SET SQLNET.SEND_BUF_SIZE=32768 SCOPE=SPFILE;、ALTER SYSTEM SET SQLNET.RECV_BUF_SIZE=32768 SCOPE=SPFILE;(增大发送/接收缓冲区至32KB,默认16KB,提升数据传输吞吐量);ALTER SYSTEM SET SQLNET.MAX_IDLE_TIME=1200 SCOPE=SPFILE;(连接最大空闲时间设为1200秒,自动清理闲置连接,释放资源)。使用以下工具实时查看网络状态:
sudo iftop -i ethX);sudo nload ethX);ss -tulnp查看TCP监听端口,netstat -anp | grep 1521查看1521端口连接)。定期使用以下工具进行网络性能基准测试:
iperf -s,客户端iperf -c server_ip -t 30);netperf -H server_ip -t TCP_STREAM -l 60)。对于高速网络(如万兆以太网),可将网卡MTU设置为9000,减少网络包分段和重组,提升吞吐量:
sudo ip link set dev ethX mtu 9000;/etc/sysconfig/network-scripts/ifcfg-ethX,添加MTU=9000,重启网卡(sudo ifdown ethX && sudo ifup ethX)。通过绑定多个物理网卡(如bond0),实现带宽叠加(如2个1G网卡绑定为2G)和故障转移(一个网卡故障时,另一个自动接管):
/etc/sysconfig/network-scripts/ifcfg-bond0(主接口),设置BOOTPROTO=none、IPADDR、NETMASK、ONBOOT=yes,并添加BONDING_OPTS="mode=1 miimon=100"(mode=1为故障转移,miimon=100表示每100毫秒检测链路状态);ifcfg-eth0、ifcfg-eth1),设置MASTER=bond0、SLAVE=yes、ONBOOT=yes。sudo systemctl restart network)使配置生效。