程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> ORACLE歸檔日志刪除方法

ORACLE歸檔日志刪除方法

編輯:Oracle數據庫基礎

如何才能刪除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子項上做很多操作,實現更復雜的功能。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved