全面介绍Oracle的诊断事件

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

时间: 2024-08-04 14:24:53

全面介绍Oracle的诊断事件的相关文章

Oracle所有诊断事件列表events

Oracle所有诊断事件列表events 通过如下的脚本可以获取所有的诊断事件列表: 点击(此处)折叠或打开 SET SERVEROUTPUT ON SET LINE 9999 DECLARE   ERR_MSG VARCHAR2(32767); BEGIN   DBMS_OUTPUT.ENABLE('');   FOR ERR_NUM IN 10000 .. 10999 LOOP     ERR_MSG := SQLERRM(-ERR_NUM);     IF ERR_MSG NOT LIKE

ORACLE性能诊断―学习statspack笔记(三)[表的分类]

oracle|笔记|性能 ORACLE性能诊断―学习statspack笔记(三)[表的分类]   作者:刘颖博 时间:2004-3-10 mail:liuyingbo@126.com,请指正   转载请注明出处及作者   说明:STATSPACK并不能获取全面分析性能问题所需要的所有信息.特别是问题出在DISK,RAM,CPU以及NETWORK等数据库外部.   STATSPACK表的分类 A:控制表:stats$database_instance ,stats$snapshot B:参数表:s

ORACLE性能诊断―学习statspack笔记(二)[概述]

oracle|笔记|性能 ORACLE性能诊断―学习statspack笔记(二)[概述]   作者:刘颖博 时间:2004-3-3 mail:liuyingbo@126.com,请指正   转载请注明出处及作者   ORACLE性能诊断涉及对象   A.      服务器.网络以及磁盘(外部的环境) B.      实例(SGA,后台进程) C.      对象(表,索引,段--) D.     SQL E.      设计(指的是应用的设计,这部分一般说来是很难改变了)   ORACLE性能诊

ORACLE性能诊断―学习statspack笔记(四)[扩展statspack收集服务器统计]

oracle|笔记|服务器|统计|性能 ORACLE性能诊断―学习statspack笔记(四)[扩展statspack收集服务器统计]   作者:刘颖博 时间:2004-3-22 mail:liuyingbo@126.com,请指正   转载请注明出处及作者   说明:由于STATSPACK并不能获取全面分析性能问题所需要的所有信息,所以需要扩展其收集服务器的统计信息.(本文环境REDHAT Linux7.2)   VMSTAT介绍 通过STATSPACK收集服务器信息,主要通过收集VMSTAT

Oracle的等待事件

转自http://www.kingsnet.biz/Article/database/oracle/200804/8694_5.html Oracle的等待事件是衡量Oracle运行状况的重要依据及指标.等待事件的概念是在Oracle7.0.1.2中引入的,大致有100个等待事件.在Oracle 8.0中这个数目增加到了大约150个,在Oracle8i中大约有200个事件,在Oracle9i中大约有360个等待事件.主要有两种类别的等待事件,即空闲(idle)等待事件和非空闲(non-idle)

ORACLE性能诊断―学习statspack笔记(一) [安装与测试]

oracle|笔记|性能 ORACLE性能诊断―学习statspack笔记(一)   作者:刘颖博 时间:2004-3-2 mail:liuyingbo@126.com,请指正   转载请注明出处及作者   说明:oracle8.1.6开始引进statspack,statspack是诊断oracle性能的强有力的工具   安装前准备   A.首先是系统参数的确认: job_query_processes:为了建立自动任务,执行数据收集,该参数要大于0 time_statistics:为了收集操作

Oracle Mutex 等待事件

Oracle Mutex 等待事件之: cursor pin S pin S 等待事件说明,当一个会话(session)试图去更新一个共享的 Mutex Pin,同时已经有其他会话正在更新(updating)同一个 Shared Mutex Pin.注意,Pin S 的Mutex位于子游标上,是动态创建的,无法从等待事件中获得,但是可以在竞争出现的情况下,通过观察 x$mutex_sleep_history 来获得. 文档说明如下: Oracle Mutex 等待事件之: cursor pin

Oracle OWI 等待事件历史视图及相关视图

    Oracle提供的等待事件视图使得我们可以获取指定session以及实例级别等待事件的详细信息,这些视图分别是v$session_wait,v$session_event,以及v$system_event.然而这几个视图对于历史等待事件无能为力.对此,Oracle也提供了历史等待事件视图v$session_wait_history,同时视图v$session_wait_class,v$system_wait_class也提供了基于等待类别的性能分析,下面是基于Oracle 10g对此展开

Oracle ADDM --dbms_addm执行oracle数据库诊断

Oracle ADDM --dbms_addm执行oracle数据库诊断  >> >> >><>