alter system set events相關知識

maojinyu發表於2010-09-10

alter system set events相關知識:

格式:alter system|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; –表示dump資料檔案號為11中的第9個資料塊。

3、controlf事件:dump控制檔案結構

alter session set events ‘immediate trace name controlf level 10′; –表示dump控制檔案的所有內容。

4、locks事件:dump LCK程式的鎖資訊

alter session set events ‘immediate trace name locks level 5′;

5、redohdr事件:dump redo日誌的頭部資訊

alter session set events ‘immediate trace name redohdr level 1′; –表示dump redo日誌頭部的控制檔案項。

alter session set events ‘immediate trace name redohdr level 2′; –表示dump redo日誌的通用檔案頭。

alter session set events ‘immediate trace name redohdr level 10′; –表示dump redo日誌的完整檔案頭。

注意:redo日誌的內容dump可以採用下面的語句:

alter system dump logfile ‘logfilename’;

6、loghist事件:dump控制檔案中的日誌歷史項

alter session set events ‘immediate trace name loghist level 1′; –表示只dump最早和最遲的日誌歷史項。

levelnumber大於等於2時,表示2的levelnumber次方個日誌歷史項。

alter session set events ‘immediate trace name loghist level 4′; –表示dump 16個日誌歷史項。

7、file_hdrs事件:dump所有資料檔案的頭部資訊

alter session set events ‘immediate trace name file_hdrs level 1′; –表示dump所有資料檔案頭部的控制檔案項。

alter session set events ‘immediate trace name file_hdrs level 2′; –表示dump所有資料檔案的通用檔案頭。

alter session set events ‘immediate trace name file_hdrs level 10′; –表示dump所有資料檔案的完整檔案頭。

8、errorstack事件:dump錯誤棧資訊,通常Oracle發生錯誤時前臺程式將得到一條錯誤資訊,但某些情況下得不到錯誤資訊,可以採用這種方式得到Oracle錯誤。

alter session set events ‘604 trace name errorstack forever’; –表示當出現604錯誤時,dump錯誤棧和程式棧。

9、systemstate事件:dump所有系統狀態和程式狀態

alter session set events ‘immediate trace name systemstate level 10′; –表示dump所有系統狀態和程式狀態。

10、coalesec事件:dump指定表空間中的自由區間

levelnumber以十六進位制表示時,兩個高位位元組表示自由區間數目,兩個低位位元組表示表空間號,如0×00050000表示dump系統表空間中的5個自由區間,轉換成十進位制就是327680,即:

alter session set events ‘immediate trace name coalesec level 327680′;

11、processsate事件:dump程式狀態

alter session set events ‘immediate trace name processsate level 10′;

12、library_cache事件:dump library cache資訊

alter session set events ‘immediate trace name library_cache level 10′;

13、heapdump事件:dump PGA、SGA、UGA中的資訊

alter session set events ‘immediate trace name heapdump level 1′;

14、row_cache事件:dump資料字典緩衝區中的資訊

alter session set events ‘immediate trace name row_cache level 1′;

一.Memory Dumps

1).Global Area

ALTER SESSION SET EVENTS 'immediate trace name global_area level n';

1 包含PGA
2 包含SGA
4 包含UGA
8 包含indrect memory

2).Library Cache

ALTER SESSION SET EVENTS 'immediate trace name library_cache level n';

1 library cache統計資訊
2 包含hash table histogram
3 包含object handle
4 包含object結構(Heap 0)

3).Row Cache

ALTER SESSION SET EVENTS 'immediate trace name row_cache level n';

1 row cache統計資訊
2 包含hash table histogram
8 包含object結構

4).Buffers

ALTER SESSION SET EVENTS 'immediate trace name buffers level n';

1 buffer header
2 level 1 + block header
3 level 2 + block contents
4 level 1 + hash chain
5 level 2 + hash chain
6 level 3 + hash chain
8 level 4 + users/waiters
9 level 5 + users/waiters
10 level 6 + users/waiters

5).Buffer

ALTER SESSION SET EVENTS 'immediate trace name buffer level n';

n為某個指定block的rdba,該命令可以轉儲某個block在buffer中的所有版本。

6).Heap

ALTER SESSION SET EVENTS 'immediate trace name heapdump level level';

1 PGA摘要
2 SGA摘要
4 UGA摘要
8 Current call(CGA)摘要
16 User call(CGA)摘要
32 Large call(LGA)摘要
1025 PGA內容
2050 SGA內容
4100 UGA內容
8200 Current call內容
16400 User call內容
32800 Large call內容

7).Sub Heap

Oracle 9.0.1版本之前

ALTER SESSION SET EVENTS 'immediate trace name heapdump_addr level n';

若n為subheap的地址,轉儲的是subheap的摘要資訊
若n為subheap的地址+1,轉儲的則是subheap的內容

Oracle 9.2.0版本之後

ALTER SESSION SET EVENTS 'immediate trace name heapdump_addr level n, addr m';

其中m為subheap的地址

n為1轉儲subheap的摘要,n為2轉儲subheap的內容

8).Process State

ALTER SESSION SET EVENTS 'immediate trace name processstate level n';

9).System State

ALTER SESSION SET EVENTS 'immediate trace name systemstate level n';

10).Error State

ALTER SESSION SET EVENTS 'immediate trace name errorstack level n';

0 Error stack
1 level 0 + function call stack
2 level 1 + process state
3 level 2 + context area

11).Hang Analysis

ALTER SESSION SET EVENTS 'immediate trace name hanganalyze level n';

12).Work Area

ALTER SESSION SET EVENTS 'immediate trace name workareatab_dump level n';

1 SGA資訊
2 Workarea Table摘要資訊
3 Workarea Table詳細資訊

13).Latches

ALTER SESSION SET EVENTS 'immediate trace name latches level n';

1 latch資訊
2 統計資訊

14).Events

ALTER SESSION SET EVENTS 'immediate trace name events level n';

1 session
2 process
3 system

15).Locks

ALTER SESSION SET EVENTS 'immediate trace name locks level n';

16).Shared Process

ALTER SESSION SET EVENTS 'immediate trace name shared_server_state level n';

n取值為1~14

17).Background Messages

ALTER SESSION SET EVENTS 'immediate trace name bg_messages level n';

n為pid+1

二.File Dumps

1).Block

Oracle 7之前

ALTER SESSION SET EVENTS 'immediate trace name blockdump level n';

n為block的rdba

Oracle8以後

ALTER SYSTEM DUMP DATAFILE file# BLOCK block#;

ALTER SYSTEM DUMP DATAFILE file#
BLOCK MIN minimum_block#
BLOCK MAX maximum_block#;

2).Tree Dump

ALTER SESSION SET EVENTS 'immediate trace name treedump level n';

n為object_id

3).Undo Segment Header

ALTER SYSTEM DUMP UNDO_HEADER 'segment_name';

4).Undo for a Transaction

ALTER SYSTEM DUMP UNDO BLOCK 'segment_name' XID xidusn xidslot xidsqn;

5).File Header

ALTER SESSION SET EVENTS 'immediate trace name file_hdrs level n';

1 控制檔案中的檔案頭資訊
2 level 1 + 檔案頭資訊
3 level 2 + 資料檔案頭資訊
10 level 3

6).Control file

ALTER SESSION SET EVENTS 'immediate trace name controlf level n';

1 檔案頭資訊
2 level 1 + 資訊 + 檢查點資訊
3 level 2 + 可重用節資訊
10 level 3

7).Redo log Header

ALTER SESSION SET EVENTS 'immediate trace name redohdr level n';

1 控制檔案中的redo log資訊
2 level 1 + 檔案頭資訊
3 level 2 + 日誌檔案頭資訊
10 level 3

8).Redo log

ALTER SYSTEM DUMP LOGFILE 'FileName';

ALTER SYSTEM DUMP LOGFILE 'FileName'
SCN MIN MinimumSCN
SCN MAX MaximumSCN
TIME MIN MinimumTime
TIME MAX MaximumTime
LAYER Layer
OPCODE Opcode
DBA MIN FileNumber . BlockNumber
DBA MAX FileNumber . BlockNumber
RBA MIN LogFileSequenceNumber . BlockNumber
RBA MAX LogFileSequenceNumber . BlockNumber;

其中time = (((((yyyy - 1988)) * 12 + mm - 1) * 31 + dd - 1) * 24 + hh) * 60 + mi)* 60 + ss;

9).Loghist

ALTER SESSION SET EVENTS 'immediate trace name loghist level n';

1dump控制檔案中最早和最遲的日誌歷史項
>1 dump 2^n個日誌歷史項

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9907339/viewspace-1038171/,如需轉載,請註明出處,否則將追究法律責任。

相關文章