alter system set events 相關知識

n-lauren發表於2014-06-12

格式: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′;

 

Oracle常用dump命令,記錄一下備查。
一.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 Server 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'; 
1 dump控制檔案中最早和最遲的日誌歷史項 
1 dump 2^n個日誌歷史項

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

相關文章