PL/SQL DEVELOPER 6 会话管理
PL/SQL DEVELOPER 6 的会话管理功能非常出色,几可以完成所有常用的会话管理功能,主要功能有:
查询会话列表信息
结束会话
会话跟踪
导出会话信息
查询会话具体的详细信息
会话当前打开的游标
会话当前正在执行的 SQL
会话所有的统计信息
会话当前锁定的对象
还可以根据个人要求定制查询与会话相关的信息
下面我将全面介绍 PL/SQL DEVELOPER 6 会话管理功能:
打开 Tools/Sessions 菜单,会话窗口显示如下:
中间主区域显示的是当前 ORACLE 数据库的用户会话信息列表
底部显示的是选择会话的查询停息
** 用户会话信息列表比较常用的字段信息说明
**
Username :会话登录的 ORACLE 用户名
Sid :会话 SID 编号
Status :会话状态( ACTIVE :活动; INACTIVE :未活动; KILL :结束;)
Osuser :会话登录的机器操作系统用户名
Machine :会话登录的机器名
Program :会话登录的程序名
Module :会话注册的模块名
Action :会话注册的活动名
Logon time :会话登录时间
Process :会话在操作系统的进程号
** 会话管理工具栏说明
**
每个工具按顺序对应说明
l 刷新
l 自动刷新 ( 让当前会话窗口自动每隔几秒刷新一次 )
l 结束会话(结束当前选择的会话,相当于命令 alter system kill session )
l 开始跟踪(对当前选择的会话开始进行调试跟踪)
相当于执行过程 sys.dbms_system.set_sql_trace_in_session
注: 要进行此项功能当前登录用户必须拥用 SYS.DBMS_SYSTEM 的执行权限
你可以通过下面语句进行赋权。
grant execute on DBMS_SYSTEM to yourusername;
l 结束跟踪(对当前选择的会话结束调试跟踪)
l ** 定制会话查询(用于定制会话查询信息,具有很强的扩展功能)
**
**
**
** 会话查询信息说明
**
注:以下红色标注为本人定制查询或者是进行修改的地方。
l Cursors :返回当前选择会话打开的游标
对应的 SQL 语句:
select * from v$open_cursor where sid = :sid
l SQL Text :返回当前选择会话正在执行的 SQL
对应的 SQL 语句:
select sql_text from v$sqltext_with_newlines
where address = hextoraw(:sql_address)
and hash_value = :sql_hash_value
order by piece
l Statics :返回当前选择会话的数据库统计信息
对应的 SQL 语句:
select names.name, stats.statistic#, stats.value
from v$sesstat stats, v$statname names
where stats.sid = :sid
and names.Statistic# = stats.Statistic#
** order by stats.Value desc
**
l Locks ( SQL 语句进行过优化):返回当前选择会话锁定的对象
对应的 SQL 语句:
select * from sys.all_objects a, ** v$locked_object ** b where a.object_id=b.object_id and b.session_id=:sid
l ** Wait ** ** (本人个人定制查询):返回当前选择会话的等待信息
**
对应的 SQL 语句:
select * from v$session_wait where sid=:sid
l ** Event ** ** (本人个人定制查询):返回当前选择会话的事件信息
**
对应的 SQL 语句:
select * from v$session_event
where sid = :sid order by Total_waits desc
** 高级功能:定制会话查询
**
可以新增会话监视信息,本文中的 Wait 及 Event 信息就是本人通过定制会话查询增加进去的,新增一个项目后将在会话窗口中自动增加一个选项卡, Caption 为选项卡的标签, Query 为返回监视信息的查询语句,查询语句可以使用 v$session 视图中所有的字段为绑定变量,如 :sid , :username, :sql_address 等等。
2005-03-17
叶正盛