天地不仁,以万物为刍狗!
ORACLE诊断事件的总结-转
上一篇 /
下一篇 2007-07-01 00:00:00
/ 个人分类:oracle
Oracle为RDBMS提供了多种的诊断工具,诊断事件(Event)是其中一种常用、好用的方法,它使DBA可以方便的转储数据库各种结构及跟踪特定事件的发生.
一、Event的通常格式及分类
)YGJGu;L%@j0
/z ?f7M4lZ
ll0 1、 通常格式如下:
6d(j4ny8q`#E,te/r1|0 EVENT="<事件名称><动作><跟踪项目><范围限定>"
V7@,Bq6~@%l;Wg0
d:a q)pw.S]0 2、 Event分类
/L w)W(k#SZY2v0 诊断事件大体上可以分为四类:ITPUB个人空间 PI)jAN.r7b0GK'o
a. 转储类事件:它们主要用于转储Oracle的一些结构,例如转储一下控制文件、数据文件头等内容。
T}&f\:jzB0 b. 捕捉类事件:它们用于捕捉一些Error事件的发生,例如捕捉一下ORA-04031发生时一些Rdbms信息,以判断是Bug还是其它原因引起的这方面的问题。
n;TGuV?8{$Q{0 c. 改变执行途径类事件:它们用于改主一些Oracle内部代码的执行途径,例如设置10269将会使Smon进程不去合并那些Free的空间。ITPUB个人空间v[%cBE'Y
d. 跟踪类事件:这们用于获取一些跟踪信息以用于Sql调优等方面,最典型的便是10046了,将会对Sql进行跟踪。ITPUB个人空间
kp1y? m
h m
3、 说明:ITPUB个人空间
`.Md4\k7Y'Z8R
a. 如果immediate放在第一个说明是无条件事件,即命令发出即转储到跟踪文件。
$nk)@v@W1k+q_0 b. trace name位于第二、三项,除它们外的其它限定词是供Oracle内部开发组用的。
1?%e-uvJ3qLjb"]'Pl0 c. level通常位于1-10之间(10046有时用到12),10意味着转储事件所有的信息。例如当转储控制文件时,level1表示转储控制文件头,而level 10表明转储控制文件全部内容。ITPUB个人空间-G6qY-Rg
d. 转储所生成的trace文件在user_dump_dest初始化参数指定的位置。
二、说一说设置的问题了
/G s-?!Q]Os0 ITPUB个人空间"Ae Jh$l;xC!z
可以在init.ora中设置所需的事件,这将对所有会话期打开的会话进行跟踪,也可以用alter session set event 等方法设置事件跟踪,这将打开正在进行会话的事件跟踪。
Lt
F9oi9dS0