如何才能刪除Oracle歸檔日志文件呢?這是很多人都提到過的問題,下面就教您一個Oracle歸檔日志刪除方法,供您參考。
ORACLE歸檔日志經常滿,表現為/oraarchive 這個文件空間占用100%大家一定抱怨ORACLE為何沒有歸檔維護工具,很多人直接刪除了事,錯了,ORACLE有,而且很智能,可以正確的刪除歸檔和 FlashBACK,不過切記,ORACLE歸檔日志對於Oracle的數據恢復和備份非常重要,不到萬不得已不要刪除歸檔日志。
刪除歸Oracle檔日志的過程:
1.以Oracle用戶身份登錄到數據庫服務器主機或通過網絡連接
進入Oracle數據備份工具
rman target/
或rman target/@orcl
2.在命令窗口裡面執行
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
說明
SYSDATA-7,表明當前的系統時間7天前,before關鍵字表示在7天前的歸檔日志,如果使用了閃回功能,也會刪除閃回的數據。
同樣道理,也可以刪除從7天前到現在的全部日志,不過這個命令要考慮清楚,做完這個刪除,最好馬上進行全備份數據庫
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';
UNIX/Linux下也可以通過FIND找到7天前的歸檔數據,使用EXEC子操作刪除
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
這樣做仍然會在RMAN裡留下未管理的歸檔文件
仍需要在RMAN裡執行下面2條命令
crosscheck archivelog all;
delete expired archivelog all;
所以還不如上面的方法好用,不過用FIND的好處就是,可以在條件上,和EXEC子項上做很多操作,實現更復雜的功能。