在sqlnet.ora文件中设置如下的Oracle经验值:
DEFAULT_SDU_SIZE = 32767
在tnsnames.ora中、也可针对单个service name进行如下设置:
sales.us.acme.com=
(DESCRIPTION=
(SDU=32767)
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.acme.com))
) 在listener.ora文件中、进行如下配置:
SID_LIST_listener_name=
(SID_LIST=
(SID_DESC=
(SDU=32767)
(SID_NAME=sales))) 建议在主库和备库均进行相同的配置、以免在角色却换之后又要进行相同配置调整
㈢ 合理设置TCP Sockte Buffer 参数
当网络延迟较高时、为充分利用网络带宽、Oracle建议对TCP Socket Buffer参数进行扩充
经验值:
Tcp Socket Buffer = 3 * BDP
BDP = 网络带宽 * 网络RTT值
例如、带宽1Gbps、RTT为25ms
则Tcp Socket Buffer size = 3 * 1000000000/8 * 0.025 = 9375000 Byte
这样、在tnsnames.ora针对单个service name进行配置:
hr.us.acme.com=
(DESCRIPTION=
(SEND_BUF_SIZE=9375000)
(RECV_BUF_SIZE=9375000)
(ADDRESS=(PROTOCOL=tcp)(HOST=hr1-server)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=hr.us.acme.com))) 在listener.ora进行配置:
LISTENER2= (DESCRIPTION= (SEND_BUF_SIZE=9375000) (RECV_BUF_SIZE=9375000) (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)))
在sqlnet.ora进行配置:
RECV_BUF_SIZE=9375000 SEND_BUF_SIZE=9375000
㈣ 合理设置网络设备队列长度参数
网络设备队列是网络内核与网卡之间的通信缓冲区域
合理设置该队列长度参数、可有效防范因网络拥塞瓶颈带来的数据丢失问题、并提高网络传输效率
例如、以下是在Linux下将该参数由缺省的100提高到10000
[root@Think ~]# echo 20000 > /proc/sys/net/core/netdev_max_backlog [root@Think ~]# echo 1 > /proc/sys/net/ipv4/route/flush [root@Think ~]# ifconfig eth0 txqueuelen 10000
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26515977/viewspace-1208019/ ,如需转载,请注明出处,否则将追究法律责任。