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