Oracle 啟動歸檔日誌的狀態下,會在指定的歸檔日誌目錄生成大量的日誌檔案,而且這些日誌檔案預設是不會定期清理。長時間運作後,會佔用大量的儲存空間,最終可能導致 Oracle 沒有足夠的空間維持啟動狀態。
若磁碟空間滿了會影響業務,因此需要定期清理過期歸檔日誌。
在 Oracle 的控制檔案中記錄着每一個歸檔日誌檔案的相關資訊。當手動刪除了歸檔日誌的物理檔案後,控制檔案中依然記錄着已刪除的歸檔日誌資訊。所以當我們刪除歸檔日誌檔案時,不僅需要刪除物理檔案,還要刪除控制檔案中對應的資訊。
確定歸檔日誌位置,歸檔日誌路徑不一定相同,如果不清楚歸檔日誌在哪,可以透過命令find / -name *.dbf尋找。
這種方法,可以將控制檔案中記錄資訊和物理檔案同步刪除,更為方便。
登入 rman 。
使用命令:rman target /
可以看到已經進入RMAN。
使用命令查看所有歸檔日誌資訊:
list archivelog all;
使用命令刪除 3 天前的歸檔日誌,在刪除控制檔案記錄的同時,也會將物理檔案刪除。
delete archivelog all completed before 'SYSDATE - 3';
在確認位置輸入 YES 即可成功刪除。
在上一步中刪除的檔案,觀察物理檔案列表後,可以看到物理檔案也會被同步刪除。
如果之前手動刪除過物理檔案,可以查看這個方法,將控制檔案中歸檔日誌記錄刪除
刪除物理檔案:xxxx.dbf
進入存放dbf檔案的位置,然後使用命令:
rm -f 檔案名稱.dbf
透過如下命令查看Oracle控制檔案記錄歸檔日誌資訊,發現"xxx.dbf"還存在
登入rman。
如果之前已經刪除過物理檔案,並沒有刪除控制檔案中的資訊,請看如下操作:
crosscheck archivelog all;
優先使用這個命令,覈驗比對物理檔案和歸檔日誌記錄資訊一致
list expired archivelog all;
crosscheck 後,可以使用這個命令,查看有哪些過期的日誌檔案
delete expired archivelog all;
刪除過期日誌檔案,在執行命令後,會提示你將要刪除哪些過期的日誌檔案
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙