oracle windows还原到linux ORA-10562: Error occurred while applying redo to data block (file# 1, block# 2009)
windows环境:windows2008r2 oracle11gr2
linx环境:centos6.5 oracle11gr2
写好脚本,开始还原
rman target / set dbid=1621815288; restore controlfile from '/xyz/backup/C-1621815288-20220116-02'; alter database mount; catalog start with '/xyz/backup'; run { allocate channel ch0 type disk; set newname for datafile 4 to '/xyz/oradata/USERS01.DBF'; set newname for datafile 3 to '/xyz/oradata/UNDOTBS01.DBF'; set newname for datafile 2 to '/xyz/oradata/SYSAUX01.DBF'; set newname for datafile 1 to '/xyz/oradata/SYSTEM01.DBF'; set newname for datafile 5 to '/xyz/oradata/EXAMPLE01.DBF'; set until scn 1145279; restore database; switch datafile all; switch tempfile all; release channel ch0; }
run {
allocate channel ch0 type disk;
set archivelog destination to '/xyz/redo';
restore archivelog all;
}
recover database until scn 1145279;
RMAN> recover database until scn 1145279;
Starting recover at 16-JAN-22
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=501 device type=DISK
starting media recovery
archived log for thread 1 with sequence 22 is already on disk as file /xyz/archivelog/1_22_1094034554.dbf
archived log for thread 1 with sequence 23 is already on disk as file /xyz/redo/1_23_1094034554.dbf
archived log for thread 1 with sequence 24 is already on disk as file /xyz/redo/1_24_1094034554.dbf
archived log for thread 1 with sequence 25 is already on disk as file /xyz/redo/1_25_1094034554.dbf
archived log for thread 1 with sequence 26 is already on disk as file /xyz/redo/1_26_1094034554.dbf
archived log for thread 1 with sequence 27 is already on disk as file /xyz/redo/1_27_1094034554.dbf
archived log file name=/xyz/archivelog/1_22_1094034554.dbf thread=1 sequence=22
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 01/16/2022 10:14:19
RMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile '/xyz/archivelog/1_22_1094034554.db
f'ORA-10562: Error occurred while applying redo to data block (file# 1, block# 2009)
ORA-10564: tablespace SYSTEM
ORA-01110: data file 1: '/xyz/oradata/SYSTEM01.DBF'
ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 287
ORA-00600: internal error code, arguments: [4502], [0], [], [], [], [], [], [], [], [], [], []
尝试了各种办法,还是报相同的错误。最后在网上找资料,说是windows->linux迁移数据库跨平台的操作来说, rman restore database 可以执行,recover 无法解析归档日志。
最后还是异机还原到windows上。教程随后再写。
参考文档:https://www.cnblogs.com/lvcha001/p/14444387.html