
ORACLE 诊断事件及深入解析 10053 事件
文档来源: http://www.itpub.net/323537,1.html
发表者: wanghai,liyongdong
整理者: vongates
说明:其中深入解析 10053 事件部分来自 wanghai 在 cnoug 作品
原文连接:http://www.cnoug.org/viewthread.php?tid=44302
Oracle 为 RDBMS 提供了多种的诊断工具,诊断事件(Event)是其中一种常用、好用的
方法,它使 DBA 可以方便的转储数据库各种结构及跟踪特定事件的发生.
一、Event 的通常格式及分类
1、 通常格式如下:
EVENT="<事件名称><动作><跟踪项目><范围限定>"
2、 Event 分类
诊断事件大体上可以分为四类:
a. 转储类事件:它们主要用于转储 Oracle 的一些结构,例如转储一下控制文件、数
据文件头等内容。
b. 捕捉类事件:它们用于捕捉一些 Error 事件的发生,例如捕捉一下 ORA-04031 发
生时一些 Rdbms 信息,以判断是 Bug 还是其它原因引起的这方面的问题。
c. 改变执行途径类事件:它们用于改主一些 Oracle 内部代码的执行途径,例如设置
10269 将会使 Smon 进程不去合并那些 Free 的空间。
d. 跟踪类事件:这们用于获取一些跟踪信息以用于 Sql 调优等方面,最典型的便是
10046 了,将会对 Sql 进行跟踪。
3、 说明:
a. 如果 immediate 放在第一个说明是无条件事件,即命令发出即转储到跟踪文件。
b. trace name 位于第二、三项,除它们外的其它限定词是供 Oracle 内部开发组用的。
c. level 通常位于 1-10 之间(10046 有时用到 12),10 意味着转储事件所有的信息。
例如当转储控制文件时,level1 表示转储控制文件头,而 level 10 表明转储控制文件
全部内容。
d. 转储所生成的 trace 文件在 user_dump_dest 初始化参数指定的位置。
二、说一说设置的问题了
可以在 init.ora 中设置所需的事件,这将对所有会话期打开的会话进行跟踪,也可以
用 alter session set event 等方法设置事件跟踪,这将打开正在进行会话的事件跟踪。
1、 在 init.ora 中设置跟踪事件的方法
a. 语法
评论