Oracle正確刪除歸檔並回收空間的方法

來源:互聯網
上載者:User

一個Oracle歸檔日誌經常滿,表現為/oraarchive 這個檔案空間佔用100%大家一定抱怨Oracle為何沒有歸檔維護工具,很多人直接刪除了事,錯了,Oracle有,而且很智能,可以正確的刪除歸檔和 FLASHBACK,不過切記,Oracle歸檔日誌對於Oracle的資料恢複和備份非常重要,不到萬不得已不要刪除歸檔日誌。

刪除歸檔日誌的過程

以Oracle使用者身份登入到資料庫伺服器主機或通過網路連接

進入Oracle資料備份工具
rman target/
或rman target/@orcl
在命令視窗裡面執行
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子項上做很多操作,實現更複雜的功能

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.