基于rman的数据库迁移(ASM RAC数据库)

A数据库  线上 数据库名字  ora10g
节点 1    ora10g1
节点 2    ora10g2

 

RMAN备份数据库
run {
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
allocate channel ch3 device type disk;
allocate channel ch4 device type disk;
backup full
filesperset=2
tag='Full_%d'
format='/data/oracle/backup/%T_full_%d_%s_%p'
database include current controlfile;
sql 'alter system archive log current';
backup filesperset=100
format='/data/oracle/backup/logbackup_%T_%d_%s_%c_%p'
archivelog all delete input;
release channel ch1;
release channel ch2;
release channel ch3;
release channel ch4;
}

 


DBID=3999883340

ora10g1
[oracle@musica bin]$export ORACLE_SID=+ASM1
[oracle@musica bin]$echo $ORACLE_SID
+ASM1
[oracle@musica bin]$sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on Sat Feb 20 16:25:38 2010

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

SQL> conn /as sysdba
Connected.
SQL> select name,state from v$asm_diskgroup;

NAME                           STATE
------------------------------ -----------
DATA_DB                        MOUNTED
FAST                           MOUNTED


修改pfile参数--把源数据库参数的ORACLE_DATA全部换成目标数据库的DATA_DB(最好在创建磁盘组的时候把名字做成一样的)
control_files='+DATA_DB','+FAST'
db_create_file_dest='+DATA_DB'
ora10g2.local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.59)(PORT = 1521))'
ora10g1.local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.58)(PORT = 1521))'
目标数据库的硬件配置如果大于等于源数据库,一些参数如sga可以不修改,但是如果小于了,一定要修改,改小,否则报错

[root@musica backup]# su - oracle
[oracle@musica ~]$export ORACLE_SID=+ASM1
[oracle@musica ~]$sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on Sat Feb 20 16:33:06 2010

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

SQL> conn /as sysdba
Connected.
SQL> shutdown immediate;
ASM diskgroups dismounted
ASM instance shutdown


export ORACLE_SID=+ASM1
STARTUP
EXPORT ORACLE_SID=ora10g1
startup pfile='/data/oracle/backup/pfile.ora' nomount;
ORA-00371: not enough shared pool memory, should be atleast 218227097 bytes
修改了processes参数,成功oracle会根据processes参数的值在共享池中分配一定数量的内存,参数值越大,分配的内存也越多。

 

run
{
allocate channel ch1 device type disk;
RESTORE CONTROLFILE FROM '/data/oracle/backup/c-3999883340-20100217-00';
release channel ch1;
}


因为是controlfile的备份信息,所以一定要确定恢复的controlfile包含了所有的备份信息,否则恢复无效。


SQL> alter database mount;


RMAN> restore database from tag='FULL_GPODB_DATA';或者restore database;

RMAN> recover database;这可能会报错,因为恢复log的时候 实例2没有恢复,把备份文件拷贝到节点2上的相同位置用recover database;

 

RMAN> alter database open resetlogs;


会有很多错误具体看日志,分析。没有解决不了的


报错是因为目标机器配置太差 sga分配出问题,手动修改以后启动。数据能用
查看crs状态发现少了 3个进程


两个instance  一个db

ora10g1  ora10g2   oracle_home是  /data/oracle/10g
添加db
srvctl add database -d ora10g -o /data/oracle/10g

确定show parameter cluster_database 为 true

添加instance
node1
srvctl add instance -d ora10g -i ora10g1 -n musica


node2
srvctl add instance -d ora10g -i ora10g2 -n musicb

手动重启动instance

大功告成

 

 

 


 

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

转载于:http://blog.itpub.net/16719800/viewspace-662808/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值