如何正確地刪除Archivelog:

超過10年行業(yè)經(jīng)驗,技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序制作,微信開發(fā),APP應(yīng)用開發(fā),同時也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意!
Archivelog并不能直接得從OS層直接物理刪除,因為archivelog的相關(guān)信息是記錄在controlfile中的,當物理刪除后不會改變controlfile的設(shè)置。并且在查詢相關(guān)的動態(tài)視圖(例如v$archived_log)時,該部分日志仍然標注為存在。也就是說Oracle并不認為這些日志被刪除了,所以在刪除archivelog的時候,需要我們在其他地方做一些設(shè)置。
一、使用RMAN清楚物理刪除后的記錄
可以使用RMAN來刪除archivelog,具體可以按以下步驟操作:
1、物理刪除archivelog
2、進入RMAN
3、crosscheck archivelog all;
4、delete expried archivelog all;
這樣就在一些Oracle的記錄中查不到相應(yīng)的archivelog記錄了。
二、直接使用RMAN刪除archivelog
其實在RMAN中是可以使用命令直接將ARCHIVELOG刪除的,命令如下:
RMAN DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
表示刪除姿派7天以前的所有archivelog,但是這個命令的缺點是無法對archivelog進行細致的劃分。
三、使用RMAN備份achivelog后刪除
這是一種最為穩(wěn)妥的方法了,使跡晌賀用RMAN備份archivelog,備份后全部刪除
backup format '/u01/arch_%T_%s_%U' archivelog all delete input;
或者
backup database plus archivelog;
注:我在庫上設(shè)置了Streams后,使用RMAN刪除archivelog會導(dǎo)致報錯RMAN-08137: WARNING:
archive log not deleted as it is still needed. 不知道該如何解決,據(jù)說是10.2的一個bug,如果真
是bug的話,那只能在OS層設(shè)置刪除,或用RMAN進行強制刪除了。
10g之后的版本,Oracle在RMAN中內(nèi)置增加了一項歸檔文件的刪除策略,終于,DBA可以僅通過一項配置就
解決該問題了。該策略對應(yīng)兩個值:
APPLIED ON STANDBY:設(shè)置為該值時,當通過附加的DELETE INPUT子句刪除Standby數(shù)據(jù)庫仍需要的謹野日志
時,會提示RMAN-08137錯誤。不過用戶仍然可以手動地通過DELETE ARCHIVELOG方式刪除。
NONE:設(shè)置為該值時,則不啟用歸檔文件的刪除策略。默認情況下就是NONE。
例如,啟用APPLIED ON STANDBY:
RMAN CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters are successfully stored
RMAN run
{
backup archivelog all delete input format 'ZHSVR044_%d_set=%s_piece=%p_date=%T.ARC.rmn';
}
都知道在controlfile中記錄著每一個archivelog的相關(guān)信息,當然們在OS下把這些物理文件delete掉后,在我們的
controlfile中仍然記錄著這些archivelog的信息,在oracle的OEM管理器中有可視化的日志展現(xiàn)出,當我們手工清除archive目錄下的文件后,這些記錄并沒有被我們從controlfile中清除掉,也就是oracle并不知道這些文件已經(jīng)不存在了!這時候我們要做手工的清除的話,下面我經(jīng)過實驗,可以嘗試這種方法:
1. 進入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
這時候我們再去OEM中看就一定看不到,如果你的從來沒有做過這個動作的話,我們可以比較從這個動作前的controlfile后動作后的controlfile的大小!
ORACLE正確刪除歸檔并回收空間的方法
ORACLE正確刪除歸檔并回收空間的方法
一個ORACLE歸檔日志經(jīng)常滿,表現(xiàn)為/oraarchive 這個文件空間占用100%大家一定抱怨ORACLE為何沒有歸檔維護工具,很多人直接刪除了事,錯了,ORACLE有,而且很智能,可以正確的刪除歸檔和FLASHBACK,不過切記,ORACLE歸檔日志對于ORACLE的數(shù)據(jù)恢復(fù)和備份非常重要,不到萬不得已不要刪除歸檔日志。
刪除歸檔日志的過程
以O(shè)RACLE用戶身份登錄到數(shù)據(jù)庫服務(wù)器主機或通過網(wǎng)絡(luò)連接
進入ORACLE數(shù)據(jù)備份工具
rman target/
或rman target/@orcl
在命令窗口里面執(zhí)行
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
說明
SYSDATA-7,表明當前的系統(tǒng)時間7天前,before關(guān)鍵字表示在7天前的歸檔日志,如果使用了閃回功能,也會刪除閃回的數(shù)據(jù)。
同樣道理,也可以刪除從7天前到現(xiàn)在的全部日志,不過這個命令要考慮清楚,做完這個刪除,最好馬上進行全備份數(shù)據(jù)庫
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';
UNIX/LINUX下也可以通過FIND找到7天前的歸檔數(shù)據(jù),使用EXEC子操作刪除
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
這樣做仍然會在RMAN里留下未管理的歸檔文件
仍需要在RMAN里執(zhí)行下面2條命令
crosscheck archivelog all;
delete expired archivelog all;
所以還不如上面的方法好用,不過用FIND的好處就是,可以在條件上,和EXEC子項上做很多操作,實現(xiàn)更復(fù)雜的功能
3.簡要介紹一下report obsolete命令
使用report obsolete命令報告過期備份
分享名稱:linuxrman命令 linuxman命令的使用
新聞來源:http://chinadenli.net/article25/dspjeji.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)