您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> oracle教程 >> 正文

全面介绍Oracle的诊断事件

作者:佚名    责任编辑:admin    更新时间:2022-06-22

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初始化参数指定的位置。

跟踪类别

事件名称

动作 (Action)

Name

跟踪项目

范围限定

转储类事件

immediate

Trace

“name”

blockdump

redohdr

file_hdrs

controlf

systemstate

Level block#

Level 10

Level 10

Level 10

Level 10

捕捉类事件

Error number

Trace

“name”

Error stack

processstate

Heapdump

Foreve

Off

Level nr

改变执行途径类事件

Even code corresponding to path

Trace

“name”

Context

Forever or

Level 10

跟踪类事件

10046

Trace

“name”

Context

Forever

Level n

off

  • 共4页:
  • 上一页
  • 1
  • 2
  • 3
  • 4
  • 下一页