在oracle中,可以利用select語句來配合「v$session」來查詢資料庫的會話數量,在「v$session」檢視中包含了資料庫實例中的每一個會話記錄,語法為「select count (*) 從 v$session;」。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
查看系統目前會話的連線數語法如下:
select count(*) from v$session;
#修改資料庫最大會話數:#
alter system set processes=500 scope=spfile (在命令模式下执行)
show parameters processes;
show parameters open_links;
擴充知識:##會話( Session) 是通訊雙方從開始通訊到通訊結束期間的一個上下文(Context)。這個上下文是一段位於伺服器端的記憶體:記錄了本次連接的客戶端機器、透過哪個應用程式、哪個使用者登入等資訊.
我們可以透過oracle視圖v$session來查看目前資料庫中的所有會話訊息,其中該視圖有一列為status標誌會話狀態,oracle官方文檔對這一列定義如下
STATUS VARCHAR2(8) Status of the session: ACTIVE - Session currently executing SQL INACTIVE KILLED - Session marked to be killed CACHED - Session temporarily cached for use by Oracle*XA SNIPED - Session inactive, waiting on the client
透過我們遇到的都是ACTIVE,INACTIVE,KILLED三種狀態
1、active 會話處於活動狀態,當前session正在執行sql語句
2、inactive會話處於不活動狀態,sql語句已經執行完畢,但是由於某種原因,會話和後台進程沒有釋放,透過我們在sqlplus中退出和類似plsql developer工具log out或直接退出,都是直接關閉會話,而不是將會話置於inactive狀態,下面以sqlplus指令為例
[oracle@oracle11g ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Thu May 23 23:09:30 2013 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select count(*) from v$process; COUNT(*) ---------- 30 SQL>
推薦教學:《
Oracle影片教學以上是oracle怎麼查詢會話數的詳細內容。更多資訊請關注PHP中文網其他相關文章!