一、概述:
今天在齐鲁IT联盟群里一哥们问,v$sesion和v$license中sessions_current的区别,情况如下所示:
问题:怎么查出来这两个差别这么大啊?(此处并非当时数据,相对会话数比较少),其实本人之前并未查看过v$license视图,借此机会了解一下
二:处理过程:
首先去官方查看了两个视图的解释,具体如下:
好,我们再看其中v$license列的信息:
从上面信息我们可以得知,v$license主要用途为查看授权限制及相关信息,我们可以通过它活动历史最大会话数(sessions_highwater),及用户当前会话数(sessions_current)。
OK,下面我们看一下下面的查询结果:
通过上面的查询结果,我们可以看出session_current=v$session 用户会话数=USER(TYPE)=ACTIVE+INACTIVE,也就是session_current不包含Oracle系统会话(后台活动)数。
三、总结
简单几条查询语句,说明了它们的关系,其实动动脑再动动手好多问题都很容易的被解决,那句话真好,态度决定一切,不管何时,希望自己端正好态度,好好加油。
----文盲筱烨 2015年6月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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29487349/viewspace-1694901/