sqlplus连接数的测试

作者: admin 分类: 公众号存档            0 次浏览 发布时间: 2014-03-17 09:28

公众号:杨建荣的学习笔记 · 作者:笔记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

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注