zoukankan      html  css  js  c++  java
  • WindowsDB数据RMAN recover至linux报错RMAN-11003 ORA-10562 ORA-10564

    一、现象

    将windows 数据库,迁移至Linux环境中;

    使用RMAN备份恢复,restore database OK正常,recover database failed!!1

    Restoring backup of database created and running on 64-bit Windows 2008R2 to Oracle Linux 6 x86-64 using RMAN failed.
    Restore of controlfile is successful.
    Database change to mount mode is successful.
    Restore of datafiles is successful.
    When RMAN tries to recover database using archivelogs, it fails with error:
    channel ORA_SBT_TAPE_2: restore complete, elapsed time: 00:00:01
    archived log file name=+<diskgroup name>/archivelog/2015_04_23/thread_2_seq_2365.359.877785237 thread=2 sequence=2365
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of recover command at 04/23/2015 13:14:00
    RMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile '+<diskgroup name>/archivelog
    /2015_04_23/thread_2_seq_2365.359.877785237
    ' ORA-10562: Error occurred while applying redo to data block (file# 3, block# 1342351) ORA-10564: tablespace SYSAUX ORA-01110: data file 3: '+<diskgroup name>/datafile/sysaux.417.877785187' ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 475230 ORA-00600: internal error code, arguments: [ktbair2_0], [18446744073709550383], [112], [], [], [], [], [], [], [], [], [] RMAN>

    二、MOS说明

    
    
    Restore From Windows To Linux using RMAN Fails (Doc ID 2003327.1)    
    Oracle Database - Enterprise Edition - Version 11.2.0.2 and later
    Customer trying to restore windows database to linux. Database restored
    successfully. But while recovery getting different ORA-00600 
    Rman restore database ok,recover 报错!

    Bug 20479736 - ORA-00600 [4502]/[KTBAIR2_0]/[KTBRCL:CDLC NOT IN CR] RECOVERY CROSS PLATFORM
    which is closed as not a bug
    The error ORA-600 [KTBRCL:CDLC NOT IN CR] is returned while duplicating from Windows to Linux.
    Note, redo application is not supported between Linux and Windows except with a standby database. This means that the backup must be</em><em> a
    cold (consistent) backup, which requires no redo application. If redo apply is required to recover the database on the new platform it will fail.
    Using consistent (cold) backup method should be used for duplicating cross platform.

    就是说对于windows->linux迁移数据库跨平台的操作来说, rman restore database 可以执行,recover 无法解析归档日志! Windows->linux DG的方式恢复进程可以解析归档日志恢复!

    那么? 如何操作? 一致性关库,备份恢复迁移,或者搭建DG,进行fail over!

    三、RMAN 迁移

    Clone Database from Windows To Linux (Lower patchset to Higher) using RMAN (Doc ID 2143991.1)    
    Oracle Database - Enterprise Edition - Version 11.2.0.1 and later
    
    Source windows
    create pfile='<>' from spfile. 
    SQL>Shutdown immediate ;
    SQL>Startup mount ;
    RMAN> backup database format 'D:BAKfull_%U'; ----Full backup
    RMAN> backup current controlfile format 'd:akcontrol_%U'; --Controlfile backup
    
    target linux
    SQL> startup nomount pfile='/u01/oradata/ORCL/initORCL.ora'; 
    RMAN> restore controlfile from '<backup location>/CONTROL_A7R4O1B4_1_1';
    RMAN> sql 'alter database mount';
    RMAN> crosscheck backup;  
    RMAN> delete expired backup;
    RMAN> catalog backuppiece '<backup location>/FULL_*****0_1_1';
    RMAN> run {
    set newname for database to '/u01/oradata/ORCL/datafile_%U';
    restore database;
    };
    RMAN> switch database to copy;  
    SQL> alter database open resetlogs upgrade;
    !!!核心内容是一致性关库,mount状态进行备份! 目标端resetlogs open打开db,会对日志文件重新格式化
  • 相关阅读:
    python3安装crypto出错,及解决方法
    php中的引用
    算法
    HTTP协议
    jdk 1.8 InvocationHandler 中文注释
    Java实现多线程的几种方法
    shell编写显示ps相关脚本
    逆波兰表达式求值(后序表达式)
    155. 最小栈(leetcode简单题)
    字符串逆序
  • 原文地址:https://www.cnblogs.com/lvcha001/p/14444387.html
Copyright © 2011-2022 走看看