zoukankan      html  css  js  c++  java
  • SQL Trace的使用示例

    SQL Trace的方法有好几种,详细可以参考
    http://www.eygle.com/case/Use.sql_trace.to.Diagnose.database.htm
    下面介绍一个基本的详细操作过程.

    以sys用户登录SQL PLUS
    SQL> alter system set timed_statistics=true;

    查询获得需要跟踪的session信息:
    SQL> select sid,serial#,username from v$session where username is not null;
    SID SERIAL# USERNAME
    ---------- ---------- ------------------------------
    8 2041 SYS
    9 437 ZLHIS

    记下要跟踪的操作员的那一行信息,把sid,serial#,username填入下面的命令中的对应参数中
    执行跟踪:
    SQL> exec dbms_system.set_ev(9,437,10046,12,'ZLHIS');

    PL/SQL procedure successfully completed.

    12 表示跟踪SQL,显示绑定变量值,并显示等待事件(9i支持)


    操作员在前台操作,例如:完成一笔收费业务

    结束跟踪:
    SQL> exec dbms_system.set_ev(9,437,10046,0,'ZLHIS');
    SQL> alter system set timed_statistics=false;

    然后,在Oracle服务器的udump目录就会生成跟踪文件
    D:\Oracle\admin\zyk\udump\ORA02016.TRC

    在操作系统命令行下用Oracle的工具tkprof分析跟踪文件
    c:\>tkprof d:\Oracle\admin\zyk\udump\ORA02016.TRC d:\Oracle\admin\zyk\udump\ORA02016.txt sort=fchela
    参数sort=fchela指按获取数据的等待时间排序(直接输入tkprof可以查到详细参数信息)
    再查看分析后的文件
    d:\Oracle\admin\zyk\udump\ORA02016.txt

    找出其中的异常SQL,或者可以搜索关键字ACCESS FULL,可以快速发现全表扫描的SQL,从而确定哪些索引失效

  • 相关阅读:
    面向对象--进阶
    组合补充--类的特殊成员
    面向对象--类,嵌套
    面向对象(初级)
    模块--包
    异常处理
    模块--3
    模块--2
    django环境处理
    Django使用中间件通过CORS方式解决跨域
  • 原文地址:https://www.cnblogs.com/zyk/p/374430.html
Copyright © 2011-2022 走看看