Oracle在開啟了歸檔模式後,會在指定的archive目錄下產生很多的archivelog文件,而且默認是不會定期清除的,時間長久了,該文件夾會占用很大的空間。
問題:如何定期正確刪除archivelog文件呢? 很多人直接在archive目錄下刪除文件,這樣其實不能達到在Oracle CLF文件中刪除文件記錄的效果。
正確方法:
1.用RMAN連接目標DB:在命令行界面輸入以下命令
RMAN target sys/*@orcl**
2.在RMAN命令窗口中,輸入如下命令:
crosscheck archivelog all; delete expired archivelog all;
或者刪除指定時間之前的archivelog:
DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7'; (指定刪除7天前的歸檔日志)
3.其它相關命令: 查看歸檔日志列表:
list archivelog all;
查看失效的歸檔日志列表:
list expired archivelog all;
4.定期清除archivelog: 可以將如下代碼寫成.bat文件,在控制面版的任務計劃下添加新的定時任務:
RMAN target sys/*@orcl crosscheck archivelog all; delete expired archivelog all;