RMAN> recover database;
Starting recover at 14-FEB-17
using channel ORA_DISK_1
starting media recovery
channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=4120
channel ORA_DISK_1: reading from backup piece /dbbackup/hcms/backupset/2/FULL_HCMS_LOG_20170214_e4rsibf3_1_1.rmanbak
channel ORA_DISK_1: piece handle=/dbbackup/hcms/backupset/2/FULL_HCMS_LOG_20170214_e4rsibf3_1_1.rmanbak tag=TAG20170214T125603
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=/app/oracle/archive/1_4120_858952281.dbf thread=1 sequence=4120
unable to find archived log
archived log thread=1 sequence=4121
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 02/14/2017 13:44:51
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 4121 and starting SCN of 152305555
在11g官方文档error messages中对错误描述如下:
RMAN-06054: media recovery requesting unknown archived log for thread string with sequence string and starting SCN of string
可见,出先此错误的原因是恢复需要的日志记录在控制文件或恢复目录中找不到。解决方法分两种情况:
1.如果相关的日志存在且可用的话,就将此日志记录添加到控制文件或恢复目录中。
2.如果相关的日志已经被删除了或不可用了,那么就按照错误的提示scn将数据库恢复到此scn,本案例是152305555。也就是说此时数据库只能进行不完全恢复了.
3.在打开数据库时得使用resetlogs打开。
RMAN> recover database until scn 152305555;
Starting recover at 14-FEB-17
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 14-FEB-17
RMAN> alter database open resetlogs;
database opened