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

溫馨提示×

溫馨提示×

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

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

如何進行查詢Oracle內部事件

發布時間:2021-11-08 16:41:52 來源:億速云 閱讀:118 作者:柒染 欄目:建站服務器

這期內容當中小編將會給大家帶來有關如何進行查詢Oracle內部事件,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Oracle內部事件包含已公布的和未公布的,與相關錯誤號對應(已公布)。

查詢Oracle內部事件
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跟蹤文件 
Oracle跟蹤文件分為三種類型,一種是后臺報警日志文件,記錄數據庫在啟動、關閉和運行期間后臺進程的活動情況,如表空間創建、回滾段創建、某些alter命令、日志切換、錯誤消息等。在數據庫出現故障時,應首先查看該文件,但文件中的信息與任何錯誤狀態沒有必然的聯系。后臺報警日志文件保存BACKGROUND_DUMP_DEST參數指定的目錄中,文件格式為SIDALRT.LOG。另一種類型是DBWR、LGWR、SMON等后臺進程創建的后臺跟蹤文件。后臺跟蹤文件根據后臺進程運行情況產生,后臺跟蹤文件也保存在BACKGROUND_DUMP_DEST參數指定的目錄中,文件格式為siddbwr.trc、sidsmon.trc等。還有一種類型是由連接到Oracle的用戶進程(Server Processes)生成的用戶跟蹤文件。這些文件僅在用戶會話期間遇到錯誤時產生。此外,用戶可以通過執行oracle跟蹤事件(見后面)來生成該類文件,用戶跟蹤文件保存在USER_DUMP_DEST參數指定的目錄中,文件格式為oraxxxxx.trc,xxxxx為創建文件的進程號(或線程號)。 
二、Oracle跟蹤事件 
Oracle提供了一類命令,可以將Oracle各類內部結構中所包含的信息轉儲(dump)到跟蹤文件中,以便用戶能根據文件內容來解決各種故障。設置跟蹤事件有兩種方法,一種是在init.ora文件中設置事件,這樣open數據庫后,將影響到所有的會話。設置格式如下: 
EVENT="eventnumber trace name eventname [forever,] [level levelnumber] : ......." 
通過:符號,可以連續設置多個事件,也可以通過連續使用event來設置多個事件。 
另一種方法是在會話過程中使用alter session set events命令,只對當前會話有影響。設置格式如下: 
alter 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以十六進制表示時,兩個高位字節表示自由區間數目,兩個低位字節表示表空間號,如0x00050000表示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'; 
三、內部事件號 
1、10013:用于監視事務恢復 
2、10015:轉儲UNDO SEGMENT頭部 
event = "10015 trace name context forever" 
3、10029:用于給出會話期間的登陸信息 
4、10030:用于給出會話期間的注銷信息 
5、10032:轉儲排序的統計信息 
6、10033:轉儲排序增長的統計信息 
7、10045:跟蹤Freelist管理操作 
8、10046:跟蹤SQL語句 
alter session set events '10046 trace name context forever, level 4'; --跟蹤SQL語句并顯示綁定變量 
alter session set events '10046 trace name context forever, level 8'; --跟蹤SQL語句并顯示等待事件 
9、10053:轉儲優化策略 
10、10059:模擬redo日志中的創建和清除錯誤 
11、10061:阻止SMON進程在啟動時清除臨時段 
12、10079:轉儲 SQL*NET統計信息 
13、10081:轉儲高水標記變化 
14、10104:轉儲Hash連接統計信息 
15、10128:轉儲分區休整信息 
16、10200:轉儲一致性讀信息 
17、10201:轉儲一致性讀中Undo應用 
18、10209:允許在控制文件中模擬錯誤 
19、10210:觸發數據塊檢查事件 
event = "10210 trace name context forever, level 10" 
20、10211:觸發索引檢查事件 
21、10213:模擬在寫控制文件后崩潰 
22、10214:模擬在控制文件中的寫錯誤 
levelnumber從1-9表示產生錯誤的塊號,大于等于10則每個控制文件將出錯 
23、10215:模擬在控制文件中的讀錯誤 
24、10220:轉儲Undo頭部變化 
25、10221;轉儲Undo變化 
26、10224:轉儲索引的分隔與刪除 
27、10225:轉儲基于字典管理的區間的變化 
28、10229:模擬在數據文件上的I/O錯誤 
29、10231:設置在全表掃描時忽略損壞的數據塊 
alter session set events '10231 trace name context off'; -- 關閉會話期間的數據塊檢查 
event = "10231 trace name context forever, level 10" -- 對任何進程讀入SGA的數據塊進行檢查 
30、10232:將設置為軟損壞(DBMS_REPAIR包設置或DB_BLOCK_CHECKING為TRUE時設置)的數據塊dump到跟蹤文件 
31、10235:用于內存堆檢查 
alter session set events '10235 trace name context forever, level 1'; 
32、10241:轉儲遠程SQL執行 
33、10246:跟蹤PMON進程 
34、10248:跟蹤dispatch進程 
35、10249:跟蹤MTS進程 
36、10252:模擬寫數據文件頭部錯誤 
37、10253:模擬寫redo日志文件錯誤 
38、10262:允許連接時存在內存泄漏 
alter session set events '10262 trace name context forever, level 300'; -- 允許存在300個字節的內存泄漏 
39、10270:轉儲共享游標 
40、10285:模擬控制文件頭部損壞 
41、10286:模擬控制文件打開錯誤 
42、10287:模擬歸檔出錯 
43、10357:調試直接路徑機制 
44、10500:跟蹤SMON進程 
45、10608:跟蹤位圖索引的創建 
46、10704:跟蹤enqueues 
47、10706:跟蹤全局enqueues 
48、10708:跟蹤RAC的buffer cache 
49、10710:跟蹤對位圖索引的訪問 
50、10711:跟蹤位圖索引合并操作 
51、10712:跟蹤位圖索引OR操作 
52、10713:跟蹤位圖索引AND操作 
53、10714:跟蹤位圖索引MINUS操作 
54、10715:跟蹤位圖索引向ROWID的轉化 
55、10716:跟蹤位圖索引的壓縮與解壓 
56、10719:跟蹤位圖索引的修改 
57、10731:跟蹤游標聲明 
58、10928:跟蹤PL/SQL執行 
59、10938:轉儲PL/SQL執行統計信息 
最后要說明的是,由于版本不同以上語法可能有些變化,但大多數還是可用的。 Event Reference 
				10013 - Monitor Transaction Recovery			
				10270 - Debug Shared Cursors			
				10015 - Dump Undo Segment Headers			
				10357 - Debug Direct Path			
				10032 - Dump Sort Statistics			
				10390 - Dump Parallel Execution Slave Statistics			
				10033 - Dump Sort Intermediate Run Statistics			
				10391 - Dump Parallel Execution Granule Allocation			
				10045 - Trace Free List Management Operations			
				10393 - Dump Parallel Execution Statistics			
				10046 - Enable SQL Statement Trace			
				10500 - Trace SMON Process			
				10053 - Dump Optimizer Decisions			
				10608 - Trace Bitmap Index Creation			
				10060 - Dump Predicates			
				10704 - Trace Enqueues			
				10065 - Restrict Library Cache Output for State Object Dumps			
				10706 - Trace Global Enqueue Manipulation			
				10079 - Dump SQL*Net Statistics			
				10708 - Trace RAC Buffer Cache			
				10081 - Dump High Water Mark Changes			
				10710 - Trace Bitmap Index Access			
				10104 - Dump Hash Join Statistics			
				10711 - Trace Bitmap Index Merge Operation			
				10128 - Dump Partition Pruning Information			
				10712 - Trace Bitmap Index OR Operation			
				10200 - Dump Consistent Reads			
				10713 - Trace Bitmap Index AND Operation			
				10201 - Dump Consistent Read Undo Application			
				10714 - Trace Bitmap Index MINUS Operation			
				10220 - Dump Changes to Undo Header			
				10715 - Trace Bitmap Index Conversion to ROWIDs			
				10221 - Dump Undo Changes			
				10716 - Trace Bitmap Index Compress / Decompress			
				10224 - Dump Index Block Splits / Deletes			
				10717 - Trace Bitmap Index Compaction			
				10225 - Dump Changes to Dictionary Managed Extents			
				10719 - Trace Bitmap Index DML			
				10241 - Dump Remote SQL Execution			
				10730 - Trace Fine Grained Access Predicates			
				10246 - Trace PMON Process			
				10731 - Trace CURSOR Statements			
				10248 - Trace Dispatcher Processes			
				10928 - Trace PL/SQL Execution			
				10249 - Trace Shared Server (MTS) Processes			
				10938 - Trace PL/SQL Execution Statistics			Event 10013 - Monitor Transaction Recovery This event can be used to trace transaction recovery during startup.
For example:Event 10015 - Dump Undo Segment Headers

undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined undefined
undefined

--NOTICE  --------------------------------------- --PL/SQL TRACE INFORMATION IS NOW IN THE DATABASE-- To create the trace tables, use the script. ---- rdbms/admin/tracetab.sql under ORACLE_HOME  --

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

向AI問一下細節

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

AI

陇川县| 红河县| 正镶白旗| 日喀则市| 北碚区| 平山县| 沅陵县| 瑞金市| 高碑店市| 甘谷县| 虞城县| 曲阳县| 甘德县| 赣榆县| 共和县| 定远县| 体育| 苏尼特左旗| 常州市| 秭归县| 通道| 临漳县| 桃源县| 河池市| 北碚区| 纳雍县| 新宁县| 萍乡市| 视频| 富源县| 英山县| 台州市| 滦平县| 噶尔县| 邹城市| 安乡县| 大名县| 青川县| 霍州市| 綦江县| 唐海县|