標籤:問題 基礎 基於 mon 語句 包含 select 產生 成功
“Database(資料庫)”首頁>“Related Links相關連結)”地區> “Alert Log Content (預警日誌內容)”
查看預警日誌
每個資料庫都有一個alert_<sid>.log檔案。此檔案位於資料庫所在的伺服器中,
如果設定了$ORACLE_BASE,則此檔案預設儲存在$ORACLE_BASE/diag/rdbms/<db_name>/<SID>/trace中。
資料庫預警檔案是按時間順序列出訊息的記錄檔,例如:
啟動時使用的任何非預設初始化參數
已發生的所有內部錯誤( ORA-600) 、塊損壞錯誤( ORA-1578 ) 和死結錯誤( ORA-60 )
管理操作,如SQL 陳述式CREATE 、ALTER、DROP DATABASE 和TABLESPACE,以及Enterprise Manager 或SQL*Plus 語句STARTUP、SHUTDOWN 、ARCHIVE LOG和RECOVER
與共用伺服器和指派程式進程的功能相關的多個訊息和錯誤
自動重新整理實體化視圖時發生的錯誤
Oracle DB 使用預警日誌來保留這些事件的記錄,以此作為在操作員控制台上顯示這些資訊的替代方法。
(許多系統會同時在控制台中顯示這些資訊。)如果某個管理操作成功完成,
系統會將“completed(已完成)”訊息和一個時間戳記寫入預警日誌中。
Enterprise Manager 可監視預警記錄檔,並向你通知嚴重的錯誤。你還可以查看日誌,
以檢查不嚴重的錯誤和參考性訊息。
由於預警檔案會增長到無法管理的大小,因此可以定期備份該檔案,並刪除當前的預警檔案。
當資料庫嘗試再次寫入預警檔案時,會重新建立一個新預警檔案。
註:$ORACLE_BASE/diag/rdbms/<db_name>/<SID>/alert 目錄中有一個XML版本的預警日誌。
要通過SQL*Plus 確定預警日誌的位置,請執行以下操作:
使用SQL*Plus(或其它查詢工具,如 SQL Developer)串連到資料庫。
查詢V$DIAG_INFO 視圖。
要查看不帶XML 標記的純文字預警日誌,請執行以下操作:
在V$DIAG_INFO 查詢結果中,記下對應於Diag Trace 條目的路徑。將目錄更改至該路徑。
使用文字編輯器開啟alert_SID.log 檔案。
要查看XML 格式的預警日誌,請執行以下操作:
在V$DIAG_INFO 查詢結果中,記下對應於Diag Alert條目的路徑。將目錄更改至該路徑。
使用文字編輯器開啟log.xml檔案。
[email protected]> select * from v$diag_info;
INST_ID NAME VALUE
---------- ------------------------- -------------------------------------------------------
1 Diag Enabled TRUE
1 ADR Base /u01/app/oracle
1 ADR Home /u01/app/oracle/diag/rdbms/test0924/test0924
1 Diag Trace /u01/app/oracle/diag/rdbms/test0924/test0924/trace
1 Diag Alert /u01/app/oracle/diag/rdbms/test0924/test0924/alert
1 Diag Incident /u01/app/oracle/diag/rdbms/test0924/test0924/incident
1 Diag Cdump /u01/app/oracle/diag/rdbms/test0924/test0924/cdump
1 Health Monitor /u01/app/oracle/diag/rdbms/test0924/test0924/hm
1 Default Trace File /u01/app/oracle/diag/rdbms/test0924/test0924/trace/test0924_ora_24429.trc
1 Active Problem Count 0
1 Active Incident Count 0
11 rows selected.
使用追蹤檔案
每個伺服器和後台進程都會向關聯的追蹤檔案寫入資訊。
錯誤資訊寫入相應的追蹤檔案中。
自動診斷資料檔案庫(ADR) 。
– 包含整個系統的跟蹤和事件記錄資訊的中央資料檔案庫
– 儲存資料庫診斷資料,例如:
— 跟蹤
— 預警日誌
— 健康情況監視器報告
每個伺服器和後台進程都會向關聯的追蹤檔案寫入資訊。進程檢測到內部錯誤時,
會將有關錯誤的資訊轉儲到進程的追蹤檔案。如果發生了內部錯誤並且在追蹤檔案中寫入了資訊,
則管理員應與Oracle支援服務部門聯絡。與後台進程關聯的追蹤檔案的所有檔案名稱均包含產生該追蹤檔案的進程的名稱。
唯一的例外是由作業隊列進程( Jnnn) 產生的追蹤檔案。
追蹤檔案中的附加資訊可以提供用於最佳化應用程式或執行個體的指導資訊。後台進程總會在適當的時候將該資訊寫入追蹤檔案中。
從Oracle Database 11 g起,引入了一個進階錯誤診斷基礎結構,用於避免、檢測、診斷和解決問題。
特別是此功能所針對的問題包含嚴重錯誤,例如由資料庫代碼Bug、中繼資料損壞和客戶資料損毀導致的嚴重錯誤。
發生嚴重錯誤時,會為其分配一個意外事件編號;系統將立即捕獲該錯誤的診斷資料(如追蹤檔案),並使用該編號標記此資料。
該資料隨後儲存在自動診斷資料檔案庫(ADR,資料庫之外的基於檔案的資料檔案庫)中,
以後可以通過意外事件編號在其中檢索和分析該資料。
ADR 是包含整個系統的跟蹤和事件記錄資訊的中央資料檔案庫,
用於提供資料庫診斷資料(如跟蹤、預警日誌、健康情況監視器報告等)。
ADR 根目錄又稱為ADR 基目錄,其位置由DIAGNOSTIC_DEST初始化參數設定。
如果省略該參數或將其留空,則資料庫在啟動時按如下所示設定DIAGNOSTIC_DEST:
如果設定了ORACLE_BASE 環境變數,則會將DIAGNOSTIC_DEST設定為由ORACLE_BASE 指定的目錄。
如果未設定ORACLE_BASE 環境變數,則將DIAGNOSTIC_DEST設定為$ORACLE_HOME/log 。
ADR 主目錄的位置由以下路徑給定,該路徑以ADR 基目錄開頭:./diag/product_type/db_id/instance_id
備忘:隨筆中內容來源於網上資料整理,僅供參考。
Oracle DB 查看預警日誌