【SESSION】v$session and v$license 中sessions_current 的區別

xysoul_雲龍發表於2015-06-10
一、概述:

          今天在齊魯IT聯盟群裡一哥們問,v$sesion和v$license中sessions_current的區別,情況如下所示:

SQL> select banner from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

SQL> select SESSIONS_CURRENT,SESSIONS_HIGHWATER from v$license;

SESSIONS_CURRENT SESSIONS_HIGHWATER
---------------- ------------------
               3 11

SQL> select count(*) from v$session where status=\'ACTIVE\'; 

  COUNT(*)
----------
        24


 問題:怎麼查出來這兩個差別這麼大啊?(此處並非當時資料,相對會話數比較少),其實本人之前並未檢視過v$license檢視,藉此機會瞭解一下


二:處理過程:
    
首先去官方檢視了兩個檢視的解釋,具體如下:
    
檢視名字
 描述
v$license
This view contains information about license limits
v$session
 This view lists session information for each current session

好,我們再看其中v$license列的資訊:

SESSIONS_MAX    NUMBER    Maximum number of concurrent user sessions allowed for the instance
SESSIONS_WARNING    NUMBER    Warning limit for concurrent user sessions for the instance
SESSIONS_CURRENT    NUMBER    Current number of concurrent user sessions
SESSIONS_HIGHWATER    NUMBER    Highest number of concurrent user sessions since the instance started
USERS_MAX    NUMBER    Maximum number of named users allowed for the database
………………………………


從上面資訊我們可以得知,v$license主要用途為檢視授許可權制及相關資訊,我們可以透過它活動歷史最大會話數(sessions_highwater),及使用者當前會話數(sessions_current)。

OK,下面我們看一下下面的查詢結果:
SQL> select SESSIONS_CURRENT,SESSIONS_HIGHWATER from v$license;

SESSIONS_CURRENT SESSIONS_HIGHWATER
---------------- ------------------
               4 11
SQL> select count(*),type,status from v$session group by type,status;

  COUNT(*) TYPE STATUS
---------- ---------- --------
         3 USER INACTIVE
         1 USER ACTIVE
        21 BACKGROUND ACTIVE


透過上面的查詢結果,我們可以看出session_current=v$session 使用者會話數=USER(TYPE)=ACTIVE+INACTIVE,也就是session_current不包含Oracle系統會話(後臺活動)數。

三、總結

   簡單幾條查詢語句,說明了它們的關係,其實動動腦再動動手好多問題都很容易的被解決,那句話真好,態度決定一切,不管何時,希望自己端正好態度,好好加油。

                                
     ----文盲筱燁 2015年6月10日 週三晚


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-1694901/,如需轉載,請註明出處,否則將追究法律責任。

相關文章