设为首页 加入收藏

TOP

追踪sql会话dbms_monitor
2015-07-24 11:33:27 来源: 作者: 【 】 浏览:3
Tags:追踪 sql 会话 dbms_monitor

经常会遇到一个会话中存在sql性能问题,但无法定位哪一个sql导致DB性能问题较高,这是我们需要对这个session进行监控可以通过dbms_monitor包来实现。

首先确定要监控的会话sid及serial#,可以通过v$session视图获得

select sid, serial#, username from v$session where ...

确定session后,调用dbms_monitor包的session_trace_enable过程:

SQL> exec dbms_monitor.session_trace_enable(session_id=>198, serial_num=> 7, waits=>true, binds=>true);

PL/SQL procedure successfully completed.
这个例子选择了对等待信息及绑定变量的跟踪。

追踪整个会话的资源成本使用很高,一般会收集如下信息:

会话中各个sql的逻辑、物理读

cpu及运行时间

sql处理的行数

库缓存的未命中数

提交及回滚次数

记录每条语句的实际执行计划的行运算

每条sql语句的等待事件

可选参数:

session_id 标识所要追踪会话的sid,如果忽略讲会追踪所有会话。

serial_num 会话的顺序号。

waits 是否获取等待事件信息

binds 是否获取绑定变量的信息

关闭会话追中

SQL> exec dbms_monitor.session_trace_disable(session_id=>198, serial_num=> 7);

PL/SQL procedure successfully completed.
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇centos下安装cmake 下一篇【翻译自mos文章】对dba_users视..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C语言中如何将结构体 (2025-12-24 22:20:09)
·纯C语言结构体成员变 (2025-12-24 22:20:06)
·C语言中,指针函数和 (2025-12-24 22:20:03)
·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)