zoukankan      html  css  js  c++  java
  • 轨道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.



  • 相关阅读:
    hdu 4963(中途相遇法)
    UVALive 6869(后缀数组)
    AC自动机小结
    poj 2409+2154+2888(Burnside定理)
    HUST 1569(Burnside定理+容斥+数位dp+矩阵快速幂)
    bunoj 34990(hash)
    CSU 1506(最小费用最大流)
    CF 514C(hash)
    lightoj 1297(三分)
    lightoj 1179(线段树)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4599847.html
Copyright © 2011-2022 走看看