Oracle 刪除歸檔日誌實例[轉貼]
原文來自 -->飛帆網 http://www.pyoix.com
當Oracle 歸檔日誌滿了後,將無法正常登入Oracle,需要刪除一部分歸檔日誌才能正常登入Oracle。
一、首先刪除歸檔日誌物理文件,歸檔日誌一般都是位於archive目錄下,AIX系統下文件格式爲「1_17884_667758186.dbf」,建議操作前先對數據庫進行備份,刪除時至少保留最近幾天的日誌用於數據庫恢復。
二、把歸檔日誌的物理文件刪除後,我們就可以正常登入Oracle了,但是還沒完全把歸檔日誌刪除幹凈,Oracle的controlfile中仍 然記錄著這些archivelog的信息,在Oracle的OEM管理器中有可視化的日誌展現出,當我們手工清除archive目錄下的文件後,這些記錄 並沒有被我們從controlfile中清除掉,接下去我們要做的就是這個工作。
我們利用RMAN進行刪除操作,操作步驟如下:(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';
說明:
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子項上做很多操作,實現更復雜的功能。
2011年3月29日 星期二
訂閱:
張貼留言 (Atom)
搜尋此網誌
本站大事記
這個部落格(網站)內容以分享LINUX和延伸出的技術文章為主!
特別是為了工作和進修需要,搜集了不少網站連結。
希望對來這裡觀文的朋友們,有提供一些有用的資訊或文章。
但這裡的文章中,也包含個人的心情扎記和隨興言談……
若是當中沒有對上你的口味,請多包涵!
特別是為了工作和進修需要,搜集了不少網站連結。
希望對來這裡觀文的朋友們,有提供一些有用的資訊或文章。
但這裡的文章中,也包含個人的心情扎記和隨興言談……
若是當中沒有對上你的口味,請多包涵!
原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!
原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!
--原序文--
就是當LINUX遇上CISCO啦!他們的結合還能作什麼事…不就是讓這個世界的網路,串…串起來啊…不然你們那能上這網站看部落格!
--原序文--
就是當LINUX遇上CISCO啦!他們的結合還能作什麼事…不就是讓這個世界的網路,串…串起來啊…不然你們那能上這網站看部落格!
我的網誌清單
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
一個多月..14 年前
沒有留言:
張貼留言