sqlplus连接数的测试
公众号:杨建荣的学习笔记 · 作者:笔记14天 · 发布:2014-03-17 09:28:32 · 原文链接
最近测试库上会有很多的连接的问题,很多都是jdbc连接的问题,在此基础上我测试了一下sqlplus连接的情况,
根据sqlplus的命令,有conn,disc,disc会断开连接。
我想如果不停的conn 而不disc,连接数会不会爆。
按照这个思路写了下列的脚本,大体如下。
sqlplus TEST1/TEST1@test <<EOF
select sid,serial#, count(*)from v\$session where username=’TEST1′ group by sid,serial#;
select count(*)from v\$session;
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username=’TESTO1′ group by sid,serial#;
select count(*)from v\$session;
conn TEST1/TEST1@test
select sid,serial#, count(*)from v\$session where username=’TEST1′ group by sid,serial#;
select count(*)from v\$session;
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username=’TESTO1′ group by sid,serial#;
select count(*)from v\$session;
……
可以复制很多如上的部分。
但是测试发现,session书依然没有变化。好像是自动关闭了一样。
把间隔时间加大,加入sleep,
sqlplus TEST1/TEST1@test <<EOF
select sid,serial#, count(*)from v\$session where username=’TEST1′ group by sid,serial#;
select count(*)from v\$session;
!sleep 2
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username=’TESTO1′ group by sid,serial#;
select count(*)from v\$session;
!sleep 2
!sleep 5
conn TEST1/TEST1@test
select sid,serial#, count(*)from v\$session where username=’TEST1′ group by sid,serial#;
select count(*)from v\$session;
!sleep 2
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username=’TESTO1′ group by sid,serial#;
select count(*)from v\$session;
!sleep 2
!sleep 5
…..
结果如下所示,sid对应的serial#会不停的增长。但是上一个session会自动断掉。session总数也不变,看来sqlplus会自动disc。看来性能很好。
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
———- ———- ———-
2941 9786 1
2955 51931 1
SQL>
COUNT(*)
———-
44
SQL>
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
———- ———- ———-
2955 51933 1
SQL>
COUNT(*)
———-
44
SQL>
SQL>
SQL> SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
———- ———- ———-
2941 9786 1
2955 51935 1
SQL>
COUNT(*)
———-
44
SQL>
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
———- ———- ———-
2955 51937 1
SQL>
COUNT(*)
———-
44
SQL>
SQL>
SQL> SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
———- ———- ———-
2941 9786 1
2955 51939 1
SQL>
COUNT(*)
———-
44
SQL>
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
———- ———- ———-
2955 51941 1
SQL>
COUNT(*)
———-
44
