sqlplus連線數的測試
最近測試庫上會有很多的連線的問題,很多都是jdbc連線的問題,在此基礎上我測試了一下sqlplus連線的情況,
根據sqlplus的命令,有conn,disc,disc會斷開連線。
我想如果不停的conn 而不disc,連線數會不會爆。
按照這個思路寫了下列的指令碼,大體如下。
sqlplus 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;
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 <
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
根據sqlplus的命令,有conn,disc,disc會斷開連線。
我想如果不停的conn 而不disc,連線數會不會爆。
按照這個思路寫了下列的指令碼,大體如下。
sqlplus TEST1/TEST1@test <
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 <
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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-776087/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 測試 mysql 的最大連線數MySql
- 測試連線
- dedicated server連線測試Server
- 自然連線的一個測試
- 測試rss與navicat連線
- python連線redis測試PythonRedis
- 簡單的hector連線casssandra測試
- 【JDBC】java連線池模擬測試 連線oracleJDBCJavaOracle
- java Jdbc連線oracle資料庫連線測試JavaJDBCOracle資料庫
- php連線mssql測試檔案PHPSQL
- Oracle 連線條件中帶有OR的測試Oracle
- 測試兩臺電腦的網路連線速度
- Sqlplus 多種連線方式SQL
- 使用UDL測試SQLServer連線問題SQLServer
- python連線資料庫測試Python資料庫
- 試用Redis安裝、php環境連線、測試RedisPHP
- JMeter MQTT 在連線測試場景中的使用JMeterMQQT
- 行連線的一點內部儲存測試!
- php7連線mysql測試程式碼PHPMySql
- hive表連線和oracle測試對比HiveOracle
- LoadRunner長連線效能測試指令碼指令碼
- socket測試遠端地址能否連線併為連線設定超時
- sqlplus連線資料庫的幾種方法SQL資料庫
- mysql的JDBC架包下載及簡單測試連線MySqlJDBC
- MySQL和Oracle中的半連線測試總結(一)MySqlOracle
- 透過WLAN測試驗證網路的連線性
- WEBLOGIC連線OracleRAC的負載均衡測試(轉載)WebOracle負載
- 用sqlplus遠端連線oracle命令SQLOracle
- 測試SQLPLUS的ARRAYSIZE對效能的影響SQL
- myeclipse 中java連線mysql、查詢測試EclipseJavaMySql
- C#測試資料庫連線是否成功C#資料庫
- Linux測試點對點連線速度工具Linux
- linux修改TCP連線數(centos實測)LinuxTCPCentOS
- 一個測試SQL2005連線的Java程式SQLJava
- Jboss的最大連線數
- 【JDBC】java連線池模擬測試連線Oracle資料庫指令碼參考JDBCJavaOracle資料庫指令碼
- 11.2 sqlplus新增連線是指定版本SQL
- sqlplus/RMAN/lsnrctl 等工具連線緩慢SQL