下面是一个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 Corporation发布的一份关于事件测试的参考手册,该手册旨在帮助用户...
"查看登录 Oracle 数据库用户记录" Oracle 数据库是一个强大的关系型数据库管理系统,提供了强大的数据存储和管理功能。为了管理和监控数据库的访问情况,需要对登录 Oracle 数据库的用户记录进行跟踪和查看。本文...
- 单个事件: `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 Trace Event Profiler,是Oracle数据库系统中一个强大的诊断工具。它主要用于收集和分析数据库的运行信息,帮助DBA(数据库管理员)追踪和解决性能问题,确保数据库高效稳定地运行。...
一、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...
- 接着定位到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application`,删除所有Oracle相关项。 4. **修改环境变量**: - 通过“控制面板”打开“系统”设置,选择“高级”选项卡,点击...
HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services|Eventlog|Application, 删除此键下所有以oracle为首的键。 HKEY_CLASSES_ROOT,删除此键下所有以Ora,Oracle,Orcl,EnumOra 为前缀的键。 HKEY...
最后,选择 HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services EventlogApplication 删除所有 Oracle 入口。 删除环境变量 删除环境变量是卸载 Oracle 数据库的必要步骤。在控制面板中,选择系统,然后选择...
- 导航到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application`路径下,查找并删除以“ORACLE”开头的子键及含有“Oracle”的事件日志记录。 - 这一步可以确保清除Oracle的日志信息,避免...
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\Oracle 注意,删除前建议备份注册表,以防万一。 #### 四、清理环境变量与系统配置 7. **修改系统环境变量**:进入系统属性中的...
Oracle数据库在11g版本引入了一项名为"密码延迟验证"的安全特性,这一特性在特定情况下可能导致系统响应缓慢,甚至hang住。这个问题通常出现在修改了应用程序账户密码之后,如果应用服务器未能及时更新数据库连接...
最后,依次展开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有 oracle 开头的项;在 HKEY_CLASSES_ROOT,删除以 ora 开头的项。 删除 Oracle 目录 在卸载 Oracle 产品和...
* HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services|Eventlog|Application 中的 Oracle 相关键 * HKEY_CLASSES_ROOT 中的 Ora、Oracle、Orcl、EnumOra 前缀键 * HKEY_CURRENT_USER|Software|Microsoft|Windows...
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application:删除所有Oracle事件日志。 - HKEY_CLASSES_ROOT:删除所有Oracle特定的文件扩展名和组件。 - HKEY_CURRENT_USER\Software\Microsoft...
- `HKEY-LOCAL-MACHINE/SYSTEM/CURRENTCONTROLSET002/SERVICE/EVENTLOG/APPLICATIONеORACLE` - `HKEY-CLASSES-ROOTORAORACLEORCLENUMORA` - `HKEY-CURRENT-USER/SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/...
- 前往`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application`,删除Oracle相关的子键。 #### 第四步:清理环境变量 1. 打开系统属性中的“高级”选项卡,点击“环境变量”按钮。 2. 在...
* 删除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application中所有以oracle开头的键 * 删除HKDY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI中除Microsoft ODBC for Oracle注册表键以外的所有...
`V$SESSION_WAIT`视图和`V$SYSTEM_EVENT`视图提供了等待事件的详细信息。 12. **数据库架构调整**:包括表空间管理、数据分布策略(如表分区、簇、位图索引等)、以及数据库块大小的选择,都会影响性能。 13. **...