CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

DBA应当如何查看Oracle数据库连接情况

作者: fen,  出处:赛迪网, 责任编辑: 唐小若, 
2008-09-03 10:38
  在实际的工作中,数据库管理员(DBA)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要DBA自行手工进行清理。

  在实际的工作中,数据库管理员(DBA)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要DBA自行手工进行清理。

  下面的SQL语句列出当前数据库建立的会话情况:

      select sid,serial#,username,program,machine,status
  from v$session;

  输出的结果:

   SID SERIAL# USERNAME PROGRAM MACHINE STATUS
  ---- ------- ---------- ----------- --------------- --------
  1 1 ORACLE.EXE WORK3 ACTIVE
  2 1 ORACLE.EXE WORK3 ACTIVE
  3 1 ORACLE.EXE WORK3 ACTIVE
  4 1 ORACLE.EXE WORK3 ACTIVE
  5 3 ORACLE.EXE WORK3 ACTIVE
  6 1 ORACLE.EXE WORK3 ACTIVE
  7 1 ORACLE.EXE WORK3 ACTIVE
  8 27 SYS SQLPLUS.EXE WORKGROUP\WORK3 ACTIVE
  11 5 DBSNMP dbsnmp.exe WORKGROUP\WORK3 INACTIVE

  其中SID 会话(session)的ID号;

  SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;

  USERNAME 建立该会话的用户名;

  PROGRAM 这个会话是用什么工具连接到数据库的;

  STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;

  假如DBA要手工断开某个会话,则执行:

      alter system kill session 'SID,SERIAL#';

  注意:

  在上面的示例中,SID为1到7(USERNAME列为空)的会话,它是Oracle数据库的后台进程,请大家不要对这些会话进行任何操作。

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i