Oracle 10G RAC歸檔引數格式問題導致歸檔至ASM時出錯

it_newbalance發表於2013-02-01

10G RAC在ASM中存放歸檔日誌引數正確設定
log_archive_dest_1 string location=+RECOVERY/JTPROD
在利用vmware workstation進行共享磁碟,當設定log_archive_dets_1為‘+RECOVERY/JTPROD/archfolder’類似格式時,歸檔時會導致磁碟不一致,歸檔檔案也不能夠正常使用,包括crosscheck與backup archivelog all等常用的管理操作。

錯誤如下alter日誌:
SUCCESS: diskgroup ARCH was mounted
archivelog header validation failure for file +ARCH/jtprod/1_13_772105560.dbf
archivelog header validation failure for file +ARCH/jtprod/1_15_772105560.dbf
Mon Jan 09 13:38:29 CST 2012
SUCCESS: diskgroup ARCH was dismounted

除錯過程如下
RMAN>backup database plus archivelog;

ORA-19563: archived logheader validation failed for file

RMAN>crosscheck archivelog all;該檔案為failed。

RMAN>list expired copy;顯示這些歸檔無效,不能被使用。

RMAN>delete expired coyp;只好將之刪除。

解決
當log_archive_dest_1調整為location=+RECOVERY/JTPROD是則不再報錯。
SQL>alter system set log_archive_dest_1='location=+RECOVERY/JTPROD' scope=spfile sid='JTPROD1';
SQL>alter system set log_archive_dest_1='location=+RECOVERY/JTPROD' scope=spfile sid='JTPROD2';
log_archive_dest_1scope=both修改後spfile和memory可以立馬生效.

同時如果還有類似錯誤需要進行
RMAN> allocate channel for maintenance type disk;
allocated channel: ORA_MAINT_DISK_1
channel ORA_MAINT_DISK_1: sid=133 instance=JTPROD1 devtype=DISK
RMAN> change archivelog all crosscheck;
validation succeeded for archived log
archive log filename=+RECOVERY/jtprod/1_35_772105560.dbf recid=78 stamp=772236831
validation succeeded for archived log
archive log filename=+RECOVERY/jtprod/1_36_772105560.dbf recid=81 stamp=772236893
validation succeeded for archived log
archive log filename=+RECOVERY/jtprod/1_37_772105560.dbf recid=82 stamp=772237064
validation succeeded for archived log
archive log filename=+RECOVERY/jtprod/1_38_772105560.dbf recid=84 stamp=772237096
validation succeeded for archived log
archive log filename=+RECOVERY/jtprod/1_39_772105560.dbf recid=88 stamp=772237236
validation succeeded for archived log
archive log filename=+RECOVERY/jtprod/1_40_772105560.dbf recid=89 stamp=772237681
validation failed for archived log
archive log filename=+RECOVERY/jtprod/2_52_772105560.dbf recid=87 stamp=772237227
validation succeeded for archived log
archive log filename=+RECOVERY/jtprod/2_53_772105560.dbf recid=90 stamp=772237680
Crosschecked 8 objects
RMAN> release channel;

released channel: ORA_MAINT_DISK_1

補充說明
當手工刪除了資料庫的歸檔檔案後,要執行以下指令碼進行同步:
RMAN> allocate channel for maintenance type disk;
RMAN> change archivelog all crosscheck;
RMAN> release channel;
當手工刪除了資料庫的RMAN備份檔案後,要執行以下指令碼進行同步:
RMAN> allocate channel for maintenance type disk;
RMAN> crosscheck backup;
RMAN> delete expired backup;
RMAN> release channel;
如果目標資料庫物理物件發生了變化,如新增資料檔案,應用如下命令同步:
RMAN>resync catalog;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24558279/viewspace-753753/,如需轉載,請註明出處,否則將追究法律責任。

相關文章