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



原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-03-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据和云

运维技巧 - 活用临时表隔离冷热数据

编辑手记:Oracle给了我们很多工具,在日常数据库管理中活用这些工具方可发挥最大效能。 作者简介: 张洪涛 富士康 DBA 在数据库监控过程中发现考勤数据...

4045
来自专栏WindCoder

MySQL中INSERT INTO SELECT的应用

这种方法常用在目标表已经存在数据库中.需要从源表把数据插入到目标表的情况.如果目标表和源表的列相同,就不必列出数据列了.(未完待续,另参考资料中重复项太多,暂且...

1.1K1
来自专栏互联网开发者交流社区

SQL触发器实例(上)

1664
来自专栏奇梦博客

Xiuno BBS 4.0 表结构 XiunoBBS

1061
来自专栏www.96php.cn

mysql 快速生成百万条测试数据

1、生成思路 利用mysql内存表插入速度快的特点,先利用函数和存储过程在内存表中生成数据,然后再从内存表插入普通表中 2、创建内存表及普通表 CREATE T...

66812
来自专栏码农二狗

mysql无符号整型溢出

1314
来自专栏数据库新发现

CTAS、Nologging以及数据库运行模式

http://www.itpub.net/showthread.php?threadid=242761

1274
来自专栏pangguoming

oracle的行级触发器使用

行级触发器: 当触发器被触发时,要使用被插入、更新或删除的记录中的列值,有时要使用操作前、后列的值. :NEW 修饰符访问操作完成后列的值 :OLD 修饰符访问...

3345
来自专栏java系列博客

关于ORACLE merge into 的两个常见错误

1.8K3
来自专栏数据分析

[数据库基础]——编码标准之结构

数据库是由若干表构成,表是由数据行构成,数据行由若干列组成。由于数据库这样的结构,这就要求我们在构成数据库表时,需要注意一些问题。现在提出一些注意的问题。 1....

3375

扫码关注云+社区

领取腾讯云代金券