ITPub博客

首页 > 数据库 > Oracle > 【SESSION】v$session and v$license 中sessions_current 的区别

【SESSION】v$session and v$license 中sessions_current 的区别

原创 Oracle 作者:xysoul_云龙 时间:2015-06-10 21:15:48 0 删除 编辑
一、概述:

          今天在齐鲁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博客 ” ,链接:https://blog.itpub.net/29487349/viewspace-1694901/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
主要从事Oracle数据库 DBA相关工作,其他操作系统、中间件等也有涉及,热衷分享。岁月老将至,如有幸在江湖中留点踪迹,也是欣慰。 【文盲筱烨】好读书爱运动的IT技术爱好者 微博:文盲筱烨 微信公众号:筱烨视点

注册时间:2014-02-15

  • 博文量
    412
  • 访问量
    1104586