oracle enable broken,[20200219]strace跟踪设置ENABLE=BROKEN的情况.txt

[20200219]strace跟踪设置ENABLE=BROKEN的情况.txt

--//使用strace跟踪设置ENABLE=BROKEN的情况.

--//开始我以为使用strace-f跟踪sqlplus+连接串,就可以获得服务端与客户端进程的相关信息,实际上错了,

--//服务端端程序通过监听进程tnslsnr派生出来的,跟踪要跟踪2个进程。

1.环境:

SCOTT@book> @ ver1

PORT_STRING                    VERSION        BANNER

------------------------------ -------------- --------------------------------------------------------------------------------

x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

# echo /proc/sys/net/ipv4/tcp_keepalive* | xargs   -n 1  strings -1 -f

/proc/sys/net/ipv4/tcp_keepalive_intvl: 10

/proc/sys/net/ipv4/tcp_keepalive_probes: 4

/proc/sys/net/ipv4/tcp_keepalive_time: 20

$ grep SQLNET.EXPIRE_TIME $ORACLE_HOME/network/admin/sqlnet.ora

# SQLNET.EXPIRE_TIME = 1

--//如果不使用连接串,看到的结果如下:

$ strace -f -r -T   -e trace=socket,setsockopt sqlplus  scott/book

0.000000 socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 6 <0.000030>

SQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 19 08:58:49 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

0.017259 socket(PF_FILE, SOCK_STREAM, 0) = 7 <0.000024>

0.000219 socket(PF_FILE, SOCK_STREAM, 0) = 7 <0.000018>

Process 2729 attached

[pid  2729]      0.039015 socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 6 <0.000027>

[pid  2729]      0.004379 socket(PF_FILE, SOCK_STREAM, 0) = 6 <0.000022>

[pid  2729]      0.000204 socket(PF_FILE, SOCK_STREAM, 0) = 6 <0.000019>

[pid  2728]      0.017508 socket(PF_NETLINK, SOCK_RAW, 0) = 7 <0.000033>

[pid  2728]      0.000445 socket(PF_FILE, SOCK_STREAM, 0) = 7 <0.000022>

[pid  2728]      0.000201 socket(PF_FILE, SOCK_STREAM, 0) = 7 <0.000018>

SCOTT@book> @ spid

SID    SERIAL# PROCESS                  SERVER    SPID       PID  P_SERIAL# C50

---------- ---------- ------------------------ --------- ------ ------- ---------- --------------------------------------------------

3       1397 2728                     DEDICATED 2729        24        199 alter system kill session '3,1397' immediate;

--//你可以看到strace的前面有pid信息,与下面@spid的显示一致。

2.跟踪测试:

$ ps -ef | grep tnslsn[r]

oracle   47619     1  0 Jan15 ?        00:01:04 /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/tnslsnr LISTENER -inherit

--//tnslsnr进程=47619

$ strace -f -r -T   -e trace=socket,setsockopt -p 47619

Process 47619 attached with 3 threads - interrupt to quit

[pid 47620]      0.000000 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000027>

[pid 47620]      5.001175 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000026>

[pid 47620]      5.000811 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000027>

[pid 47619]      4.102688 setsockopt(13, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000025>

Process 2770 attached

Process 47619 suspended

Process 2771 attached

Process 47619 resumed

Process 2770 detached

[pid 47619]      0.002904 --- SIGCHLD (Child exited) @ 0 (0) ---

[pid  2771]      0.037125 socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 6 <0.000030>

[pid  2771]      0.008047 socket(PF_FILE, SOCK_STREAM, 0) = 4 <0.000025>

[pid  2771]      0.000228 socket(PF_FILE, SOCK_STREAM, 0) = 4 <0.000018>

[pid  2771]      0.006937 setsockopt(13, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000025>

[pid  2771]      0.001632 setsockopt(13, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0 <0.000039>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[pid 47620]      0.841315 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000030>

[pid 47620]      5.000698 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000028>

[pid 47620]      5.001081 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000026>

^CProcess 47619 detached

Process 47620 detached

Process 47621 detached

Process 2771 detached

$ strace -f -r -T   -e trace=socket,setsockopt sqlplus  scott/book@"(DESCRIPTION=(ENABLE=BROKEN)(CONNECT_DATA=(SERVICE_NAME=book)(SERVER = DEDICATED))(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))"

0.000000 socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 6 <0.000031>

SQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 19 09:01:53 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

0.016914 socket(PF_FILE, SOCK_STREAM, 0) = 7 <0.000026>

0.000244 socket(PF_FILE, SOCK_STREAM, 0) = 7 <0.000022>

0.004022 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 7 <0.000031>

0.000150 setsockopt(7, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0 <0.000018>

0.001047 setsockopt(7, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000022>

0.056857 setsockopt(7, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0 <0.000030>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0.025672 socket(PF_NETLINK, SOCK_RAW, 0) = 8 <0.000032>

0.000530 socket(PF_FILE, SOCK_STREAM, 0) = 8 <0.000027>

0.000259 socket(PF_FILE, SOCK_STREAM, 0) = 8 <0.000025>

SCOTT@book> @ spid

SID    SERIAL# PROCESS                  SERVER    SPID       PID  P_SERIAL# C50

---------- ---------- ------------------------ --------- ------ ------- ---------- --------------------------------------------------

3       1401 2769                     DEDICATED 2771        24        201 alter system kill session '3,1401' immediate;

--//服务端进程号=2771,客户端进程号=2769.

$ ls -l /proc/2769/fd

total 0

lrwx------ 1 oracle oinstall 64 2020-02-19 09:01:53 0 -> /dev/pts/1

lrwx------ 1 oracle oinstall 64 2020-02-19 09:04:26 1 -> /dev/pts/1

lrwx------ 1 oracle oinstall 64 2020-02-19 09:04:26 2 -> /dev/pts/1

lr-x------ 1 oracle oinstall 64 2020-02-19 09:04:26 3 -> /u01/app/oracle/product/11.2.0.4/dbhome_1/sqlplus/mesg/sp1us.msb

lr-x------ 1 oracle oinstall 64 2020-02-19 09:04:26 4 -> /u01/app/oracle/product/11.2.0.4/dbhome_1/sqlplus/mesg/sp2us.msb

lr-x------ 1 oracle oinstall 64 2020-02-19 09:04:26 5 -> /u01/app/oracle/product/11.2.0.4/dbhome_1/sqlplus/mesg/cpyus.msb

lr-x------ 1 oracle oinstall 64 2020-02-19 09:04:26 6 -> /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/mesg/ocius.msb

lrwx------ 1 oracle oinstall 64 2020-02-19 09:04:26 7 -> socket:[3017954]

--//文件句柄7对应socket。

$ ls -l /proc/2771/fd

total 0

lr-x------ 1 oracle oinstall 64 2020-02-19 09:04:57 0 -> /dev/null

l-wx------ 1 oracle oinstall 64 2020-02-19 09:04:57 1 -> /dev/null

lrwx------ 1 oracle oinstall 64 2020-02-19 09:04:57 13 -> socket:[2907877

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

l-wx------ 1 oracle oinstall 64 2020-02-19 09:04:57 2 -> /dev/null

lr-x------ 1 oracle oinstall 64 2020-02-19 09:04:57 3 -> /dev/null

lr-x------ 1 oracle oinstall 64 2020-02-19 09:04:57 4 -> /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/mesg/oraus.msb

lr-x------ 1 oracle oinstall 64 2020-02-19 09:04:57 5 -> /proc/2771/fd

lr-x------ 1 oracle oinstall 64 2020-02-19 09:04:57 6 -> /dev/zero

$ netstat -npo | egrep "2769|2771" 2>/dev/null

tcp        0      0 127.0.0.1:18535             127.0.0.1:1521              ESTABLISHED 2769/sqlplus        keepalive (8.68/0/0)

tcp        0      0 127.0.0.1:1521              127.0.0.1:18535             ESTABLISHED 2771/oraclebook     keepalive (8.68/0/0)

# lsof -p 2769,2771 -P -n | grep 127.0.0.1

sqlplus 2769 oracle    7u  IPv4 3017954       0t0       TCP 127.0.0.1:18535->127.0.0.1:1521 (ESTABLISHED)

oracle  2771 oracle   13u  IPv4 2907877       0t0       TCP 127.0.0.1:1521->127.0.0.1:18535 (ESTABLISHED)

--//完全能对上。

--//你可以发现在登录时,服务端与客户端执行都有setsockopt(N, SOL_SOCKET, SO_KEEPALIVE, [1], 4)信息。

3.再来看看不设置ENABLE=BROKEN的情况:

$ strace -f -r -T   -e trace=socket,setsockopt sqlplus  scott/book@"(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=book)(SERVER = DEDICATED))(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))"

0.000000 socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 6 <0.000032>

SQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 19 10:11:42 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

0.020282 socket(PF_FILE, SOCK_STREAM, 0) = 7 <0.000031>

0.000300 socket(PF_FILE, SOCK_STREAM, 0) = 7 <0.000025>

0.004632 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 7 <0.000034>

0.000853 setsockopt(7, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000033>

0.083796 socket(PF_NETLINK, SOCK_RAW, 0) = 8 <0.000035>

0.000468 socket(PF_FILE, SOCK_STREAM, 0) = 8 <0.000030>

0.000230 socket(PF_FILE, SOCK_STREAM, 0) = 8 <0.000032>

SCOTT@book> @ spid

SID    SERIAL# PROCESS                  SERVER    SPID       PID  P_SERIAL# C50

---------- ---------- ------------------------ --------- ------ ------- ---------- --------------------------------------------------

3       1421 9580                     DEDICATED 9582        24        210 alter system kill session '3,1421' immediate;

--//客户端没有执行setsockopt(N, SOL_SOCKET, SO_KEEPALIVE, [1], 4)设置。

$ strace -f -r -T   -e trace=socket,setsockopt -p 47619

Process 47619 attached with 3 threads - interrupt to quit

[pid 47619]      0.000000 setsockopt(13, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000021>

Process 9581 attached

Process 47619 suspended

Process 9582 attached

Process 47619 resumed

Process 9581 detached

[pid 47619]      0.002729 --- SIGCHLD (Child exited) @ 0 (0) ---

[pid  9582]      0.039506 socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 6 <0.000035>

[pid  9582]      0.009075 socket(PF_FILE, SOCK_STREAM, 0) = 4 <0.000031>

[pid  9582]      0.000279 socket(PF_FILE, SOCK_STREAM, 0) = 4 <0.000024>

[pid  9582]      0.007223 setsockopt(13, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000026>

[pid 47620]      2.556869 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000029>

[pid 47620]      5.000824 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000064>

^CProcess 47619 detached

Process 47620 detached

Process 47621 detached

Process 9582 detached

--//服务端没有执行setsockopt(N, SOL_SOCKET, SO_KEEPALIVE, [1], 4)设置。

$ netstat -npo 2>/dev/null | egrep "9580|9582"

tcp        0      0 127.0.0.1:1521              127.0.0.1:19381             ESTABLISHED 9582/oraclebook     off (0.00/0/0)

tcp      120      0 127.0.0.1:19381             127.0.0.1:1521              ESTABLISHED 9580/sqlplus        off (0.00/0/0)

4.修改sqlnet.ora呢?

$ grep SQLNET.EXPIRE_TIME $ORACLE_HOME/network/admin/sqlnet.ora

SQLNET.EXPIRE_TIME = 1

--//我以前提到过如果设置SQLNET.EXPIRE_TIME,这个参数优先。

$ strace -f -r -T   -e trace=socket,setsockopt sqlplus  scott/book@"(DESCRIPTION=(ENABLE=BROKEN)(CONNECT_DATA=(SERVICE_NAME=book)(SERVER = DEDICATED))(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))"

0.000000 socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 6 <0.000033>

SQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 19 09:16:57 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

0.016931 socket(PF_FILE, SOCK_STREAM, 0) = 7 <0.000024>

0.000223 socket(PF_FILE, SOCK_STREAM, 0) = 7 <0.000019>

0.004058 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 7 <0.000030>

0.000094 setsockopt(7, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0 <0.000018>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0.001108 setsockopt(7, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000130>

0.060822 setsockopt(7, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0 <0.000047>

0.009481 socket(PF_NETLINK, SOCK_RAW, 0) = 8 <0.000034>

0.000464 socket(PF_FILE, SOCK_STREAM, 0) = 8 <0.000026>

0.000221 socket(PF_FILE, SOCK_STREAM, 0) = 8 <0.000023>

$ strace -f -r -T   -e trace=socket,setsockopt -p 47619

Process 47619 attached with 3 threads - interrupt to quit

[pid 47620]      0.000000 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000026>

[pid 47619]      2.550287 setsockopt(13, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000022>

Process 3014 attached

Process 47619 suspended

Process 3015 attached

Process 47619 resumed

Process 3014 detached

[pid 47619]      0.003110 --- SIGCHLD (Child exited) @ 0 (0) ---

[pid  3015]      0.040166 socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 6 <0.000035>

[pid  3015]      0.008989 socket(PF_FILE, SOCK_STREAM, 0) = 4 <0.000032>

[pid  3015]      0.000270 socket(PF_FILE, SOCK_STREAM, 0) = 4 <0.000025>

[pid  3015]      0.007105 setsockopt(13, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000026>

[pid 47620]      2.390704 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000032>

[pid 47620]      5.000647 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 13 <0.000026>

^CProcess 47619 detached

Process 47620 detached

Process 47621 detached

Process 3015 detached

SCOTT@book> @ spid

SID    SERIAL# PROCESS                  SERVER    SPID       PID  P_SERIAL# C50

---------- ---------- ------------------------ --------- ------ ------- ---------- --------------------------------------------------

3       1413 3013                     DEDICATED 3015        24        206 alter system kill session '3,1413' immediate;

$ netstat -npo  | egrep " 3013| 3015"

(Not all processes could be identified, non-owned process info

will not be shown, you would have to be root to see it all.)

tcp        0      0 127.0.0.1:1521              127.0.0.1:18720             ESTABLISHED 3015/oraclebook     off (0.00/0/0)

tcp        0      0 127.0.0.1:18720             127.0.0.1:1521              ESTABLISHED 3013/sqlplus        keepalive (2.38/0/0)

--//你可以发现在11g下使用ENABLE=BROKEN,sqlnetora设置SQLNET.EXPIRE_TIME=1的情况下,客户端执行setsockopt(7, SOL_SOCKET, SO_KEEPALIVE, [1], 4)。

--//而服务端没有(后一列显示off)。

--//也就是11g设置SQLNET.EXPIRE_TIME,使用DCD探测没有使用TCP KEEPALIVE套接字选项来检查连接是否仍然可用。

--//实际上12c改变这种情况,12c会利用SQLNET.EXPIRE_TIME设置,使用DCD探测现在将使用TCP KEEPALIVE套接字选项来检查连接是否仍然可用。

--//测试18c的情况:

# grep -i SQLNET.EXPIRE_TIME /u01/app/oracle/product/18.0.0/db_home/network/admin/sqlnet.ora

SQLNET.EXPIRE_TIME=1

# echo /proc/sys/net/ipv4/tcp_keepalive* | xargs   -n 1  strings -1 -f

/proc/sys/net/ipv4/tcp_keepalive_intvl: 75

/proc/sys/net/ipv4/tcp_keepalive_probes: 9

/proc/sys/net/ipv4/tcp_keepalive_time: 7200

--//这是缺省设置。

SYS@192.168.x.x:1521/orclcdb> select BANNER from v$version;

BANNER

---------------------------------------------------------------------------

Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production

SYS@192.168.x.x:1521/orclcdb> @ spid

SID    SERIAL# PROCESS    SERVER     SPID   PID  P_SERIAL# C50

---------- ---------- ---------- ---------- ------ --- ---------- --------------------------------------------------

282      45262 6796:7500  DEDICATED  24503   70       6487 alter system kill session '282,45262' immediate;

# netstat -npo  | grep 24503

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (27.72/0/0)

--//这台服务器竟然使用tcp6.

# seq 1000 | xargs -IQ bash -c "netstat -npo 2>/dev/null | egrep 'ESTABLISHED 24503'| egrep 'oracleorclcdb|sqlplus' ;sleep 0.999"

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (13.75/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (12.65/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (11.54/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (10.42/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (9.31/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (8.19/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (7.09/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (5.98/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (4.88/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (3.76/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (2.65/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (1.55/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (0.44/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (5.35/0/0)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (4.24/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (3.14/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (2.02/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (0.92/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (53.94/0/0)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (52.82/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (51.74/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (50.63/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (49.52/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (48.41/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (47.30/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (46.19/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (45.08/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (43.98/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (42.87/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (41.77/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (40.65/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (39.53/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (38.42/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (37.32/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (36.22/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (35.11/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (34.00/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:52938      ESTABLISHED 24503/oracleorclcdb  keepalive (32.89/0/0)

^C

--//SQLNET.EXPIRE_TIME=1,相当于60秒。很奇怪netstat看到的分2部分,一部分是6->0,另一部分54->0 .加起来是6+54=60秒。

--//很奇怪的现象,注意看下划线部分。

--//我设置SQLNET.EXPIRE_TIME=2,看到的情况如下:

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (5.41/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (4.42/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (3.41/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (2.41/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (1.41/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (0.41/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (113.72/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (112.73/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (111.73/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (110.73/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (109.74/0/0)

tcp6       0      0 192.168.x.x:1521        192.168.yy.y:54086      ESTABLISHED 28143/oracleorclcdb  keepalive (108.74/0/0)

--// 114+6 = 120.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值