`

Oracle Event 10046

 
阅读更多
下面是一个10046的例子,可以用来分析具体的一些sql执行计划,做个记录!

设置10046事件来进行SQL跟踪,可以设置不同的跟踪级别

Level 0   停用SQL跟踪,相当于SQL_TRACE=FALSE

Level 1   标准SQL跟踪,相当于SQL_TRACE=TRUE

Level 4   在level 1的基础上增加绑定变量的信息


Level 8   在level 1的基础上增加等待事件的信息

Level 12 在level 1的基础上增加绑定变量和等待事件的信息



启用跟踪事件10046

10046事件由于跟踪的事件不同,生成的文档的目录也不相同,跟踪用户会话(trace文件位于USER_DUMP_DEST ),跟踪background进程(trace文件位于BACKGROUND_DUMP_DEST )。

1.在全局设置

修改初始化参数

EVENT = "10046 trace name context forever, level 8"

2.在当前session设置

alter session set events '10046 trace name context forever, level 8';

alter session set events '10046 trace name context off';

测试实例

SQL> set serverout on;
SQL> alter session set events '10046 trace name context forever, level 8';

Session altered

--为了查看生产文件省事,设置一个添加名称

SQL> alter session set tracefile_identifier='yuzh';

Session altered

SQL>执行语句

执行结果

--查看结果所在目录

SQL> show parameter user_dump_dest;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest                       string      /u01/app/oracle/admin/CNDBS1T9/udump

--如果不设置别名,通过如下语句得到目标文件
SQL> select d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||p.spid|| '.trc' trace_file_name
  2           from (select p.spid
  3                from v$mystat m, v$session s, v$process p
  4               where m.statistic# = 1
  5                 and s.sid = m.sid
  6                 and p.addr = s.paddr) p,
  7             (select t.instance
  8                from v$thread t, v$parameter v
  9              where v.name = 'thread'
10                and (v.value = 0 or t.thread# = to_number(v.value))) i,
11            (select value from v$parameter where name = 'user_dump_dest') d;

TRACE_FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/admin/CNDBS1T9/udump/cndbs1t9_ora_17764.trc



--如果设置了别名,其实上述语句得出的文件也还是可用的,不过还是使用别名文件最好,文件名称如下

cndbs1t9_ora_17764_yuzh.trc



--直接解读可能比较困难,我们使用tkprof来解析一下

oracle@shdb06t $ tkprof cndbs1t9_ora_17764_yuzh.trc 123.txt

TKPROF: Release 10.2.0.4.0 - Production on Tue Aug 24 15:07:17 2010

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


oracle@shdb06t $ cat 123.txt

--一般需调优的评估量就是disk      query    current        这三个指标



--关闭10046

alter session set events '10046 trace name context off';


From:http://www.linuxidc.com/Linux/2012-03/55782.htm
分享到:
评论

相关推荐

    Oracle Enterprise Manager Event Test Reference Manual Release 9

    Oracle Enterprise Manager Event Test Reference Manual Release 9 Oracle Enterprise Manager Event Test Reference Manual Release 9是Oracle Corporation发布的一份关于事件测试的参考手册,该手册旨在帮助用户...

    查看登录oracle数据库用户记录.docx

    "查看登录 Oracle 数据库用户记录" Oracle 数据库是一个强大的关系型数据库管理系统,提供了强大的数据存储和管理功能。为了管理和监控数据库的访问情况,需要对登录 Oracle 数据库的用户记录进行跟踪和查看。本文...

    Oracle数据库诊断事件详解-用于数据维护诊断使用.doc

    - 单个事件: `event='10046 trace name context forever, level 12';` - 多个事件: - 方法一: 使用冒号分隔: `event="10248 trace name context forever, level 10:10249 trace name context forever, level 10";...

    oracle事件探查器

    Oracle事件探查器,全称为Oracle Trace Event Profiler,是Oracle数据库系统中一个强大的诊断工具。它主要用于收集和分析数据库的运行信息,帮助DBA(数据库管理员)追踪和解决性能问题,确保数据库高效稳定地运行。...

    Oracle常用技术资料合集.zip

    一、Oracle+Database+11g+DBA手册(中文) 二、《Oracle数据库SQL执行计划的取得和解析》PPT(附SQL文件) 三、Oracle 常用脚本 2pc_clean.txt ash_sql_line_id.txt ash_top_sql_event.txt ash_used awr_db_time.txt...

    如何卸载Oracle 如何卸载Oracle

    - 接着定位到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application`,删除所有Oracle相关项。 4. **修改环境变量**: - 通过“控制面板”打开“系统”设置,选择“高级”选项卡,点击...

    oracle10g卸载方法

     HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services|Eventlog|Application, 删除此键下所有以oracle为首的键。    HKEY_CLASSES_ROOT,删除此键下所有以Ora,Oracle,Orcl,EnumOra 为前缀的键。    HKEY...

    卸载oracle数据库的步骤

    最后,选择 HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services EventlogApplication 删除所有 Oracle 入口。 删除环境变量 删除环境变量是卸载 Oracle 数据库的必要步骤。在控制面板中,选择系统,然后选择...

    oracle注册表彻底删除

    - 导航到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application`路径下,查找并删除以“ORACLE”开头的子键及含有“Oracle”的事件日志记录。 - 这一步可以确保清除Oracle的日志信息,避免...

    如何完全卸载Oracle 10g

    - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\Oracle 注意,删除前建议备份注册表,以防万一。 #### 四、清理环境变量与系统配置 7. **修改系统环境变量**:进入系统属性中的...

    Oracle密码延迟验证导致的系统HANG住.docx

    Oracle数据库在11g版本引入了一项名为"密码延迟验证"的安全特性,这一特性在特定情况下可能导致系统响应缓慢,甚至hang住。这个问题通常出现在修改了应用程序账户密码之后,如果应用服务器未能及时更新数据库连接...

    oracle 11g卸载教程

    最后,依次展开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有 oracle 开头的项;在 HKEY_CLASSES_ROOT,删除以 ora 开头的项。 删除 Oracle 目录 在卸载 Oracle 产品和...

    完全卸载oracle服务端

    * HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services|Eventlog|Application 中的 Oracle 相关键 * HKEY_CLASSES_ROOT 中的 Ora、Oracle、Orcl、EnumOra 前缀键 * HKEY_CURRENT_USER|Software|Microsoft|Windows...

    Oracle软件完整卸载

    - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application:删除所有Oracle事件日志。 - HKEY_CLASSES_ROOT:删除所有Oracle特定的文件扩展名和组件。 - HKEY_CURRENT_USER\Software\Microsoft...

    oracle开启关闭命令

    - `HKEY-LOCAL-MACHINE/SYSTEM/CURRENTCONTROLSET002/SERVICE/EVENTLOG/APPLICATIONеORACLE` - `HKEY-CLASSES-ROOTORAORACLEORCLENUMORA` - `HKEY-CURRENT-USER/SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/...

    卸载oracle10g的步骤

    - 前往`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application`,删除Oracle相关的子键。 #### 第四步:清理环境变量 1. 打开系统属性中的“高级”选项卡,点击“环境变量”按钮。 2. 在...

    卸载Oracle11g步骤

    * 删除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application中所有以oracle开头的键 * 删除HKDY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI中除Microsoft ODBC for Oracle注册表键以外的所有...

    ORACLE 19C SQL调优指南 中文版 Oracle DBA

    `V$SESSION_WAIT`视图和`V$SYSTEM_EVENT`视图提供了等待事件的详细信息。 12. **数据库架构调整**:包括表空间管理、数据分布策略(如表分区、簇、位图索引等)、以及数据库块大小的选择,都会影响性能。 13. **...

Global site tag (gtag.js) - Google Analytics