久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么理解ORACLE事件跟蹤

206次閱讀
沒有評論

共計 5741 個字符,預計需要花費 15 分鐘才能閱讀完成。

這期內容當中丸趣 TV 小編將會給大家?guī)碛嘘P怎么理解 ORACLE 事件跟蹤,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

ORACLE 事件跟蹤

  Oracle 跟蹤文件分為三種類型:

   1:警告日志文件。記錄了數(shù)據(jù)庫啟動、運行、關閉時的活動情況。當數(shù)據(jù)庫出現(xiàn)問題時,首先要查看該文件,文件名為 alert_sid.log

   2:后臺跟蹤文件。記錄了 oracle 后臺進程的運行狀況,名稱為 sid_processname_processid.trc, 存儲目錄為 BACKGROUND_dump_dest

   3:用戶跟蹤文件。記錄了連接到數(shù)據(jù)庫的用戶進程的運行信息,名稱為 SID_ORA_PROCESSID.TRC, 存儲目錄為 USER_DUMP_DEST.

  在 oracle11g 中,這三種文件位于同一目錄下:

跟蹤事件

    設置跟蹤事件,會導致 oracle 將與該事件有關的信息轉儲到跟蹤文件中。依據(jù)設置事件的方式,可以將跟蹤事件分為 2 類:PROCESS-EVENT(通過初始化參數(shù)文件設置的事件)、SESSION-EVENT(通過 alter session set events 或者 alter system set events 設置的時間)。要使 PROCESS-EVENT 事件生效,必須重新啟動數(shù)據(jù)庫實例,PROCESS-EVENT 事件會影響連接到數(shù)據(jù)庫的每一個用戶進程。在參數(shù)文件中設置多個事件可以采用“:”分隔符,如 event= event1:event2:event3。也可以依次設置多個 event,如:

event= event1

event= event2

(注意,在 event1 和 event2 之間不要存在其他參數(shù),否則只有最后的 event 即 event2 生效)。

        對不同的跟蹤事件,oracle 會產生不同的行為,根據(jù)行為的不同,我們大致可以將跟蹤事件分為 4 類:

        1. 轉儲 oracle 中的某部分內容,如數(shù)據(jù)塊、控制文件內容等。轉儲活動會在收到跟蹤事件命令的同時執(zhí)行。這類事件不可以通過參數(shù)文件進行設置。

        2. 跟蹤錯誤信息。設置這類事件,oracle 會將特定錯誤的堆棧信息轉儲到跟蹤文件中。

        3. 更改 oracle 的執(zhí)行路徑。這類事件會影響 oracle 代碼段的執(zhí)行路徑,例如 10269 事件,會促使 smon 進程停止對 free-space 的合并操作。

        4. 跟蹤進程的相關信息。例如 10046 事件和 10053 事件。該類事件會將進程上下文中的特定信息轉儲到跟蹤文件中。

語法格式

        alter system|session set events‘[eventnumber|immediate]trace nameeventname[forever][, level levelnumber] :  …….’

    通過: 符號,可以連續(xù)設置多個事件,也可以通過連續(xù)使用 alter session set events 來設置多個事件。

    格式說明:eventnumber 指觸發(fā) dump 的事件號,事件號可以是 Oracle 錯誤號或 oralce 內部事件號,內部事件號在 10000 到 10999 之間,不能與 immediate 關鍵字同用;immediate 關鍵字表示命令發(fā)出后,立即將指定的結構 dump 到跟蹤文件中,這個關鍵字只用在 alter session 語句中,并且不能與 eventnumber、forever 關鍵字同用。trace name 是關鍵字。eventname 指事件名稱(見后面),即要進行 dump 的實際結構名。若 eventname 為 context,則指根據(jù)內部事件號進行跟蹤。forever 關鍵字表示事件在實例或會話的周期內保持有效狀態(tài),不能與 immediate 同用。level 為事件級別關鍵字。但在 dump 錯誤棧 (errorstack) 時不存在級別。levelnumber 表示事件級別號,一般從 1 到 10,1 表示只 dump 結構頭部信息,10 表示 dump 結構的所有信息。

    對于 alter session 設置的事件,僅僅只對當前 session 有效。對于 alter system 設置的事件,除對當前 session 有效外,對新登錄的 session 同樣有效,但是對于 alter system 命令執(zhí)行之前打開的 session 是無效的。

IMMEDIATE 相關的事件

一.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 統(tǒng)計信息  

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 統(tǒng)計信息  

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 統(tǒng)計信息

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

object_id 可以從 select object_id from user_objects where object_name = 索引的名字 得到。

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 + 數(shù)據(jù)完整文件頭信息  

10 level 3

6).Control file 

Alter SESSION SET EVENTS immediate trace name controlf level n  

1   控制文件中的文件頭信息

2  level 1 + 數(shù)據(jù)庫信息 + 檢查點信息  

3  level 2 + 可重用節(jié)信息  

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;

  詳細內容請看:http://blog.csdn.net/yidian815/article/details/12568027

9).Loghist 

Alter SESSION SET EVENTS immediate trace name loghist level n  

n=1 dump 控制文件中最早和最遲的日志歷史項  

n 1 dump 2^n 個日志歷史項

獲取診斷事件號

    大部分的診斷事件的數(shù)值都是在 10000 至 10999 范圍內,使用如下的腳本可以查看到所有的診斷事件:

[sql] 

SET SERVEROUTPUT ON  

  DECLARE  

  err_msg VARCHAR2(120);  

  BEGIN  

  dbms_output.enable (1000000);  

  FOR err_num IN 10000..10999  

  LOOP  

  err_msg := SQLERRM (-err_num);  

  IF err_msg NOT LIKE %Message ||err_num|| not found% THEN  

  dbms_output.put_line (err_msg);  

  END IF;  

  END LOOP;  

 END;  

  / 

上述就是丸趣 TV 小編為大家分享的怎么理解 ORACLE 事件跟蹤了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-07-20發(fā)表,共計5741字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發(fā)布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 文安县| 晋中市| 永德县| 溆浦县| 大同县| 武强县| 晋江市| 凤台县| 抚松县| 扎赉特旗| 哈巴河县| 雷波县| 当涂县| 瓮安县| 涞源县| 平原县| 深水埗区| 江都市| 桂平市| 曲沃县| 西乌珠穆沁旗| 余姚市| 大安市| 桦甸市| 阳泉市| 兴海县| 秦皇岛市| 香港 | 湖南省| 恩平市| 武隆县| 防城港市| 商丘市| 莱芜市| 鸡西市| 呼和浩特市| 平泉县| 凤凰县| 阿荣旗| 石嘴山市| 安仁县|