[20151021]关于sqlnet.expire_time2.txt
http://blog.itpub.net/267265/viewspace-1373080/
http://www.itpub.net/thread-1940069-1-1.html
--前几天遇到的问题,我个人怀疑是你们的防火墙设置问题,当然也只是怀疑。
--zergduan 指出
--防火墙或者交换机上的session table空闲时间是5分钟,那么sqlnet.expire_time要设置的值必须小于2.5~
--如果设置为5,那么第一个DCD检测是在10分钟后发出的,然后以后的DCD是每隔5分钟一次~
--也就是第1个监测发出的时间间隔会很长,等于2Xsqlnet.expire_time。
--我自己重复测试看看:
1.修改 sqlnet.ora文件,加入:
SQLNET.EXPIRE_TIME=1
重启监听。
2.在服务端执行如下命令:
# tcpdump -i eth0 -nnn host 192.168.xxx.xxx and port 1521
3.远端打开连接数据库,不做任何操作。
..
09:42:41.700319 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6753:6770(17) ack 8049 win 131
09:42:41.700570 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6770 win 16240 <nop,nop,sack sack 1 {6753:6770} >
--09:42:41是我登录数据库的时间。
09:44:41.420363 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6770:6780(10) ack 8049 win 131
09:44:41.619863 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6780 win 16238
--可以发现第1个DCD监测确实2分钟之后。
09:45:41.421283 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6780:6790(10) ack 8049 win 131
09:45:41.621329 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6790 win 16235
09:46:41.422244 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6790:6800(10) ack 8049 win 131
09:46:41.625667 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6800 win 16233
09:47:41.422821 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6800:6810(10) ack 8049 win 131
09:47:41.620014 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6810 win 16230
09:48:41.423702 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6810:6820(10) ack 8049 win 131
09:48:41.627348 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6820 win 16228
09:49:41.424378 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6820:6830(10) ack 8049 win 131
09:49:41.626679 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6830 win 16225
09:50:41.425243 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6830:6840(10) ack 8049 win 131
09:50:41.628150 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6840 win 16223
09:51:41.426463 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6840:6850(10) ack 8049 win 131
09:51:41.623483 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6850 win 16220
09:52:41.427034 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6850:6860(10) ack 8049 win 131
09:52:41.623829 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6860 win 16218
--以后才是每隔1分钟1个。
--看来以后看文档要仔细一些,不知道oracle为什么要这样设计!!!
http://blog.itpub.net/267265/viewspace-1373080/
http://www.itpub.net/thread-1940069-1-1.html
--前几天遇到的问题,我个人怀疑是你们的防火墙设置问题,当然也只是怀疑。
--zergduan 指出
--防火墙或者交换机上的session table空闲时间是5分钟,那么sqlnet.expire_time要设置的值必须小于2.5~
--如果设置为5,那么第一个DCD检测是在10分钟后发出的,然后以后的DCD是每隔5分钟一次~
--也就是第1个监测发出的时间间隔会很长,等于2Xsqlnet.expire_time。
--我自己重复测试看看:
1.修改 sqlnet.ora文件,加入:
SQLNET.EXPIRE_TIME=1
重启监听。
2.在服务端执行如下命令:
# tcpdump -i eth0 -nnn host 192.168.xxx.xxx and port 1521
3.远端打开连接数据库,不做任何操作。
..
09:42:41.700319 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6753:6770(17) ack 8049 win 131
09:42:41.700570 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6770 win 16240 <nop,nop,sack sack 1 {6753:6770} >
--09:42:41是我登录数据库的时间。
09:44:41.420363 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6770:6780(10) ack 8049 win 131
09:44:41.619863 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6780 win 16238
--可以发现第1个DCD监测确实2分钟之后。
09:45:41.421283 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6780:6790(10) ack 8049 win 131
09:45:41.621329 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6790 win 16235
09:46:41.422244 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6790:6800(10) ack 8049 win 131
09:46:41.625667 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6800 win 16233
09:47:41.422821 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6800:6810(10) ack 8049 win 131
09:47:41.620014 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6810 win 16230
09:48:41.423702 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6810:6820(10) ack 8049 win 131
09:48:41.627348 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6820 win 16228
09:49:41.424378 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6820:6830(10) ack 8049 win 131
09:49:41.626679 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6830 win 16225
09:50:41.425243 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6830:6840(10) ack 8049 win 131
09:50:41.628150 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6840 win 16223
09:51:41.426463 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6840:6850(10) ack 8049 win 131
09:51:41.623483 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6850 win 16220
09:52:41.427034 IP 192.168.yyy.yyy.1521 > 192.168.xxx.xxx.53119: P 6850:6860(10) ack 8049 win 131
09:52:41.623829 IP 192.168.xxx.xxx.53119 > 192.168.yyy.yyy.1521: . ack 6860 win 16218
--以后才是每隔1分钟1个。
--看来以后看文档要仔细一些,不知道oracle为什么要这样设计!!!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-1815307/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/267265/viewspace-1815307/