• 黔江:1000余亩蓝莓成熟 市民乐享“莓”好时光 2019-05-22
  • 【周展安】重新认识《在延安文艺座谈会上的讲话》的现实意义 2019-05-22
  • 十九大代表卢丽安利用周末与在沪台胞分享她参会心得  2019-05-19
  • (两会受权发布)最高人民法院院长简历 2019-05-14
  • 巫山县大峡村:深度贫困村的脱贫之变 2019-05-12
  • “关注泌尿健康”三金片媒体沙龙北京站 2019-05-09
  • 人民网评:教师欠薪为何又成新闻了? 2019-05-07
  • 涪陵:全国人大代表刘家奇院坝讲“两会” 乡亲点赞“六子致富经” 2019-05-07
  • 海南将与香港携手开拓国际客源市场--旅游频道 2019-05-01
  • 赵孟頫:书法大师是怎么炼成的? 2019-04-28
  • 只看到“贫穷”而看不到“富裕”,只看到贫富差别而看不到其根源是社会财富被个人占为私有的私有制,都是片面错误的。 2019-04-25
  • 紫光阁中共中央国家机关工作委员会 2019-04-25
  • 大众因“排放门”被罚10亿欧元 外媒:处罚还没完 2019-04-11
  • 俄罗斯足球队50横扫沙特队真是让人大饱眼福,特提精神!俄罗斯是战斗民族名不虚传。 2019-04-09
  • 西安启动唐长安城明德门遗址保护工程 2019-04-07
  • 今天看啥
      热点:

        新疆35选7的开奖号 www.ts3ne.com

        使用10053事件跟踪的几种方法,10053事件几种方法


         

        10053事件:Event 10053 is an internal event that externalises some of the decisions made by the optimizer in to a trace file.

        对于10053更多的介绍,这里不再重复

         

        注:使用10053事件跟踪之前确保 TRACE_ENABLED 参数的值是TRUE

         

        下面例举三种使用10053事件跟踪的方式

        1.使用传统alter session 

        2.使用oradebug

        3.使用DBMS_SQLDIAG 包

         

         

        方法一:使用传统alter session 的方式

         

         -- 清空共享池

        SQL> alter system flush shared_pool;

        --设置dump文件大小无限制

        SQL> alter session set max_dump_file_size = unlimited;

        Session altered.

        --开启10053跟踪

        SQL> alter session set events '10053 trace name context forever, level 1';

        Session altered.

        --执行需要跟踪的SQL语句

        SQL> EXPLAIN PLAN FOR select empno,deptno,sal from emp where empno >= 7788;

        Explained.

        --查找trace文件路径

        SQL> SELECT value FROM v$diag_info  WHERE name='Default Trace File';

        VALUE
        --------------------------------------------------------------------------------
        /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_18679.trc

        SQL> exit

        查看 trace 文件  /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_18679.trc 获取跟踪结果

        示例如下:

        PARAMETERS USED BY THE OPTIMIZER
        ********************************
        *************************************
        PARAMETERS WITH ALTERED VALUES
        ******************************
        Compilation Environment Dump
        sqlstat_enabled = true
        is_recur_flags = 8
        Bug Fix Control Environment


        *************************************
        PARAMETERS WITH DEFAULT VALUES
        ******************************
        Compilation Environment Dump
        optimizer_mode_hinted = false
        optimizer_features_hinted = 0.0.0
        parallel_execution_enabled = true
        parallel_query_forced_dop = 0
        parallel_dml_forced_dop = 0

        ..................................................

        注:10053跟踪的trace文件,不能使用tkprof工具来处理,只能阅读原trace文件。tkprof工具只能用来处理sql_trace 和 10046事件产生的trace文件。

         

        跟踪其它会话的方式:

        sqlplus scott/oracle

        SQL> select sid,serial# from v$session where sid=(select sid from v$mystat where rownum <=1);

         SID  SERIAL#
        ---------- ----------
           22          339

         

        --开启对sid 对22的10053会话跟踪

        sqlplus / as sysdba

        SQL> EXEC SYS.DBMS_SYSTEM.SET_EV (22, 339, 10053,1, '');

        PL/SQL procedure successfully completed.

         

        --scott用户执行相关操作

        SQL> select empno,sal from emp where empno=7900;

        EMPNO   SAL
        ---------- ----------
         7900       8000

         

        --关闭跟踪

        SQL> EXEC SYS.DBMS_SYSTEM.SET_EV (22, 339, 10053,0, '');

        PL/SQL procedure successfully completed.

         

        --查看trace 文件,获取跟踪结果

        SQL> SELECT value FROM v$diag_info WHERE name='Default Trace File';

        VALUE
        --------------------------------------------------------------------------------
        /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_18940.trc

         

         

         

        方法二:使用oradebug 的方式

         

        -- 清空共享池

        SQL> alter system flush shared_pool;

        System altered.

         

        --查找需要被跟踪用户进程的OS PID

        sqlplus scott/oracle

        SQL> select spid from v$process where addr=(select paddr from v$session where sid=(select sid from v$mystat where rownum <=1));

        SPID
        ------------
        19003

        --开启对指定会话的跟踪

        sqlplus / as sysdba

        --设置OS PID

        SQL> oradebug setospid 19003
        Oracle pid: 32, Unix process pid: 19003, image: [email protected] (TNS V1-V3)

        --不限制跟踪文件大小
        SQL> oradebug unlimit;
        Statement processed.

        --开启10053事件跟踪
        SQL> oradebug event 10053 trace name context forever,level 1
        Statement processed.

        --执行需要跟踪的相关SQL

        SQL> select e.ename,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno;

        --关闭跟踪

        SQL> oradebug event 10053 trace name context off;
        Statement processed.

        --显示trace文件路径
        SQL> oradebug tracefile_name
        /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_19003.trc

         

        查看 /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_19003.trc 获取10053跟踪结果

         

         

         

        方法三:使用DBMS_SQLDIAG 包的方式(此方式要求数据库版本在11gR2之上)

         

        sqlplus scott/oracle

        SQL> select empno,deptno,sal from emp where empno >= 7788;

         

        SQL> select sql_id, child_number, sql_text from v$sql
          where sql_text like '%7788%' and sql_text not like '%v$sql%' ;

           SQL_ID             CHILD_NUMBER             SQL_TEXT
        ----------------              ------------             ----------------------------------------------------------------------------------
        5s4ny8pxtdkyf                 0                       select empno,deptno,sal from emp where empno >= 7788

         

        SQL> execute DBMS_SQLDIAG.DUMP_TRACE(p_sql_id=>'5s4ny8pxtdkyf', p_child_number=>0, p_component=>'Optimizer', p_file_id=>'SQL_TRACE_10053');

        PL/SQL procedure successfully completed.

         

        SQL> SELECT value FROM v$diag_info WHERE name='Default Trace File';

        VALUE
        ------------------------------------------------------------------------------------------------------------
        /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_19052_SQL_TRACE_10053.trc

         

        查看文件/u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_19052_SQL_TRACE_10053.trc 获取跟踪结果

         

        新疆35选7的开奖号 www.ts3ne.comtrue//www.ts3ne.com/oracle/1316430.htmlTechArticle使用10053事件跟踪的几种方法,10053事件几种方法 10053事件:Event 10053 is an internal event that externalises some of the decisions made by the optimizer in to...

        相关文章

          暂无相关文章
        相关搜索:

        帮客评论

        视觉看点
      • 黔江:1000余亩蓝莓成熟 市民乐享“莓”好时光 2019-05-22
      • 【周展安】重新认识《在延安文艺座谈会上的讲话》的现实意义 2019-05-22
      • 十九大代表卢丽安利用周末与在沪台胞分享她参会心得  2019-05-19
      • (两会受权发布)最高人民法院院长简历 2019-05-14
      • 巫山县大峡村:深度贫困村的脱贫之变 2019-05-12
      • “关注泌尿健康”三金片媒体沙龙北京站 2019-05-09
      • 人民网评:教师欠薪为何又成新闻了? 2019-05-07
      • 涪陵:全国人大代表刘家奇院坝讲“两会” 乡亲点赞“六子致富经” 2019-05-07
      • 海南将与香港携手开拓国际客源市场--旅游频道 2019-05-01
      • 赵孟頫:书法大师是怎么炼成的? 2019-04-28
      • 只看到“贫穷”而看不到“富裕”,只看到贫富差别而看不到其根源是社会财富被个人占为私有的私有制,都是片面错误的。 2019-04-25
      • 紫光阁中共中央国家机关工作委员会 2019-04-25
      • 大众因“排放门”被罚10亿欧元 外媒:处罚还没完 2019-04-11
      • 俄罗斯足球队50横扫沙特队真是让人大饱眼福,特提精神!俄罗斯是战斗民族名不虚传。 2019-04-09
      • 西安启动唐长安城明德门遗址保护工程 2019-04-07