• ORACLE学习笔记性能优化1


    1. 查询正在执行语句的执行计划(也就是实际语句执行计划)
        select * from v$sql_plan where hash_value = (select sql_hash_value from v$session where sid = 1111);
        其中id和parent_id表示了执行数的结构,数值最大的为最先执行

    比如

    ID  PARENT_ID   
    -------------   

    1 0
    2 1
    3 2
    4 3
    5 4
    6 3   

     

    则执行计划树为
                  0
                  1
                  2
                  3
               6     4 
                      5


    2.如何设置自动跟踪
      用system登录
      执行$ORACLE_HOME/rdbms/admin/utlxplan.sql创建计划表
      执行$ORACLE_HOME/sqlplus/admin/plustrce.sql创建plustrace角色
      如果想计划表让每个用户都能使用,则
      SQL>create public synonym plan_table for plan_table;
      SQL> grant all on plan_table to public;

      如果想让自动跟踪的角色让每个用户都能使用,则
      SQL> grant plustrace to public;
      通过如下语句开启/停止跟踪
      SET AUTOTRACE ON |OFF | ON EXPLAIN | ON STATISTICS | TRACEONLY | TRACEONLY EXPLAIN

    3.如何跟踪自己的会话或者是别人的会话
      跟踪自己的会话很简单
      Alter session set sql_trace true|false
      Or
      Exec dbms_session.set_sql_trace(TRUE);

      如果跟踪别人的会话,需要调用一个包
      exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false)

      跟踪的信息在user_dump_dest 目录下可以找到或通过如下脚本获得文件名称(适用于Win环境,如果是unix需要做一定修改)
      SELECT p1.value||'\'||p2.value||'_ora_'||p.spid||'.ora' filename
      FROM
      v$process p,
      v$session s,
      v$parameter p1,
      v$parameter p2
      WHERE p1.name = 'user_dump_dest'
      AND p2.name = 'db_name'
      AND p.addr = s.paddr
      AND s.audsid = USERENV ('SESSIONID')
      最后,可以通过Tkprof来解析跟踪文件,如
      Tkprof 原文件 目标文件 sys=n

    4.怎么设置整个数据库系统跟踪
      其实文档上的alter system set sql_trace=true是不成功的,但是可以通过设置事件来完成这个工作,作用相等
      alter system set events
      '10046 trace name context forever,level 1';

      如果关闭跟踪,可以用如下语句
      alter system set events
      '10046 trace name context off';

    其中的level 1与上面的8都是跟踪级别
      level 1:跟踪SQL语句,等于sql_trace=true
      level 4:包括变量的详细信息
      level 8:包括等待事件
      level 12:包括绑定变量与等待事件

  • 相关阅读:
    第十六周学习进度报告
    个人课程总结
    第一阶段意见评论
    用户评价
    第二阶段10
    第二阶段9
    第二阶段8
    第十五周学习进度报告
    第二阶段7
    第二阶段6
  • 原文地址:https://www.cnblogs.com/einyboy/p/2493518.html
Copyright © 2020-2023  润新知