sqlplus连接数的测试

时间:2022-05-04
本文章向大家介绍sqlplus连接数的测试,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

最近测试库上会有很多的连接的问题,很多都是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