我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎样理解trace信息的收集

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎样理解trace信息的收集

本篇文章为大家展示了怎样理解trace信息的收集,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

每逢与遇到SQL相关性能,我们总是需要收集10046的,来查看和诊断问题。
因为10046真实的反应的SQL语句执行的时候的真实信息,解析,执行,获取的时间消耗,row source operation的具体情况。
具体等待事件,每个时间具体的时间消耗等等。希望下面的Case有一种就能帮助到您。

EVENT: 10046 "enable SQL statement tracing (including binds/waits)" (Doc ID 21154.1)
Interpreting Raw SQL_TRACE output (Doc ID 39817.1)
General SQL_TRACE / 10046 trace Gathering Examples (Doc ID 1274511.1)

==================
SQL性能常用:
所有版本
    10046 on session/system
    To start tracing:
    Alter session/system(慎用) set events '10046 trace name context forever, level 12';
   

    To stop tracing
    Alter session/system(慎用) set events '10046 trace name context off';


11g以上
    1. event++在system级别指定sql_id,对新起的会话和当前的会话有效, 对其他已经存在的会话无效
         SQL> alter system set events 'sql_trace [sql: 5qcyrymp65fak] level=12';

         注释:当前事件对当前的session和新创建的session有效,对已经存在的其他session无效。
         关闭 event ++:
         SQL>  alter system set events 'sql_trace [sql: 5qcyrymp65fak] off';

    2. event ++ 指定某个process的sql_id
         SQL> oradebug setospid  <SPID>   <<<<<指定检测的会话的spid   <<<<<<<<<<<select spid from V$process, V$session where audsid=userenv('SESSIONID') and paddr=addr;
         SQL> oradebug unlimit
         SQL> oradebug tracefile_name
         SQL> oradebug event sql_trace [sql: 5qcyrymp65fak] level=12

         关闭 event ++:
         SQL>  oradebug event sql_trace [sql: 5qcyrymp65fak] off

    3. 不知道SQL_ID手动执行SQL收集10046
    SQL>connect username/password
    SQL>alter session set timed_statistics = true;
    SQL>alter session set statistics_level=all;
    SQL>alter session set max_dump_file_size = unlimited;
    SQL> select value from v$diag_info where name='Default Trace File';   <<<<在11g以上工作
    SQL> variable a1 <the type of ACCOUNT_TYPE_ID>;   <<<<<请执行类型
    SQL> exec :a1 := 123123或'abded';   <<<<<<<请设置数值或字符串
    SQL>alter session set events '10046 trace name context forever, level 12';
    SQL>UPDATE "LBI_ODS"."T_O_CUSTOMER_ACCOUNT" SET
    "ACCOUNT_TYPE_ID" = :a1
    WHERE
    "ACCOUNT_NO" = 1234565;                                     <<<<<<<<<<<<执行sql重现问题
    SQL>alter session set events '10046 trace name context off'; 


==================
使用Trigger设置10046
    Use a Logon TriggerTo start tracing:
    create or replace trigger user_logon_trg
    after logon on database
    begin
    if USER = 'xxxx' then
    execute immediate
    'Alter session set events ''10046 trace name context forever, level 8''';
    end if;
    end;
    /

   


    To stop tracing: via LogOff Trigger (needs to be created before logging off)
    create or replace trigger user_logoff_trg
    before logoff on database
    begin
    if USER = 'xxxx' then
    execute immediate
    'Alter session set events ''10046 trace name context off''';
    end if;
    end;
    /

==================
MMON的10046
    1. 请打开auto purge的trace?

    begin
      dbms_monitor.serv_mod_act_trace_enable
               (service_name=>'SYS$BACKGROUND',
               module_name=>'MMON_SLAVE',
               action_name=>'Auto-Purge Slave Action');
    end;
    /

    2. 请至少等待一天,请您明天查看时候auto purge被执行,并产生m00x trace文件包含10046

    3. 关闭auto purge的trace
    begin
      dbms_monitor.serv_mod_act_trace_disable
               (service_name=>'SYS$BACKGROUND',
               module_name=>'MMON_SLAVE',
               action_name=>'Auto-Purge Slave Action');
    end;
    /

==================
Data pump 10046
    1. enable 10046 trace for DM/DW process

    alter system set events 'sql_trace{process: pname=dw | pname=dm} level=12';

    2. Please reproduce the issue, then add "TRACE=480300" in data pump importing command

    3. Please upload data pump importing log and the generated DM/DW process trace

    To disable the tracing by issuing:

    alter system set events 'sql_trace {process : pname = dw | pname = dm} off'; 

==================
其他方式设置10046
    1. DBMS_SUPPORTTo start tracing:
       exec sys.dbms_support.start_trace ;
      

       To stop tracing:
       exec sys.dbms_support.stop_trace ;
        Tracing from Another SessionThe examples below demonstrate how to trace session with SID=18 and Serial# =226 obtained from V$SESSION.

    2. Using "dbms_system.SET_BOOL_PARAM_IN_SESSION"To start tracing:
       exec sys.dbms_system.SET_BOOL_PARAM_IN_SESSION(18, 226, 'sql_trace', TRUE);
      
       To stop tracing:
       exec sys.dbms_system.SET_BOOL_PARAM_IN_SESSION(18, 226, 'sql_trace', FALSE);

    3. Using "dbms_system.set_ev"To start tracing:
       exec dbms_system.set_ev(18, 226, 10046, 12, '');

       To stop tracing:
       exec dbms_system.set_ev(18, 226, 10046, 0, '');
    4. Using "dbms_system.set_sql_trace_in_session"To start tracing:
       exec dbms_system.set_sql_trace_in_session(18,226,TRUE);
      
       To stop tracing:
       exec dbms_system.set_sql_trace_in_session(18,226,FALSE);
    5. Using "sys.dbms_monitor"To start tracing:
       exec sys.dbms_monitor.session_trace_enable(session_id=>18,serial_num=>226, waits=>true, binds=>true);
      

       To stop tracing:
       exec sys.dbms_monitor.session_trace_disable(session_id=>18,serial_num=>226);

   http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_monitor.htm#CFAHBEAB
   CLIENT_ID_STAT_DISABLE Procedure
   CLIENT_ID_STAT_ENABLE Procedure
   CLIENT_ID_TRACE_DISABLE Procedure
   CLIENT_ID_TRACE_ENABLE Procedure
   DATABASE_TRACE_DISABLE Procedure
   DATABASE_TRACE_ENABLE Procedure
   SERV_MOD_ACT_STAT_DISABLE Procedure
   SERV_MOD_ACT_STAT_ENABLE Procedure
   SERV_MOD_ACT_TRACE_DISABLE Procedure
   SERV_MOD_ACT_TRACE_ENABLE Procedure
   SESSION_TRACE_DISABLE Procedure
   SESSION_TRACE_ENABLE Procedure


    6. Using Oradebug (as SYS)To start tracing:
       oradebug setospid xxxx
       oradebug event 10046 trace name context forever, level 12;
        

       To stop tracing:
       oradebug event 10046 trace name context off ;

上述内容就是怎样理解trace信息的收集,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎样理解trace信息的收集

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

win10经常蓝屏收集错误信息怎么解决

经常蓝屏并收集错误信息可能是由于以下原因导致的:1. 驱动问题:某些驱动程序可能与Windows 10不兼容,导致系统蓝屏。可以尝试通过更新驱动程序或者卸载问题驱动程序来解决。2. 硬件问题:某些硬件设备有可能出现故障,导致系统蓝屏。可以尝
2023-08-22

win10收集错误信息重启的解决方案

当我们使用计算机时,我们无法避免一些问题。例如,最近朋友反馈win10收集错误信息重启。事实上,win10收集错误信息重启的解决方案非常简单。今天,小编将教你如何解决win10收集错误信息重启的问题。让我们一起学习!1.重新启动计算机,看看
2023-07-12

win7收集错误信息重启的解决方案

当我们使用电脑时,我们无法避免一些问题。例如,最近朋友反馈win7收集错误信息重启。事实上,win7收集错误信息重启的解决方案非常简单。今天,小编将教你如何解决win7收集错误信息的重启。让我们一起学习吧!1.重启计算机,看看它是否能进入系
2023-07-10

windows收集错误信息后无法启动怎么解决

如果Windows收集错误信息后无法启动,可以尝试以下方法进行解决:尝试使用"安全模式"启动:按下电源按钮并立即重启计算机,然后按F8键多次,直到出现高级启动选项。选择"安全模式"启动,并查看是否能够成功进入Windows。进行系统恢复:如
windows收集错误信息后无法启动怎么解决
2024-02-29

Linux中怎么使用dmesg命令处理故障和收集系统信息

今天就跟大家聊聊有关Linux中怎么使用dmesg命令处理故障和收集系统信息,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 列出加载到内核中的所有驱动我们可以使用如‘
2023-06-16

怎么理解java的垃圾收集器

本篇内容主要讲解“怎么理解java的垃圾收集器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解java的垃圾收集器”吧!初识引用对于刚接触 Java 的 C++ 程序员而言,理解栈和堆的关
2023-06-16

信息系统监理师的通过率怎么样?

  信息系统监理师的通过率怎么样?信息系统监理师考试通过率高不高呢?今天编程学习网小编来为大家解答信息系统监理师通过率情况。  信息系统监理师属于软考中级资格考试,信息系统监理师的通过率并不是很高,因为软考整体的通过率并不高。  根据往年软考整体通过率来看,中级资格的通过率约在20-30%左右。由于软考本身报名条件就没有过
信息系统监理师的通过率怎么样?
2024-04-18

网站的信息架构怎样设计更合理

一个合理的网站信息架构应该基于用户的需求和行为习惯,遵循简洁、清晰、易用的原则。以下是一些设计更合理的网站信息架构的建议:确定网站的核心目标和主题:在设计信息架构之前,首先要明确网站的核心目标是什么,以便为用户提供最相关和有用的信息。采用扁
网站的信息架构怎样设计更合理
2024-04-17

C#开发中如何处理异常日志和错误信息的收集与分析

C#开发中如何处理异常日志和错误信息的收集与分析引言:在软件开发过程中,我们经常会遇到各种异常和错误。为了及时发现并解决这些问题,我们需要在代码中实现异常日志和错误信息的收集与分析。本文将介绍如何在C#开发中处理异常日志和错误信息,并提供一
2023-10-22

Java实现学生信息管理系统的流程是怎样的

这篇文章给大家介绍Java实现学生信息管理系统的流程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、项目简述功能包括: 用户的登录注册,学生信息管理,教师信息管理,班级信 息管理,采用mvcx项目架构,覆盖增
2023-06-25

怎么理解JVM1.4.1版本中的JVM垃圾收集策略

本篇文章给大家分享的是有关怎么理解JVM1.4.1版本中的JVM垃圾收集策略,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们分析了引用计数、复制、标记-清除和标记-整理这些经
2023-06-17

信息系统项目管理师论文写作格式是怎样的

  信息系统项目管理师论文写作格式是怎样的?大家在考前要清楚信息系统项目管理师论文的写作格式要求,今天编程学习网小编就来告诉大家信息系统项目管理师论文格式要求是怎样的。  以下编程学习网小编为大家整理了的软考论文写作格式要求以及写作方法与规范,相信对大家了解信息系统项目管理师论文写作会有帮助。  高级软考考试中一共有三科,下午
信息系统项目管理师论文写作格式是怎样的
2024-04-18

Win8开机提示“你的电脑出现问题需要重启,我们只需要收集这些错误信息”的解决方法

解决方法:1、鼠标移动到左下角,然后点击右键,选择“命令提示符(管理员),然后输入以下命令:C:windowssystem32>netsh回车;2、然后输入winhttp回车;3、最后输入 import proxy source
2022-06-04

编程热搜

目录