最近生产库表被truncate,生产库通过nbu备份到带库,于是决定通过nbu将数据库在异机进行恢复,恢复过程中,控制文件和数据文件都是可以正常restore的,当开始恢复归档日志并且应用时,总是出现异常,
rman恢复的错误日志如下:
starting media recovery
channel D2: starting archive log restore to default destination
channel D1: starting archive log restore to default destination
channel D2: restoring archive log
archive log thread=2 sequence=23136
channel D1: restoring archive log
archive log thread=1 sequence=83213
channel D2: restoring archive log
archive log thread=2 sequence=23137
channel D2: reading from backup piece al_21049_1_823142358
channel D1: restoring archive log
archive log thread=1 sequence=83214
channel D1: restoring archive log
archive log thread=1 sequence=83215
channel D1: reading from backup piece al_21048_1_823142241
channel D2: restored backup piece 1
piece handle=al_21049_1_823142358 tag=NULL
channel D2: restore complete, elapsed time: 00:05:16
channel D1: restored backup piece 1
piece handle=al_21048_1_823142241 tag=NULL
channel D1: restore complete, elapsed time: 00:07:11
unable to find archive log
archive log thread=1 sequence=83213
Oracle Error:
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/hbora1/hotbill/system01.dbf'
released channel: D1
released channel: D2
released channel: D3
released channel: D4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 08/17/2013 02:15:24
ORA-19587: error occurred reading 512 bytes at block number 1
ORA-27091: unable to queue I/O
ORA-27067: size of I/O buffer is invalid
Additional information: 2
Additional information: 512
在alertlog中也发现错误信息如下:
alter database recover if needed
start until change 13423956452020 using backup controlfile
Media Recovery Start
parallel recovery started with 7 processes
ORA-279 signalled during: alter database recover if needed
start until change 13423956452020 using backup controlfile
...
Sat Aug 17 02:13:23 BEIST 2013
Archivelog restore complete. Elapsed time: 0:00:00
Archivelog restore complete. Elapsed time: 0:00:02
Sat Aug 17 02:14:48 BEIST 2013
Archivelog restore complete. Elapsed time: 0:00:00
Sat Aug 17 02:15:12 BEIST 2013
Archivelog restore complete. Elapsed time: 0:00:24
Archivelog restore complete. Elapsed time: 0:00:25
***
Corrupt block seq: 83213 blocknum=1.
Bad header found during deleting archived log
Data in bad block - flag:1. format:66. bno:1. seq:83213
beg:0 cks:43860
calculated check value: 43860
Sat Aug 17 02:15:24 BEIST 2013
alter database recover cancel
Signalling error 1152 for datafile 1!
但是这些归档日志确实已经恢复到到了/arch/archlog1的归档存放目录,在生产库我尝试对这些归档进行logmnr,也是可以执行的。
求教各位大神,是否有解决方案