Oracle歸檔日誌刪除
我們都都知道在controlfile中記錄著每一個archivelog的相關資訊,當然們在OS下把這些物理檔案delete掉後,在我們的
controlfile中仍然記錄著這些archivelog的資訊,在oracle的OEM管理器中有視覺化的日誌展現出,當我們手工清除archive目錄下的檔案後,這些記錄並沒有被我們從controlfile中清除掉,也就是oracle並不知道這些檔案已經不存在了!這時候我們要做手工的清除的話,下面我經過實驗,可以嘗試這種方法:
1. 進入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
這時候我們再去OEM中看就一定看不到,如果你的從來沒有做過這個動作的話,我們可以比較從這個動作前的controlfile後動作後的controlfile的大小!
ORACLE正確刪除歸檔並回收空間的方法
ORACLE正確刪除歸檔並回收空間的方法
一個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子項上做很多操作,實現更復雜的功能
3.簡要介紹一下report obsolete命令
使用report obsolete命令報告過期備份
RMAN> report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 125 01-NOV-04
Backup Piece 125 01-NOV-04 /data1/oracle/orabak/full_1_541045804
Backup Set 131 04-NOV-04
Backup Piece 131 04-NOV-04 /data1/oracle/orabak/full_AVATAR2_20041104_131
....
Backup Set 173 06-DEC-04
Backup Piece 173 06-DEC-04 /data1/oracle/orabak/full_AVATAR2_20041206_173
Backup Set 179 11-DEC-04
Backup Piece 179 11-DEC-04 /data1/oracle/orabak/arch544588206.arc
.....
Backup Piece 189 17-DEC-04 /data1/oracle/orabak/arch545106606.arc
Backup Set 190 17-DEC-04
Backup Piece 190 17-DEC-04 /data1/oracle/orabak/arch545106665.arc
Backup Set 191 20-DEC-04
Backup Piece 191 20-DEC-04 /data1/oracle/orabak/arch_AVATAR2_20041220_194
Archive Log 2973 20-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2985.dbf
Archive Log 2971 20-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2984.dbf
.....
Archive Log 2705 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2717.dbf
Archive Log 2704 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2716.dbf
Archive Log 2703 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2715.dbf
Archive Log 2702 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2714.dbf
4.使用delete obsolete命令刪除過期備份:
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 125 01-NOV-04
Backup Piece 125 01-NOV-04 /data1/oracle/orabak/full_1_541045804
....
Archive Log 2704 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2716.dbf
Archive Log 2703 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2715.dbf
Archive Log 2702 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2714.dbf
Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/data1/oracle/orabak/full_AVATAR2_20041206_173 recid=173 stamp=544156241
.....
deleted archive log
archive log filename=/opt/oracle/oradata/avatar2/archive/1_2715.dbf recid=2703 stamp=545108268
deleted archive log
archive log filename=/opt/oracle/oradata/avatar2/archive/1_2714.dbf recid=2702 stamp=545107659
Deleted 286 objects
RMAN> crosscheck archivelog all;
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=19 devtype=DISK
specification does not match any archive log in the recovery catalog
5 在rman中用crosscheck檢查歸檔日誌,2個歸檔日誌都是失敗的:
RMAN> crosscheck archivelog all;
釋放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=14 devtype=DISK
對歸檔日誌的驗證失敗
存檔日誌檔名 =D:ORACLEORADATATESTARCHIVE1_47.DBF 記錄 ID=1 時間戳 =572866
683
對歸檔日誌的驗證失敗
存檔日誌檔名 =D:ORACLEORADATATESTARCHIVE11_48.DBF 記錄 ID=2 時間戳 =57286
6931
已交叉檢驗的 2 物件
6 試著同步一下,看行不行,結果不行,crosscheck還是失敗:
RMAN> resync catalog;
正在啟動全部恢復目錄的 resync
完成全部 resync
RMAN> crosscheck archivelog all;
釋放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=14 devtype=DISK
對歸檔日誌的驗證失敗
存檔日誌檔名 =D:ORACLEORADATATESTARCHIVE1_47.DBF 記錄 ID=1 時間戳 =572866
683
對歸檔日誌的驗證失敗
存檔日誌檔名 =D:ORACLEORADATATESTARCHIVE11_48.DBF 記錄 ID=2 時間戳 =57286
6931
已交叉檢驗的 2 物件
7 用list expired看看是否有失效的archive log,證明沒有失效的archive log:
RMAN> list expired archivelog all;
說明與恢復目錄中的任何存檔日誌均不匹配
8 更改語言環境試試,結果再次crosscheck,2個archive log 都成功了:
RMAN> exit
恢復管理器完成。
C:>set nls_lang=american_america.zhs16gbk
C:>rman catalogrman/rman@safetarget /
Recovery Manager: Release 9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: TEST (DBID=1870953724)
connected to recovery catalog database
RMAN> crosscheck archivelog all;
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=9 devtype=DISK
validation succeeded for archived log
archive log filename=D:ORACLEORADATATESTARCHIVE1_47.DBF recid=1 stamp=57286
6683
validation succeeded for archived log
archive log filename=D:ORACLEORADATATESTARCHIVE11_48.DBF recid=2 stamp=5728
66931
Crosschecked 2 objects
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-757541/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle刪除歸檔日誌Oracle
- 當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌Oracle
- oracle 刪除過期的歸檔日誌Oracle
- oracle dataguard 自動刪除歸檔日誌Oracle
- 【Oracle】 rman 刪除歸檔日誌的命令Oracle
- 歸檔日誌的刪除
- 刪除歸檔日誌檔案
- 如何正確刪除ORACLE歸檔日誌檔案Oracle
- 刪除data guard歸檔日誌
- 手動刪除歸檔日誌
- 作用RMAN 刪除歸檔日誌
- 誤刪歸檔日誌除導致備份歸檔日誌失敗
- 在Oracle中,如何定時刪除歸檔日誌檔案?Oracle
- 刪除歸檔,保留最近的5個歸檔日誌
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- Oralce資料庫關閉歸檔日誌並且刪除歸檔日誌資料庫
- RMAN delete archivelog命令刪除歸檔日誌及歸檔日誌拷貝deleteHive
- rman刪除歸檔日誌命令集
- crontab不能自動刪除歸檔日誌
- 歸檔日誌刪除的五種方法
- 如何定期自動刪除歸檔日誌
- 【警鐘】謹慎刪除歸檔日誌
- 用rman 正確地刪除歸檔日誌
- rac+dg環境刪除歸檔日誌
- rman刪除舊的歸檔日誌問題
- oracle rman不能自動刪除歸檔日誌備份解決Oracle
- oracle刪除日誌Oracle
- ORACLE刪除歸檔Oracle
- ORA-00257 (線上更改歸檔路徑,刪除歸檔日誌)
- 11gR2 RMAN歸檔日誌刪除策略
- DATAGUARD_standby刪除歸檔日誌的指令碼指令碼
- rman 刪除指定時間點的歸檔日誌
- DataGuard已應用歸檔日誌刪除指令碼指令碼
- oracle歸檔日誌Oracle
- Oracle 歸檔日誌Oracle
- RMAN刪除歸檔日誌時將ASM上空目錄同時刪除ASM
- DELETE OBSOLETE不刪除歸檔日誌以及歸檔的備份集delete
- 【Oracle】歸檔日誌管理-設定歸檔日誌路徑以及歸檔日誌冗餘Oracle