oracle刪除歸檔日誌的實現方法
oracle歸檔日誌滿了後,就需要刪除一部分歸檔日誌,下文對oracle刪除歸檔日誌的方法作了詳盡的闡述,如果您感興趣的話,不妨一看。
oracle刪除歸檔日誌使我們經常會用到的操作,下面就為您詳細介紹oracle刪除歸檔日誌的實現方法,希望對您能夠有所幫助。
當oracle 歸檔日誌滿了後,將無法正常登入oracle,需要刪除一部分歸檔日誌才能正常登入oracle。
一、首先刪除歸檔日誌物理檔案,歸檔日誌一般都是位於archive目錄下,aix系統下檔案格式為「1_17884_667758186.dbf」,建議操作前先對資料庫進行備份,刪除時至少保留最近幾天的日誌用於資料庫恢復。
二、把歸檔日誌的物理檔案刪除後,我們就可以正常登入oracle了,但是還沒完全把歸檔日誌刪除乾淨,oracle的controlfile中仍然記錄著這些archivelog的資訊,在oracle的oem管理器中有視覺化的日誌展現出,當我們手工清除archive目錄下的檔案後,這些記錄並沒有被我們從controlfile中清除掉,接下去我們要做的就是這個工作。
我們利用rman進行刪除操作,oracle刪除歸檔日誌操作步驟如下:(win客戶端系統為例)
1.指定資料庫例項
c:\documents and settings\administrator>set oracle_sid =orcl
2.連線資料庫
c:\documents and settings\administrator>rman target sys/sysadmin@orcl
3.檢視歸檔日誌的狀態
rman> list archivelog all;
4.手工刪除歸檔日誌檔案
rman> delete archivelog all completed before 'sysdate-7';
另外,用 rman delete的時候可能會報:rman-08137: warning: archived log not deleted, needed for standby or upstream capture process
嘗試刪除歸檔日誌,oracle提示這些歸檔日誌還要用到standby資料庫上面,不讓刪除,
這個特點不錯,可以避免由於沒有同步standby而誤刪除archivelog的情況。
要刪除,[color=red]需要加上force刪除就可以了。[/color]
說明:sysdata-7,表明當前的系統時間7天前,before關鍵字表示在7天前的歸檔日誌,如果使用了閃回功能,也會刪除閃回的資料。
同樣道理,也可以刪除從7天前到現在的全部日誌,不過這個命令要考慮清楚,做完這個刪除,最好馬上進行全備份資料庫
delete archivelog from time 'sysdate-7'; 刪除從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子項上做很多操作,實現更複雜的功能。
oracle 刪除歸檔日誌
1 常用命令 sql show parameter log archive dest sql archive log list sql select from v flash recovery area usage archivelog 96.62 0 141 sql select sum perc...
oracle刪除歸檔日誌
1 擴大flash recovery area的空間 alter system set db recovery file dest size 12g scope both 2 刪除歸檔日誌 2.1 利用rman刪除無效或備份過的歸檔 1 rman target rman target admin a...
刪除oracle歸檔日誌
方法1 正常情況下應該在rman下刪除archivelog rman delete archivelog all 刪除所有歸檔日誌 list archivelog all completed before sysdate 1 檢視指定日期的歸檔日誌 delete archivelog all com...