Oracle数据库恢复-使用RMAN恢复到不同主机实例

本文详细介绍了如何使用RMAN将Oracle数据库从一个主机恢复到另一个具有不同磁盘结构和文件目录的新服务器上,涉及参数文件修改、服务创建、控制文件恢复、数据文件切换等多个步骤,适用于相同版本Oracle数据库在Windows环境下的迁移恢复。

本文记载了我的一次使用RMAN进行数据库恢复的经历。所用方法来自网络,感谢网络。

现有条件: Control file的RMAN备份,数据库的RMAN全备份,可获得的参数文件Pfile。

目标:将数据库恢复至磁盘结构不同,文件目录不同(Oracle文件位置当然也不同)的新服务器上。此例中需恢复数据库名称为ETQCND。

限制条件:源数据库与目标数据库Oracle版本一致,此例中Oracle版本为10.2.0.3。操作系统Windows。

 

步骤:

一、获得源数据库的参数文件(本例中如init.ora.61820071472),修改后放置到目标服务器上,修改后的参数文件可以用于数据库启动,主要修改的参数应该包括:*_dmpb_destcontrol_filesdb_recovery_file_destdb_create_file_dest等。

 

二、建立相应的文件夹

如:在Oracle文件目录下admin文件夹中建立与数据库名称一致的文件夹ETQCND及里面对应的文件夹(adump,bdump,cdump,dpdump,pfile,udump),oradata下建立ETQCND,flash_recovery_area下建立ETQCND。将上步骤获得的参数文件init.ora.61820071472拷贝至刚创建的文件夹pfile中。

 

三、在Windows平台下,可以通过oradim命令创建一个服务(本例为ETQCND)启动Oracle环境

C:/>oradim -new -sid ETQCND

实例已创建。

注意:记得启动服务。

 

四、通过rman来启动数据库到nomount状态

C:/>set oracle_sid=ETQCND

C:/>rman target / 

RMAN> startup nomount pfile ='C:/oracle/product/10.2.0/admin/ETQCND/pfile/init.ora.61820071472'

 

五、通过备份的控制文件恢复出控制文件

RMAN> restore controlfile from 'D:/rman/controlfile/CTL_ETQCND_C-1892009295-20091124-00.BKP'

注意:恢复出来的控制文件位置及名称取决于你在参数文件中的设置

 

六、装载数据库

RMAN> alter database mount;

 

七、将备份集拷贝到相应目录,向控制文件中加载备份集

RMAN> catalog start with 'D:/rman/database/RMAN_ETQCND_11KV68NL_1_1.BKP';

 

八、作交叉检查,然后删除无效backup。

RMAN> crosscheck backup;

RMAN> delete expired backup;

 

九、通过控制文件获得表空间及数据文件列表

RMAN> report schema;

 

十、通过编写恢复脚本,然后执行恢复

设置datafile的新位置,特别是在数据文件路径和源服务器中数据文件路径不同时。在设置datafile的位置时参考上一步骤显示的数据文件列表。

run

{

set newname for datafile 1 to 'C:/oracle/product/10.2.0/oradata/acf/SYSTEM01.DBF';

set newname for datafile 2 to 'C:/oracle/product/10.2.0/oradata/acf/UNDOTBS01.DBF';

set newname for datafile 3 to 'C:/oracle/product/10.2.0/oradata/acf/SYSAUX01.DBF';

set newname for datafile 4 to 'C:/oracle/product/10.2.0/oradata/acf/USERS01.DBF';

set newname for datafile 5 to 'C:/oracle/product/10.2.0/oradata/acf/RELIANCE01.DBF';

restore database;

switch datafile all;

}

如果数据文件路径和原来的相同则直接

run

{

restore database;

}

 

十一、数据文件恢复出来以后,可以对数据库应用归档日志进行恢复

RMAN> recover database;

也可以在sqlplus中手动恢复

SQL>recover database using backup controlfile until cancel;

 

十二、最后以resetlogs方式打开数据库

RMAN> alter database open resetlogs;

注意:如果需要的话可能会修改控制文件中redo文件的位置(原来的路径与现在路径不相同的时候),然后重建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值