Oracle Database:利用ADRCI來安全刪除tnslsnr log file

 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

修改 Ubuntu 20.04 系統時區