在Oracle 11g中引入了自動診斷信息庫(ADR),它提供了一個統一而且一致的機制來存儲、格式化並定位所有的數據庫診斷信息(易於使用的文件結構)。ADR關聯各種組件(比如Oracle RAC、Oracle Clusterware、OCI、Net、進程等)的錯誤,並自動為嚴重的錯誤生成事故和提供事故管理功能。因此,ADR可以顯著減少解決事故和問題的時間。
通常在使用傳統的初始化參數的時候,比如BACKGROUND_DUMP_DEST、CORE_DUMP_ DEST和USER_DUMP_DEST等,如果想讓清理文件的過程自動進行,就必須使用自定義過程去手動清理。用ADR和ADR的命令行界面(ADRCI),您可以設置控制這些文件保存時間的策略:
adrci> set control (SHORTP_POLICY = 360 ) adrci> set control (LONGP_POLICY = 4380 )
使用ADR時,傳統的CORE_DUMP_DEST、BACKGROUND_DUMP_DEST和USER_DUMP_DEST位置改變為DIAGNOSTIC_DEST。因此,如果指定了參數DIAGNOSTIC_DEST,由原來的參數設置的位置將被忽略。
使用ADR時的位置變化如下:
原始位置 新位置
CORE_DUMP_DEST DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/cdump
BACKGROUND_DUMP_DEST
(Alert Log text)
(Alert Log XML) DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/trace
DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/alert
BACKGROUND_DUMP_DEST DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/trace
USER_DUMP_DEST DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/< INSTANCENAME >/trace
如下是ADR文件位置的縮略列表:
DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/trace DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/alert DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/cdump DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/incident DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/hm DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/incpkg DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/ir DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/lck DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/metadata DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/sweep DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/stage
在默認情況下,DIAGNOSTIC_DEST 的位置是 $ORACLE_HOME/log
然而,如果在環境變量中設置了ORACLE_BASE,那麼DIAGNOSTIC_DEST就會被設置為$ORACLE_BASE。