• [ORACE] Oracle trace 之二10046事件


    10045事件是对SQL_TRACE 的增强通过10046可以看到ORACLE内核执行SQL_TRACE跟踪操作
    SQL_TRACE的增强 'SQL_TRACE wait=false,bind=true',可以获得

    1.级别
        1 --标准SQL的SQL_TRACE
        4 -- 1+ bind value [bind=true]
        8 -- 1+ 等待事件跟踪 [wait=true]
        12-- 1+4+9
        
        11g之后
        16 --为每次SQL执行生成STAT 信息输出 [plan_stat=all_executions]
        32 --不转储执行统计信息 [plan_stat=never]
        
        11.2.0.2之后
        64 --自适应的STAT转储 [plan_stat=adaptive]

        全局 event="10046 trace name context forever,level 12"
    2.方法
    2.1 方法1

        alter session set events '10046 trace name context forever 12'         --启用trace
        alter session set events '10046 trace name context off'                --停止trace

         11g之后

        alter session set events 'SQL_TRACE wait=true';


    2.2 方法2    

    SQL>     select sid,serial#,username from v$session where username is not null;
    
           SID    SERIAL# USERNAME
    ---------- ---------- --------------------------------------------------------------------------------------------------------------------------------
         3    62469 SYS
           217    44968 C##SAPR3
           395    39248 C##SAPR3
           596    21546 SYS
    
        exec dbms_system.set_ev(395,39248,10046,8,'');    --启用trace
        exec dbms_system.set_ev(395,39248,10046,0,'');    --停止trace
        
        'db file scattered read'全表扫描
        db_file_multiblock_read_count 全表扫描时每次IO可以读取的数据块数量

     2.3方法3

    oradebug setospid 46237;     -- 知道OS的PID 
    oradebug setorapid 24;         --知道 ORA的PID 
    oradebug event 10046 trace name context forever, level 12;
  • 相关阅读:
    js 数组去重求和 (转载)
    表格插件汇总(转载)
    SQL Server 用一张表的数据更新另一张表的数据(转载)
    C#创建DataTable(转载)
    C# DataTable 和List之间相互转换的方法(转载)
    维度表,实体表,事实表之间的关系
    Scala中foldLeft的总结
    Scala集合Map
    从合并两个Map说开去
    UDAF(用户自定义聚合函数)求众数
  • 原文地址:https://www.cnblogs.com/tingxin/p/12839897.html
Copyright © 2020-2023  润新知