oracle双实例变单实列,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/,如需转载,请注明出处,否则将追究法律责任。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值