[20210115]sqlnet.ora设置sqlnet.expire_time断开时oracle如何探测.txt --//测试sqlnet.ora设置sqlnet.expire_time断开时oracle如何探测的,这个测试我以前做过,链接找不到了,重新测试加强记忆. 1.环境: SYS@192.168.31.8:1521/hrp430> @ ver1 PORT_STRING VERSION BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx 11.2.0.3.0 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production --//今天上午发现设置sqlnet.expire_time=1也不行.正好测试看看. $ grep sqlnet.expire_time $ORACLE_HOME/network/admin/sqlnet.ora sqlnet.expire_time=1 2.测试: --//服务端执行: # seq 100000 | xargs -IQ bash -c "netstat -tonp | grep 192.168.100.78:|ts.awk;sleep 0.999999" | tee aa.txt --//注:我sleep 0.999999可能避免一些命令执行时的误差.看了以前测试我以前这里使用tcpdump来跟踪的. --//客户端执行: $ rlsql sys/XXXX@192.168.31.8:1521/hrp430 as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Fri Jan 15 10:10:18 2021 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --//注登录后不要再执行任何命令,另外最好使用NTP保证客户端端与服务器时间同步,这样好诊断问题. --//剩下就是等待问题出现.如果你想模拟有不想等2*sqlnet.expire_time时间,注我这里设置很短,许多用户无法模拟这个问题的. --//可以拔掉客户端网线或者使用iptables阻塞连接(小心不要设置错误!!),并且服务端最好在tmux或者screen下操作,这样服务端的连接不会断开. 3.中间查看情况: # seq 100000 | xargs -IQ bash -c "netstat -tonp | grep 192.168.100.78:|ts.awk;sleep 0.999999" | tee aa.txt [2021-01-15 10:10:19] tcp 0 0 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 off (0.00/0/0) [2021-01-15 10:10:20] tcp 0 0 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 off (0.00/0/0) ... [2021-01-15 10:12:17] tcp 0 0 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 off (0.00/0/0) [2021-01-15 10:12:18] tcp 0 10 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (0.12/0/0) ~~~~~~~~~~~~~~~~~~~~~ [2021-01-15 10:12:19] tcp 0 10 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (0.24/2/0) --//注意看下划线内容,登录10:10:18,10:12:18断开正好2分钟. --//后面的状态从off变成on. 4.分析: --//出现on后大约等925秒(15分钟),连接就会断开.这个时候你可以出去聊天干别的事情. # seq 100000 | xargs -IQ bash -c "netstat -tonp | grep 192.168.100.78:|ts.awk;sleep 0.999999" | tee aa.txt [2021-01-15 10:27:45] tcp 0 160 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (5.03/15/0) [2021-01-15 10:27:46] tcp 0 160 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (3.90/15/0) [2021-01-15 10:27:47] tcp 0 160 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (2.77/15/0) [2021-01-15 10:27:48] tcp 0 160 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (1.65/15/0) [2021-01-15 10:27:49] tcp 0 160 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (0.52/15/0) --//(27-12)*60+49-18 = 931 断开.分析aa.txt文件. # awk '{print $10}' aa.txt | grep off|wc 105 105 420 --//105行,看来sleep 要设置0.99才行.正确占120秒. # grep off aa.txt | head -1 ; grep off aa.txt | tail -1 [2021-01-15 10:10:19] tcp 0 0 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 off (0.00/0/0) [2021-01-15 10:12:17] tcp 0 0 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 off (0.00/0/0) # grep on aa.txt | head -1 ; grep on aa.txt | tail -1 [2021-01-15 10:12:18] tcp 0 10 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (0.12/0/0) [2021-01-15 10:27:49] tcp 0 160 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (0.52/15/0) --//(27-12)*60+49-18 = 931 断开.分析aa.txt文件. # awk '{print $10}' aa.txt | grep on|wc 822 822 2466 # awk '{if ($10=="on") print $11}' aa.txt | cut -d'/' -f2| uniq -c 1 0 1 2 1 3 3 4 6 5 12 6 23 7 47 8 93 9 106 10 105 11 106 12 106 13 106 14 106 15 -//实际上最后几次探测120秒. # awk '{if ($10=="on") print $11}' aa.txt | cut -d'/' -f1,2 --output-delimiter=' ' | sed 's/^(//' >| aaa.txt # grep on aa.txt | head -4 [2021-01-15 10:12:18] tcp 0 10 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (0.12/0/0) [2021-01-15 10:12:19] tcp 0 10 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (0.24/2/0) [2021-01-15 10:12:20] tcp 0 10 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (0.76/3/0) [2021-01-15 10:12:21] tcp 0 10 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:7763 ESTABLISHED 27737/oraclehrp430 on (2.94/4/0) --//前面3次探测时间很短.不到1秒.前面从0-3的占2秒时间,注意探测从0开始到15,也就是探测16次. # seq 4 15 | xargs -IQ bash -c "grep ' Q' aaa.txt|head -1" | awk '{print $2 " " $1}' 4 2.94 5 6.16 6 12.59 7 25.45 8 52.26 9 104.95 10 119.15 11 118.86 12 119.80 13 119.71 14 119.44 15 119.38 # seq 4 15 | xargs -IQ bash -c "grep ' Q' aaa.txt|head -1" | awk '{print $2 " " int($1+1)}' 4 3 5 7 6 13 7 26 8 53 9 105 10 120 11 119 --> 下面计算选择120 12 120 13 120 14 120 15 120 --//3+7+13+26+53+105+120+120+120+120+120+120+2 = 929秒 --//还是换成tcpdump跟踪.重复测试: # seq 100000 | xargs -IQ bash -c "netstat -tonp | grep 192.168.100.78:|ts.awk;sleep 0.99" | tee bb.txt # tcpdump -i eth0 host 192.168.100.78 -nn -vv -w tcp.out # tcpdump -r tcp.out reading from file tcp.out, link-type EN10MB (Ethernet) 10:44:47.592896 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: S 2215388911:2215388911(0) win 14600 <mss 1440,sackOK,timestamp 3524648198 0,nop,wscale 7> 10:44:47.592903 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: S 581299505:581299505(0) ack 2215388912 win 5792 <mss 1460,sackOK,timestamp 2839961348 3524648198,nop,wscale 7> 10:44:47.593258 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: . ack 1 win 115 <nop,nop,timestamp 3524648199 2839961348> 10:44:47.593636 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: P 1:214(213) ack 1 win 115 <nop,nop,timestamp 3524648199 2839961348> 10:44:47.593646 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: . ack 214 win 54 <nop,nop,timestamp 2839961349 3524648199> 10:44:47.613375 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 1:9(8) ack 214 win 54 <nop,nop,timestamp 2839961368 3524648199> 10:44:47.613863 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: . ack 9 win 115 <nop,nop,timestamp 3524648220 2839961368> 10:44:47.613908 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: P 214:427(213) ack 9 win 115 <nop,nop,timestamp 3524648220 2839961368> 10:44:47.613971 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 9:41(32) ack 427 win 62 <nop,nop,timestamp 2839961369 3524648220> 10:44:47.615235 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: P 427:588(161) ack 41 win 115 <nop,nop,timestamp 3524648221 2839961369> 10:44:47.615382 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 41:168(127) ack 588 win 71 <nop,nop,timestamp 2839961370 3524648221> 10:44:47.616461 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: P 588:626(38) ack 168 win 115 <nop,nop,timestamp 3524648222 2839961370> 10:44:47.616576 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 168:386(218) ack 626 win 71 <nop,nop,timestamp 2839961372 3524648222> 10:44:47.617609 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: P 626:707(81) ack 386 win 123 <nop,nop,timestamp 3524648223 2839961372> 10:44:47.618946 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 386:412(26) ack 707 win 71 <nop,nop,timestamp 2839961374 3524648223> 10:44:47.620616 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: P 707:951(244) ack 412 win 123 <nop,nop,timestamp 3524648226 2839961374> 10:44:47.623234 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 412:802(390) ack 951 win 79 <nop,nop,timestamp 2839961378 3524648226> 10:44:47.624811 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: P 951:2337(1386) ack 802 win 131 <nop,nop,timestamp 3524648230 2839961378> 10:44:47.629411 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 802:1936(1134) ack 2337 win 101 <nop,nop,timestamp 2839961384 3524648230> 10:44:47.630500 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: P 2337:2397(60) ack 1936 win 149 <nop,nop,timestamp 3524648236 2839961384> 10:44:47.630587 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 1936:2115(179) ack 2397 win 101 <nop,nop,timestamp 2839961386 3524648236> 10:44:47.631110 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: P 2397:2410(13) ack 2115 win 167 <nop,nop,timestamp 3524648237 2839961386> 10:44:47.631195 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2115:2132(17) ack 2410 win 101 <nop,nop,timestamp 2839961386 3524648237> 10:44:47.631588 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: P 2410:2423(13) ack 2132 win 167 <nop,nop,timestamp 3524648237 2839961386> 10:44:47.631642 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2132:2149(17) ack 2423 win 101 <nop,nop,timestamp 2839961387 3524648237> 10:44:47.671774 IP 192.168.100.78.8592 > kkkkkzzz.ncube-lm: . ack 2149 win 167 <nop,nop,timestamp 3524648278 2839961387> 10:46:47.626867 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840081382 3524648278> --//10:44:47.671774 10:46:47.626867 间隔2分钟 10:46:47.832843 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840081588 3524648278> 10:46:48.244848 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840082000 3524648278> 10:46:49.068849 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840082824 3524648278> 10:46:50.716874 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840084472 3524648278> 10:46:54.012923 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840087768 3524648278> 10:47:00.605007 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840094360 3524648278> 10:47:13.789169 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840107544 3524648278> 10:47:40.156509 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840133912 3524648278> 10:48:32.893179 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840186648 3524648278> 10:50:18.364513 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840292120 3524648278> 10:52:18.365036 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840412120 3524648278> 10:54:18.364560 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840532120 3524648278> 10:56:18.365089 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840652120 3524648278> 10:58:18.364609 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840772120 3524648278> 11:00:18.348079 IP kkkkkzzz.ncube-lm > 192.168.100.78.8592: P 2149:2159(10) ack 2423 win 101 <nop,nop,timestamp 2840892120 3524648278> --//探测16次. --//截取前面时间,手工计算如下: 10:46:47.626867 10:46:47.832843 0.832843-0.626867 = .205976 10:46:48.244848 8.244848-7.832843 = .412005 10:46:49.068849 9.068849-8.244848 = .824001 10:46:50.716874 50.716874-49.068849 = 1.648025 10:46:54.012923 54.012923-50.716874 = 3.296049 10:47:00.605007 60.605007-54.012923 = 6.592084 10:47:13.789169 13.789169-00.605007 = 13.184162 10:47:40.156509 40.156509-13.789169 = 26.36734 10:48:32.893179 92.893179-40.156509 = 52.73667 10:50:18.364513 120+18.364513-32.893179 = 105.471334 10:52:18.365036 18.365036-18.364513+120 = 120.000523 10:54:18.364560 18.364560-18.365036+120 = 119.999524 10:56:18.365089 18.365089-18.364560+120 = 120.000529 10:58:18.364609 18.364609-18.365089+120 = 119.99952 11:00:18.348079 18.348079-18.364609+120 = 119.98347 --//在2021-01-15 11:02:17结束. # tail -1 bb.txt [2021-01-15 11:02:17] tcp 0 160 ::ffff:192.168.31.8:1521 ::ffff:192.168.100.78:8592 ESTABLISHED 3520/oraclehrp430 on (0.59/15/0) --//我单独截取时间使用bash shell计算看看. # cat aa1.txt 10:46:47.626867 10:46:47.832843 10:46:48.244848 10:46:49.068849 10:46:50.716874 10:46:54.012923 10:47:00.605007 10:47:13.789169 10:47:40.156509 10:48:32.893179 10:50:18.364513 10:52:18.365036 10:54:18.364560 10:56:18.365089 10:58:18.364609 11:00:18.348079 # cat aa1.txt | xargs -I{} date -d "2021/01/15 {}" "+%s.%N" | awk 'NR==1{a=$1} NR>1{print $1-a;a=$1}' 0.205976 0.412005 0.824001 1.64802 3.29605 6.59208 13.1842 26.3673 52.7367 105.471 120.001 120 120.001 120 119.983 -//开始间隔0.21秒,以后间隔2倍递增.到105秒后,按照120秒间隔(探测6次). # cat aa1.txt | xargs -I{} date -d "2021/01/15 {}" "+%s.%N" | awk 'NR==1{a=$1} NR>1{print $1-a;a=$1}' | paste -sd"+" | bc -l 810.722332 --//补上最后120秒,810.722332+120 = 930.722332. 5.总结: --//我个人并主张采用sqlnet.ora设置sqlnet.expire_time方式,12c以上除外.因为12c设置sqlnet.expire_time,采用的是 --//TCP KEEPALIVE套接字选项来检查连接是否仍然可用。 --//我以前就遇到dblink连接断开,SQL*Net message from dblink 出现awr报表的情况. --//链接 http://blog.itpub.net/267265/viewspace-2150510/ =>0124奇怪的SQL*Net message from dblink --//我当时的理解确实存在许多错误. --//找到以前测试的链接: http://blog.itpub.net/267265/viewspace-2150431/ -> [20180123]测试SQLNET.EXPIRE_TIME参数.txt
[20210115]sqlnet.ora设置sqlnet.expire_time断开时oracle如何探测.txt
来源:这里教程网
时间:2026-03-03 16:23:01
作者:
编辑推荐:
- [20210115]sqlnet.ora设置sqlnet.expire_time断开时oracle如何探测.txt03-03
- 2021年网站设计中的四个误区03-03
- [20210119]看执行计划可以使用hash_value.txt03-03
- [20210119]sqlplus 12c LOBPREFETCH.txt03-03
- [oracle]Oracle 12C-drop和truncate分区的异步全局索引维护03-03
- [oracle] 回收站对象多,导致表空间使用情况查询缓慢03-03
- [20210120]提示加入注解.txt03-03
- [20210120]in list与绑定变量个数.txt03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 干货 | 设计师必备中国风配色卡,快来收藏
干货 | 设计师必备中国风配色卡,快来收藏
26-03-03 - Thread 1 cannot allocate new log
Thread 1 cannot allocate new log
26-03-03 - Oracle database 19c中获取当前数据库版本的方法
Oracle database 19c中获取当前数据库版本的方法
26-03-03 - Oracle如何删除表中重复记录保留第一条
Oracle如何删除表中重复记录保留第一条
26-03-03 - Oracle网络服务基础(二)之监听器与TNS配置管理
Oracle网络服务基础(二)之监听器与TNS配置管理
26-03-03 - ORACLE 数据库业务用户密码重置慎用特殊字符
ORACLE 数据库业务用户密码重置慎用特殊字符
26-03-03 - oracle优化之生产系统不改代码解决SQL性能问题的几种方法
oracle优化之生产系统不改代码解决SQL性能问题的几种方法
26-03-03 - Oracle网络服务基础(一)之监听器概念
Oracle网络服务基础(一)之监听器概念
26-03-03 - Oracle 21c新特性预览与日常管理相关的几个新特性
Oracle 21c新特性预览与日常管理相关的几个新特性
26-03-03 - ora-00279 ora-00289 ora-00280
ora-00279 ora-00289 ora-00280
26-03-03
