ITPub博客

首页 > 数据库 > Oracle > oracle用户会话操作

oracle用户会话操作

Oracle 作者:hyhanya 时间:2013-09-02 22:22:00 0 删除 编辑

下面我将会对oracle用户会话的相关查询方法做下总结,希望可以对读者有所帮助~~

  • 1.查询用户会话:通过v$session视图查询所有用户的会话信息。

      select sid,logon_time,username,machine from v$session;  

  • 2.通过用户名和操作系统主机的分组查询用户会话信息

      select username,machine,count(*) from v$session group by username,machine

  • 3.通过会话序列号和会话标识符删除用户会话

      ALTER SYSTEM KILL SESSION 'v_sid,v_serial#' immediate;

  • 4.通过表gv$locked_object,dba_objects和gv$session查询哪些表被锁死,因为没有别锁定的,所以查询无结果。

      SELECT object_name, machine, s.sid, s.serial#

      FROM gv$locked_object l, dba_objects o, gv$session s

      WHERE l.object_id = o.object_id

      AND l.session_id = s.sid;

  • 5.通过表v$locked_object,v$session查询被锁住会话信息,根据login_time排序

      select b.username,b.sid,b.serial#,logon_time

      from v$locked_object a,v$session b

      where a.session_id = b.sid order by b.logon_time;

  • 6.通过表v$locked_object,dba_objects查询被锁住会话信息

     select b.owner,b.object_name,a.session_id,a.locked_mode

     from v$locked_object a,dba_objects b

     where b.object_id = a.object_id;

     第4,5,6因为没有锁住的会话,所以查询暂无结果。

  • 附录:视图v$session字段含义,便于理解查询的目的和结果。

SID         会话标识符

SADDR       会话地址  

SERIAL#     会话序列号 

USER#       数据库用户标识符 

USERNAME    数据库用户名称 

COMMAND     正在处理的命令 

STATUS      会话当前状态 

SCHEMA#     方案用户的标识符 

SCHEMANAME  方案用户的名称 

OSUSER      操作系统名称 

PROCESS     操作系统客户机进程 

MACHINE     操作系统主机 

TERMINAL    操作系统终端 

PROGRAM     操作系统程序名称 

TYPE        会话类型 

ACTION      正在执行的操作名称 

ACTION_HASH 对应于ACTION的HASH值 

LOGON_TIME  登录时间

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24070275/viewspace-1109235/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-06-10