Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11094
  • 博文数量: 2
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2014-02-15 19:01
个人简介

植根于内心的修养;无须提醒的自觉;以约束为前提的自由;为他人着想的善良。IT男,跑步、读书、旅行、球迷。邮箱:longzhimeng99@sina.com

文章分类
文章存档

2015年(2)

我的朋友

分类: Oracle

2015-06-10 21:22:09

一、概述:


          今天在齐鲁IT联盟群里一哥们问,v$sesion和v$license中sessions_current的区别,情况如下所示

点击(此处)折叠或打开

  1. SQL> select banner from v$version;


  2. BANNER
  3. --------------------------------------------------------------------------------
  4. Oracle Database 11g Enterprise Edition Release 11.2.0.4.- 64bit Production
  5. PL/SQL Release 11.2.0.4.- Production
  6. CORE 11.2.0.4.0 Production
  7. TNS for Linux: Version 11.2.0.4.- Production
  8. NLSRTL Version 11.2.0.4.- Production


  9. SQL> select SESSIONS_CURRENT,SESSIONS_HIGHWATER from v$license;


  10. SESSIONS_CURRENT SESSIONS_HIGHWATER
  11. ---------------- ------------------
  12.                3 11


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


  14.   COUNT(*)
  15. ----------
  16.         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列的信息


点击(此处)折叠或打开

  1. SESSIONS_MAX NUMBER Maximum number of concurrent user sessions allowed for the instance
  2. SESSIONS_WARNING NUMBER Warning limit for concurrent user sessions for the instance
  3. SESSIONS_CURRENT NUMBER Current number of concurrent user sessions
  4. SESSIONS_HIGHWATER NUMBER Highest number of concurrent user sessions since the instance started
  5. USERS_MAX NUMBER Maximum number of named users allowed for the database
  6. ………………………………

从上面信息我们可以得知,v$license主要用途为查看授权限制及相关信息,我们可以通过它活动历史最大会话数(sessions_highwater),及用户当前会话数(sessions_current)。


OK,下面我们看一下下面的查询结果:

点击(此处)折叠或打开

  1. SQL> select SESSIONS_CURRENT,SESSIONS_HIGHWATER from v$license;


  2. SESSIONS_CURRENT SESSIONS_HIGHWATER
  3. ---------------- ------------------
  4.                4 11


  5. SQL> select count(*),type,status from v$session group by type,status;


  6.   COUNT(*) TYPE STATUS
  7. ---------- ---------- --------
  8.          3 USER INACTIVE
  9.          1 USER ACTIVE
  10.         21 BACKGROUND ACTIVE


通过上面的查询结果,我们可以看出session_current=v$session 用户会话数=USER(TYPE)=ACTIVE+INACTIVE,也就是session_current不包含Oracle系统会话(后台活动)数。




三、总结


   简单几条查询语句,说明了它们的关系,其实动动脑再动动手好多问题都很容易的被解决,那句话真好,态度决定一切,不管何时,希望自己端正好态度,好好加油。


                                
     --文盲筱烨 2015年6月10日 周三晚

阅读(1456) | 评论(0) | 转发(0) |
0

上一篇:博客地址

下一篇:没有了

给主人留下些什么吧!~~