中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么理解ORACLE事件跟蹤

發布時間:2021-11-12 16:28:57 來源:億速云 閱讀:104 作者:柒染 欄目:關系型數據庫

這期內容當中小編將會給大家帶來有關怎么理解ORACLE事件跟蹤,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

ORACLE事件跟蹤

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

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

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

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

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

怎么理解ORACLE事件跟蹤

跟蹤事件

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

event="event1"

event="event2"

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

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

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

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

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

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

語法格式

        alter system|session set events ‘[eventnumber|immediate]trace nameeventname[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結構的所有信息。

    對于alter session設置的事件,僅僅只對當前session有效。對于alter system 設置的事件,除對當前session有效外,對新登錄的session同樣有效,但是對于alter system命令執行之前打開的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統計信息 

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

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 + 數據完整文件頭信息 

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;

 詳細內容請看: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個日志歷史項

獲取診斷事件號

   大部分的診斷事件的數值都是在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;  

  / 

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁南县| 棋牌| 喀喇| 灵丘县| 怀宁县| 三河市| 遂平县| 永康市| 舒城县| 潼关县| 越西县| 新沂市| 宝兴县| 扬州市| 荔波县| 宁津县| 冕宁县| 晋城| 长丰县| 什邡市| 昌江| 敦煌市| 白银市| 五常市| 兴隆县| 抚松县| 阿尔山市| 鸡泽县| 台东市| 拜城县| 綦江县| 大城县| 府谷县| 定安县| 赤壁市| 东平县| 金秀| 绩溪县| 喜德县| 喀喇沁旗| 云阳县|