Oracle 11g之後,alert log file的位置已經變更了,也推出一個新的工具adrci來更有效率的管理alert、trace、xml log等文件
Oracle DB有許多的log file,之前都是手動以作業系統的指令刪除,下指令時都要十分小心。
登入adrci後,先執行下列指令來查看:
adrci> show base
ADR base is "/TEST_DB/product_test/11.2.0/admin/TEST"
adrci> show homes
ADR Homes:
diag/rdbms/test/TEST
因為tnslsnr的log資料夾路徑如下:
/TEST_DB/product_test/11.2.0/log/diag/tnslsnr/R11/test
所以我先設定base path
adrci> set base /TEST_DB/product_test/11.2.0/log
adrci> show base
ADR base is "/TEST_DB/product_test/11.2.0/log"
檢查base底下的home有兩個,在我的例子裡,實際使用的是diag/tnslsnr/R11/test
adrci> show homes
ADR Homes:
diag/tnslsnr/R11/prod
diag/tnslsnr/R11/test
直接下刪除的指令,我設定的是刪除1440分鐘前的log
adrci> purge -age 1440
DIA-48448: This command does not support multiple ADR homes
結果出現錯誤,其實是說我有多個ADR homes,所以我設定為單一個
adrci> set home diag/tnslsnr/R11/test
adrci> show home
ADR Homes:
diag/tnslsnr/R11/test
再下刪除的指令,這次就成功刪除了。
adrci> purge -age 1440
更多的指令可以參考官方的文檔:
https://docs.oracle.com/cd/E24693_01/server.11203/e22490/adrci.htm#autoId43