Oracle 12c環境下查詢,alert日志並不在bdump目錄下,看到網上和書上都寫着可以通過初始化參數background_dump_dest來查看alter日志路徑,還說警告日志文件的缺省位置是%Oracle_base%\admin\orcl\bdump,其實12c中,上述路徑都不是真正存放警告日志的路徑。
真是路徑是要需要通過v$diag_info視圖來查詢,為什么呢?
因為在ORACLE 12c中,引入了ADR(Automatic Diagnostic Repository(自動診斷倉庫):一個存放數據庫診斷日志、跟蹤文件的目錄,關於ADR對應的目錄位置可以通過查看v$diag_info系統視圖。其實11g中也有v$diag_inifo,說是可以直接通過show parameter background_dump_dest來查看警告日志路徑,但我沒有測試過。
下面我是我本機測試結果,數據庫版本的是12.2.0.1
select name,value from v$diag_info;
NAME VALUE
--------------- --------------------------------------------------
Diag Enabled TRUE
ADR Base D:\app\oracle
ADR Home D:\app\oracle\diag\rdbms\orcl\orcl
Diag Trace D:\app\oracle\diag\rdbms\orcl\orcl\trace
Diag Alert D:\app\oracle\diag\rdbms\orcl\orcl\alert
Diag Incident D:\app\oracle\diag\rdbms\orcl\orcl\incident
Diag Cdump D:\app\oracle\diag\rdbms\orcl\orcl\cdump
Health Monitor D:\app\oracle\diag\rdbms\orcl\orcl\hm
Default Trace File D:\app\oracle\diag\rdbms\orcl\orcl\trace\orcl_ora_3392.trc
Active Problem Count 1
Active Incident Count 6
Diag Trace對應的目錄為文本格式的告警日志文件所在的目錄,而Diag Alert對應的目錄為XML格式的警告日志(對應為log.xml),實際上,你也可以在trace目錄下可以看到一個alter_orcl的文本文件,它也是警告日志文件,只是是文本型的。我簡單對比了一下log.xml和alter_orcl.txt,內容差不和一樣。可能有些不一樣,大家可以詳細對比下。