程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 全面介紹Oracle的診斷事件

全面介紹Oracle的診斷事件

編輯: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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved