文档介绍:广州远佳信息科技有限公司
Oracle 数据库教程
——Oracle 数据库 event 事件与 dump 文件入门
看到几篇文件,整理转载一下
Oracle 跟踪文件分为三种类型
一、后台报警日志文件
记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些 alter 命令、
日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有
必然的联系。后台报警日志文件保存 BACKGROUND_DUMP_DEST 参数指定的目录中,文件格式为
。
二、DBWR、LGWR、SMON 等后台进程创建的后台跟踪文件
后台跟踪文件根据后台进程运行情况产生,后台跟踪文件也保存在 BACKGROUND_DUMP_DEST 参数
指定的目录中,文件格式为 、 等
三、由连接到 Oracle 的用户进程(Server Processes)生成的用户跟踪文件
这些文件仅在用户会话期间遇到错误时产生。此外,用户可以通过执行 oracle 跟踪事件(见后面)来生
成该类文件,用户跟踪文件保存在 USER_DUMP_DEST 参数指定的目录中,文件格式为 ,xxxxx
为创建文件的进程号(或线程号)。
Oracle 跟踪事件
Oracle 提供了一类命令,可以将 Oracle 各类内部结构中所包含的信息转储(dump)到跟踪文件中,以便用户
能根据文件内容来解决各种故障。
1、在 文件中设置事件
这样 open 数据库后,将影响到所有的会话。设置格式如下:
EVENT="eventnumber trace name eventname [forever,] [level levelnumber] : ......."
通过:符号,可以连续设置多个事件,也可以通过连续使用 event 来设置多个事件。
2、在会话过程中使用 alter session set events 命令
只对当前会话有影响。设置格式如下:
alter session set events '[eventnumber|immediate] trace name eventname [forever] [, level
levelnumber] : .......'
通过:符号,可以连续设置多个事件,也可以通过连续使用 alter session set events 来设置多个事件。
eventnumber:
指触发 dump 的事件号,事件号可以是 Oracle 错误号(出现相应错误时跟踪指定的事件)或 oralce 内部
事件号,内部事件号在 10000 到 10999 之间,不能与 immediate 关键字同用。
immediate:
广州远佳信息科技有限公司
关键字表示命令发出后,立即将指定的结构 dump 到跟踪文件中,这个关键字只用在 alter session 语句中,
并且不能与 eventnumber、forever 关键字同用。
trace name:
是关键字
eventname:
指事件名称,即要进行 dump 的实际结构名。若 eventname 为 context,则指根据内部事件号进行跟踪。
forever:
关键字表示事件在实例或会话的周期内保持有效状态,不能与 immediate 同用。
level:
为事件级别关键字。但在 dump 错误栈(errorstack)时不存在级别
levelnumber:
表示事件级别号,一般从 1 到 10,1 表示只 dump 结构头部信息,10 表示 dump 结构的所有信息。
1、buffers 事件:dump SGA 缓冲区中的 db buffer 结构
alter session set events 'immediate trace name buffers level 1'; --表示 dump 缓冲区的头部。
2、blockdump 事件:dump 数据文件、索引文件、回滚段文件结构
alter session set events 'immediate trace name blockdump level 66666'; --表示 dump 块地址为 6666 的数据
块。
在 Oracle 8 以后该命令已改为:
alter system dump datafile 11 block 9;