Oracle ADR介紹
簡介:
ADR 全稱 Automatic Diagnostic Repository
Oracle 11g 推出了 ADR , ADR 儲存所有元件 (DB 、 ASM 、 CRS 、監聽等 ) 的日誌和跟蹤日誌,提高了資料庫的診斷能力。
ADR 產品 / 元件型別子目錄
Oracle 資料庫的 ADR 主路徑元件
例如,對於SID 和資料庫唯一名稱均等於 orclbi 的資料庫, ADR 主 目錄將 位於以下位置:
ADR_base/diag/rdbms/orclbi/orclbi/
同樣,單個例項環境中Oracle ASM 例項的 ADR 主 目錄 為:
ADR_base/diag/asm/+asm/+asm/
ADR 主頁子目錄
在每個ADR 主目錄中都有包含診斷資料的子目錄。
表9-2 列出了其中一些子目錄及其內容。
圖9-2 說明了資料庫例項的 ADR 的完整目錄層次結構。
使用V$DIAG_INFO 檢視檢視 ADR 位置
V$DIAG_INFO 檢視列出了當前 Oracle 資料庫例項的所有重要 ADR 位置。
SELECT * FROM V$DIAG_INFO; INST_ID NAME VALUE ------- --------------------- ------------------------------------------------------------- 1 Diag Enabled TRUE 1 ADR Base /u01/oracle 1 ADR Home /u01/oracle/diag/rdbms/orclbi/orclbi 1 Diag Trace /u01/oracle/diag/rdbms/orclbi/orclbi/trace 1 Diag Alert /u01/oracle/diag/rdbms/orclbi/orclbi/alert 1 Diag Incident /u01/oracle/diag/rdbms/orclbi/orclbi/incident 1 Diag Cdump /u01/oracle/diag/rdbms/orclbi/orclbi/cdump 1 Health Monitor /u01/oracle/diag/rdbms/orclbi/orclbi/hm 1 Default Trace File /u01/oracle/diag/rdbms/orclbi/orclbi/trace/orcl_ora_22769.trc 1 Active Problem Count 8 1 Active Incident Count 20
下表描述了此檢視顯示的一些資訊
使用V$DIAG_Critical_ERROR 檢視檢視嚴重錯誤
V$DIAG_CRITICAL_ERROR 檢視列出了當前 Oracle 資料庫版本中指定為關鍵錯誤的所有非內部錯誤。
該檢視未列出內部錯誤,因為內部錯誤始終被指定為關鍵錯誤。
以下示例顯示了Oracle Database 11g Release 2 ( 11.2.0.2 )中 V$DIAG_CRITICAL_ERROR 檢視的輸出:
SELECT * FROM V$DIAG_CRITICAL_ERROR; FACILITY ERROR ---------- ---------------------------------------------------------------- ORA 7445 ORA 4030 ORA 4031 ORA 29740 ORA 255 ORA 355 ORA 356 ORA 239 ORA 240 ORA 494 ORA 3137 ORA 227 ORA 353 ORA 1578 ORA 32701 ORA 32703 ORA 29770 ORA 29771 ORA 445 ORA 25319 OCI 3106 OCI 3113 OCI 3135
表 9-4 V$DIAG_CRITICAL_ERROR 檢視中的資料
ADRCI 介紹
自動診斷儲存庫命令直譯器( ADRCI )實用程式是用於管理 Oracle 資料庫診斷資料的命令列工具。
關於 ADR 命令直譯器( ADRCI )實用程式
ADRCI 是一個命令列工具,它是 Oracle 資料庫 11g 中引入的故障診斷基礎結構的一部分。 ADRCI 使您能夠:
1. 在自動診斷庫( ADR )中檢視診斷資料。
2. 檢視 Health Monitor 報告。
3. 將事件和問題資訊打包到 zip 檔案中,以便傳輸到 Oracle 支援部門。
4. 診斷資料包括事件和問題描述、跟蹤檔案、轉儲、執行狀況監視器報告、警報日誌條目等。
5. ADR 資料由 ADR 目錄上的作業系統許可權保護,因此無需登入 ADRCI 。
6. ADRCI 具有豐富的命令集,可以在互動模式或指令碼中使用。
登入 adcri
PATH 環境變數必須包含 ORACLE_HOME/bin 。
[oracle@cjcos02 ~]$ adrci ADRCI: Release 11.2.0.4.0 - Production on Sat Dec 3 15:53:28 2022 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. ADR base = "/oracle/app/oracle" adrci>
檢視幫助資訊
adrci> help HELP [topic] Available Topics: CREATE REPORT ECHO EXIT HELP HOST IPS PURGE RUN SET BASE SET BROWSER SET CONTROL SET ECHO SET EDITOR SET HOMES | HOME | HOMEPATH SET TERMOUT SHOW ALERT SHOW BASE SHOW CONTROL SHOW HM_RUN SHOW HOMES | HOME | HOMEPATH SHOW INCDIR SHOW INCIDENT SHOW PROBLEM SHOW REPORT SHOW TRACEFILE SPOOL There are other commands intended to be used directly by Oracle, type "HELP EXTENDED" to see the list adrci> help extended HELP [topic] Available Topics: BEGIN BACKUP CD CREATE STAGING XMLSCHEMA CREATE VIEW DDE DEFINE DELETE DESCRIBE DROP VIEW END BACKUP INSERT LIST DEFINE MERGE ALERT MERGE FILE MIGRATE QUERY REPAIR SELECT SET COLUMN SHOW CATALOG SHOW DUMP SHOW SECTION SHOW TRACE SHOW TRACEMAP SWEEP UNDEFINE UPDATE VIEW
在批處理模式下使用ADRCI
批處理模式允許您一次執行一系列ADRCI 命令,而無需提示輸入 。
[oracle@cjcos02 ~]$ adrci -help Syntax: adrci [-help] [script=script_filename] [exec = "one_command [;one_command;...]"] Options Description (Default) ----------------------------------------------------------------- script script file name (None) help help on the command options (None) exec exec a set of commands (None) -----------------------------------------------------------------
[oracle@cjcos02 ~]$ adrci exec="show homes" ADR Homes: diag/rdbms/cjc/cjc diag/clients/user_oracle/host_2119060462_80 diag/tnslsnr/cjcos02/listener
執行多個命令
[oracle@cjcos02 ~]$ adrci exec="show homes;show incident" ADR Homes: diag/rdbms/cjc/cjc diag/clients/user_oracle/host_2119060462_80 diag/tnslsnr/cjcos02/listener ADR Home = /oracle/app/oracle/diag/rdbms/cjc/cjc: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- ---------------------------------------- 20553 ORA 600 [kccsbck_first] 2022-10-15 10:40:54.717000 +08:00 ADR Home = /oracle/app/oracle/diag/clients/user_oracle/host_2119060462_80: ************************************************************************* 0 rows fetched ADR Home = /oracle/app/oracle/diag/tnslsnr/cjcos02/listener: ************************************************************************* 0 rows fetched
透過指令碼執行命令
[oracle@cjcos02 ~]$ vi adrci.txt SET HOMEPATH diag/rdbms/orcl/orcl; SHOW ALERT -term [oracle@cjcos02 ~]$ adrci script=adrci.txt ...... 2022-09-03 21:14:05.698000 +08:00 03-SEP-2022 21:14:05 * service_update * cjc * 0 2022-09-03 21:14:32.708000 +08:00 03-SEP-2022 21:14:32 * service_update * cjc * 0
設定主目錄
如果存在多個例項,可以指定特定的例項進行檢視
adrci> show homes ADR Homes: diag/rdbms/orclbi/orclbi1 diag/rdbms/orclbi/orclbi2 adrci> set homepath diag/rdbms/orclbi/orclbi2 adrci> show homes ADR Homes: diag/rdbms/orclbi/orclbi2
檢視警報日誌 Alert Log
從Oracle Database 11g 開始,警報日誌以 XML 格式檔案和文字檔案的形式編寫。
您可以使用任何文字編輯器檢視檔案的格式,也可以執行ADRCI 命令檢視 XML 格式的警報日誌,其中省略了 XML 標記。
預設情況下,ADRCI 在預設編輯器中顯示警報日誌。
可以使用SET EDITOR 命令更改預設編輯器。
adrci> show alert Choose the alert log from the following homes to view: 1: diag/rdbms/cjc/cjc 2: diag/clients/user_oracle/host_2119060462_80 3: diag/tnslsnr/cjcos02/listener Q: to quit
檢視告警日誌常用命令
從末尾開始檢視
adrci> show alert -tail
需要指定 HOMEPATH
DIA-48449: Tail alert can only apply to single ADR home
adrci> SET HOMEPATH diag/rdbms/cjc/cjc
adrci> show alert -tail
檢視末尾 10 行
adrci> show alert -tail 1 0
實時檢視
adrci> show alert -tail -f
adrci> show alert -tail 1 0 -f
將結果輸出到檔案
adrci> SPOOL /home/mysql/cjc1203.log
adrci> SHOW ALERT -TERM
adrci> SPOOL OFF
查詢指定錯誤
adrci> set home diag/rdbms/cjc/cjc
adrci> SHOW ALERT -P "MESSAGE_TEXT LIKE '%ORA-01110%'"
結果如下:
...... 2022-10-15 14:32:32.616000 +08:00 Errors in file /oracle/app/oracle/diag/rdbms/cjc/cjc/trace/cjc_j000_5143.trc: ORA-12012: error on auto execute of job 3 ORA-00376: file 5 cannot be read at this time ORA-01110: data file 5: '/oradata/cjc/cjctbs01.dbf' ORA-06512: at "CJC.TEST_PRO", line 4 ORA-06512: at line 1
查詢跟蹤檔案 tracefile
檢視所有跟蹤檔案
adrci> SHOW TRACEFILE
檢視 mmon 相關跟蹤檔案
adrci> SHOW TRACEFILE %mmon%
列出指定目錄下,包含 mmon 的所有檔名稱
adrci> SHOW TRACEFILE %mmon% -PATH /oracle/app/oracle/diag/rdbms/cjc/cjc/trace
按最近修改時間進行排序
adrci> SHOW TRACEFILE -RT
列出了與事件編號1681 相關的所有跟蹤檔案的名稱
adrci> SHOW TRACEFILE -I 1681
檢視事件 Incidents
adrci> SHOW INCIDENT
ADR Home = /oracle/app/oracle/diag/rdbms/cjc/cjc: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- ---------------------------------------- 20553 ORA 600 [kccsbck_first] 2022-10-15 10:40:54.717000 +08:00 1 rows fetched
生成更詳細的報告
adrci> SHOW INCIDENT -MODE BRIEF
adrci> SHOW INCIDENT -MODE DETAIL
ADR Home = /oracle/app/oracle/diag/rdbms/cjc/cjc: ************************************************************************* ********************************************************** INCIDENT INFO RECORD 1 ********************************************************** INCIDENT_ID 20553 STATUS ready CREATE_TIME 2022-10-15 10:40:54.717000 +08:00 PROBLEM_ID 1 CLOSE_TIME <NULL> FLOOD_CONTROLLED none ERROR_FACILITY ORA ERROR_NUMBER 600 ERROR_ARG1 kccsbck_first ERROR_ARG2 1 ERROR_ARG3 3760267893 ERROR_ARG4 <NULL> ERROR_ARG5 <NULL> ERROR_ARG6 <NULL> ERROR_ARG7 <NULL> ERROR_ARG8 <NULL> ERROR_ARG9 <NULL> ERROR_ARG10 <NULL> ERROR_ARG11 <NULL> ERROR_ARG12 <NULL> SIGNALLING_COMPONENT <NULL> SIGNALLING_SUBCOMPONENT <NULL> SUSPECT_COMPONENT <NULL> SUSPECT_SUBCOMPONENT <NULL> ECID <NULL> IMPACTS 0 PROBLEM_KEY ORA 600 [kccsbck_first] FIRST_INCIDENT 20553 FIRSTINC_TIME 2022-10-15 10:40:54.717000 +08:00 LAST_INCIDENT 20553 LASTINC_TIME 2022-10-15 10:40:54.717000 +08:00 IMPACT1 34668546 IMPACT2 0 IMPACT3 0 IMPACT4 0 KEY_NAME ProcId KEY_VALUE 19.1 KEY_NAME PQ KEY_VALUE (16777216, 1665801648) KEY_NAME Client ProcId KEY_VALUE oracle@cjcos02 (TNS V1-V3).6377_140737352873792 KEY_NAME SID KEY_VALUE 1.3 OWNER_ID 1 INCIDENT_FILE /oracle/app/oracle/diag/rdbms/cjc/cjc/trace/cjc_ora_6377.trc OWNER_ID 1 INCIDENT_FILE /oracle/app/oracle/diag/rdbms/cjc/cjc/incident/incdir_20553/cjc_ora_6377_i20553.trc 1 rows fetched
僅顯示了事件1681 的詳細事件報告
adrci> SHOW INCIDENT -MODE DETAIL -P "INCIDENT_ID=1681"
參考:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2926599/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE OWI介紹Oracle
- ORACLE ORION介紹Oracle
- oracle VPD介紹Oracle
- Oracle recyclebin介紹Oracle
- ORACLE鎖介紹Oracle
- Oracle ACE 介紹Oracle
- oracle job 介紹Oracle
- Oracle Spatial 介紹Oracle
- oracle11g ADR 位置Oracle
- oracle的adr清理incidentOracleIDE
- Oracle DRM原理介紹Oracle
- Oracle BBED 工具介紹Oracle
- Oracle RAC 概念介紹Oracle
- 【轉】Oracle ASM介紹OracleASM
- ORACLE函式介紹Oracle函式
- ORACLE TSPITR 介紹Oracle
- Oracle dblink介紹Oracle
- Oracle Data Guard 介紹Oracle
- Oracle biee 中文介紹Oracle
- Oracle Data Integrator 介紹...Oracle
- Oracle DBV 工具 介紹Oracle
- Oracle 常用HINT介紹Oracle
- 介紹oracle外部表Oracle
- Oracle x$table介紹Oracle
- ORACLE 檢視介紹Oracle
- 【Oracle】Opatch 工具介紹Oracle
- 【Oracle】Oracle logminer功能介紹Oracle
- Oracle ADR packaging incidents(打包事件)OracleIDE事件
- 系統級alias vs Oracle ADR功能Oracle
- 「Oracle」Oracle高階查詢介紹Oracle
- Oracle 統計資訊介紹Oracle
- ORACLE MTS的介紹(zt)Oracle
- Oracle補丁介紹一Oracle
- oracle常用函式介紹Oracle函式
- 【NULL】Oracle null值介紹NullOracle
- Oracle CRS/GI 程式介紹Oracle
- Oracle Directory(目錄)介紹Oracle
- Oracle分割槽表介紹Oracle