今天在齐鲁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日 周三晚