oracle单实例恢复到rac

#操作环境
   单实例数据库版本11.2.0.3
   rac数据库版本   11.2.0.3 
这里主要讲恢复的过程,rac的安装配置就省略了。




1、在源库用RMAN 备份,并将备份文件copy到rac的一个节点服务器上
   备份最好拷贝到和原库相同的目录下


2、启动rac的一个节点到nomount状态下
   > startup nomount; 


3、RMAN 执行对控制文件的恢复
   RMAN> restore controlfile from '/u03/oradata/orarmanbackup/140821/c-4282653214-20140821-00';


4、restore数据库
   4.1 将数据库启动到MOUNT状态
      RMAN> alter database mount;
   4.2 查看源库数据文件存储位置信息
   SQL> select file_id,file_name from dba_data_files;


   FILE_ID FILE_NAME
  -------- -------------------------------------------------
         1 /u02/oradata/center/system01.dbf
         2 /u02/oradata/center/sysaux01.dbf
         3 /u02/oradata/center/undotbs01.dbf
         4 /u02/oradata/center/appstore/tbs_appstore01.dbf
         5 /u02/oradata/center/passport/passport_data01.dbf
         6 /u02/oradata/center/base/base01.dbf
         7 /u02/oradata/center/base/base_idx01.dbf
         8 /u02/oradata/center/passport/passport_data02.dbf
         9 /u02/oradata/center/passport/passport_data03.dbf
        10 /u02/oradata/center/passport/passport_idx01.dbf
        11 /u02/oradata/center/passport/passport_idx02.dbf
        12 /u02/oradata/center/passport/passport_idx03.dbf
        13 /u02/oradata/center/appstore/tbs_appstore02.dbf
        14 /u02/oradata/center/appstore/tbs_appstore03.dbf
        15 /u02/oradata/center/appstore/tbs_appstore04.dbf
        16 /u02/oradata/center/appstore/tbs_appstore05.dbf
        
   SQL> select file_id,file_name from dba_temp_files;


   FILE_ID FILE_NAME
   ------- --------------------------------------------------
         1 /u02/oradata/center/temp01.dbf


   4.3在RAC上restore 数据文件
   run {
   set newname for datafile  1 to "+ASM_DATA/center/datafile/system01.dbf";
   set newname for datafile  2 to "+ASM_DATA/center/datafile/sysaux01.dbf";
   set newname for datafile  3 to "+ASM_DATA/center/datafile/undotbs01.dbf";
   set newname for datafile  4 to "+ASM_DATA/center/datafile/appstore/tbs_appstore01.dbf";
   set newname for datafile  5 to "+ASM_DATA/center/datafile/passport/passport_data01.dbf";
   set newname for datafile  6 to "+ASM_DATA/center/datafile/base/base01.dbf";
   set newname for datafile  7 to "+ASM_DATA/center/datafile/base/base_idx01.dbf";
   set newname for datafile  8 to "+ASM_DATA/center/datafile/passport/passport_data02.dbf";
   set newname for datafile  9 to "+ASM_DATA/center/datafile/passport/passport_data03.dbf";
   set newname for datafile  10 to "+ASM_DATA/center/datafile/passport/passport_idx01.dbf";
   set newname for datafile  11 to "+ASM_DATA/center/datafile/passport/passport_idx02.dbf";
   set newname for datafile  12 to "+ASM_DATA/center/datafile/passport/passport_idx03.dbf";
   set newname for datafile  13 to "+ASM_DATA/center/datafile/appstore/tbs_appstore02.dbf";
   set newname for datafile  14 to "+ASM_DATA/center/datafile/appstore/tbs_appstore03.dbf";
   set newname for datafile  15 to "+ASM_DATA/center/datafile/appstore/tbs_appstore04.dbf";
   set newname for datafile  16 to "+ASM_DATA/center/datafile/appstore/tbs_appstore05.dbf";
   set newname for tempfile 1 to '+ASM_DATA/center/temp01.dbf';
   restore database;
   switch datafile all;
   switch tempfile all;
   }  
   
5、recover 数据库
RMAN> recover database;


出现如下错误:
   RMAN-00571: ===========================================================
   RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
   RMAN-00571: ===========================================================
   RMAN-03002: failure of recover command at 08/21/2014 12:13:52
   RMAN-06054: media recovery requesting unknown log: thread 1 seq 563 lowscn 106144757


最后一行的错误说明:
       RMAN-06054: media recovery requesting unknown log: thread 1 seq 563 lowscn 106144757
       可以忽略
       这里是提醒恢复到一个未知的scn号。在alter database mount之后,通过set until scn或者set until time命令设置恢复到的scn号或时间。就可以避免这个错误。


6、处理online redo
   SQL> select * from v$logfile;
    rows will be truncated


    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- ----------------------------
         1         ONLINE  /u03/redo/redo01_1.log
         1         ONLINE  /u03/redo/redo01_2.log
         2         ONLINE  /u03/redo/redo02_1.log
         2         ONLINE  /u03/redo/redo02_2.log
         3         ONLINE  /u03/redo/redo03_1.log
         3         ONLINE  /u03/redo/redo03_2.log
         4         STANDBY /u02/oradata/center/redo04.log
         5         STANDBY /u02/oradata/center/redo05.log
         6         STANDBY /u02/oradata/center/redo06.log
         7         STANDBY /u02/oradata/center/redo07.log
         4 INVALID STANDBY /u02/oradata/center/redo04_1.log
         5 INVALID STANDBY /u02/oradata/center/redo05_1.log
         6 INVALID STANDBY /u02/oradata/center/redo06_1.log
         7 INVALID STANDBY /u02/oradata/center/redo07_1.log
         
redo文件没有在asm磁盘下,需要手动改下。
由于原库配置过DG,所以有STANDBY redo log 文件,直接删除就可以。


  6.1 删除STANDBY redo log日志组
  alter database drop standby logfile group 4;
  alter database drop standby logfile group 5;
  alter database drop standby logfile group 6;
  alter database drop standby logfile group 7;
  
  6.1 把redo log移到asm上
  alter database rename file '/u03/redo/redo01_1.log' to '+ASM_DATA/center/onlinelog/redo01_1.log';
  alter database rename file '/u03/redo/redo01_2.log' to '+ASM_DATA/center/onlinelog/redo01_2.log';
  alter database rename file '/u03/redo/redo02_1.log' to '+ASM_DATA/center/onlinelog/redo02_1.log';
  alter database rename file '/u03/redo/redo02_2.log' to '+ASM_DATA/center/onlinelog/redo02_2.log';
  alter database rename file '/u03/redo/redo03_1.log' to '+ASM_DATA/center/onlinelog/redo03_1.log';
  alter database rename file '/u03/redo/redo03_2.log' to '+ASM_DATA/center/onlinelog/redo03_2.log';


修改完后如下:
  SQL> select * from v$logfile;
  rows will be truncated


    GROUP# STATUS  TYPE    MEMBER
   ------- ------- ------- -------------------------------------------------
         1         ONLINE  +ASM_DATA/center/onlinelog/redo01_1.log
         1         ONLINE  +ASM_DATA/center/onlinelog/redo01_2.log
         2         ONLINE  +ASM_DATA/center/onlinelog/redo02_1.log
         2         ONLINE  +ASM_DATA/center/onlinelog/redo02_2.log
         3         ONLINE  +ASM_DATA/center/onlinelog/redo03_1.log
         3         ONLINE  +ASM_DATA/center/onlinelog/redo03_2.log
         
         
注意这个时候,对应目录还是空的,当我们open db 的时候,oracle 会自动创建online redo log。我们这里修改的目的就是改变online redo 的位置。


7、open resetlogs 打开DB
   在恢复的节点执行该操作。
   alter database open resetlogs;


8、创建节点2的undo 表空间
   create undo tablespace UNDOTBS2 datafile '+ASM_DATA/center/datafile/undotbs02.dbf' size 500m autoextend on next 100M maxsize 10240M;
   注意这里的undo表空间名字要和参数文件里设置的默认表空间名字相同
   center2.undo_tablespace='UNDOTBS2'
   
9、添加rac2 节点的redo 文件
   alter database add  logfile thread 2 group 4 ('+ASM_DATA/center/onlinelog/redo04_1.log','+ASM_DATA/center/onlinelog/redo04_2.log') size 4096M;
   alter database add  logfile thread 2 group 5 ('+ASM_DATA/center/onlinelog/redo05_1.log','+ASM_DATA/center/onlinelog/redo05_2.log') size 4096M;
   alter database add  logfile thread 2 group 6 ('+ASM_DATA/center/onlinelog/redo06_1.log','+ASM_DATA/center/onlinelog/redo06_2.log') size 4096M;
   
    添加完后要enable
   alter database enable thread 2;
  
  如果没有enable rac2启动不了,如下
     SQL> alter database mount;
   alter database mount
   *
   ERROR at line 1:
   ORA-01618: redo thread 2 is not enabled - cannot mount
   [oracle@wikenode1 redo]$ oerr ora 01618
   01618, 00000, "redo thread %s is not enabled - cannot mount"
   // *Cause:  The INIT.ORA parameter "thread" requests a thread that is not
   //          enabled. A thread must be enabled before it can be mounted.
   // *Action: Shutdown the instance, change the INIT.ORA parameter and startup
   //          mounting a different thread. If the database is open in another
   //          instance then the thread may be enabled.



10、重启节点1和节点2 上的实例
   $srvctl stop database -d center
   $srvctl start database -d center


11、重建Temp 表空间
   alter tablespace temp add tempfile '+ASM_DATA/center/temp.dbf' size 500M autoextend on next 100M maxsize 10240M;
   alter database tempfile '+ASM_DATA/center/temp01.dbf' offline;
   alter database tempfile '+ASM_DATA/center/temp01.dbf' drop including datafiles;


到这里迁移就完成了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26794255/viewspace-1255334/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26794255/viewspace-1255334/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值