自 Oracle Database 11g 發行版 1 起,所有跟蹤、意外事件轉儲和程序包、預警日誌、健康狀況監視報告、核心轉儲等文件都存儲在 ADR 這一基於文件的資料檔案庫中,以提供數據庫診斷數據。它對多個實例和多種產品使用一個統一的目錄結構,並存儲在任何數據庫之外。其位置由 DIAGNOSTIC_DEST 初始化參數設置。如果省略該參數或將其留空,則數據庫在啓動時按如下所示設置 DIAGNOSTIC_DEST:如果設置了環境變量 ORACLE_BASE,DIAGNOSTIC_DEST 會設置爲 $ORACLE_BASE。如果未設置環境變量 ORACLE_BASE,DIAGNOSTIC_DEST 會設置爲 $ORACLE_HOME/log。
adrci命令可用於管理ADR下相關日誌,.trc,.trm文件不再需要手動或寫腳本去定時清理,使用adrci即可實現自動清理:
[oracle@prodb ~]$ adrci
ADRCI: Release 11.2.0.4.0 - Production on Thu May 31 14:32:48 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
ADR base = "/u01"
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>
1.顯示adr_home
adrci> show homes
ADR Homes:
diag/tnslsnr/prodb/listener
diag/rdbms/prodb/prodb
diag/clients/user_oracle/host_3001804591_80
2.指定adr_home
adrci> set home diag/rdbms/prodb/prodb
adrci> show homes
ADR Homes:
diag/rdbms/prodb/prodb
3.顯示alter文件
adrci> show alert #按q退出
adrci> show alert -tail 10 #顯示最後10行
adrci> show alert -tail 10 #tail -f alert_sid.log
adrci> show alert -p "message_text like '%ORA%'"
3.顯示告警事件
adrci> show incident
adrci> show incident -mode detail
adrci> show incident -mode detail -p "incident_id=123"
4.顯示問題
adrci> show problem
5.刪除10天前的incident 14400=60min2410
adrci> purge -age 14400 -type incident
6.生成診斷package
創建邏輯包
adrci> ips create package incident 373
adrci> ips add incident 168 package 1
輸出物理包
adrci>ips generate package 1 in /home/oracle
可將生成的包提交給SR用於診斷
7.設置trc,trm日誌保留天數爲5-7天。等號後爲小時
adrci> set control (SHORTP_POLICY = 120);
adrci> set control (LONGP_POLICY = 168);