使用RMAN恢复数据库到不同主机
2012-08-21 14:45
267 查看
当未使用catalog方式进行rman备份时,将备份集转移到其他主机时,除非目录结构相同,否则控制文件将无法识别路径不同的备份集,针对这类问题,可以使用dbms_backup_restore包进行文件回复;但是从Oracle 10g开始,Oracle终于简化了这类问题的处理,现在通过rman可以很容易地处理不同主机的rman备份集恢复。
一、获得源[b]数据库的参数文件,修改后传送至目标数据库,修改后的参数文件可以用于数据库启动,主要修改的参数应该包括:*_dmpb_dest、control_files、db_recovery_file_dest、db_create_file_dest等。[/b]
二、建立相应的文件夹
如:admin下建立acf及里面对应的文件夹(adump,bdump,cdump,dpdump,pfile,udump),oradata下建立acf,flash_recovery_area下建立acf
三、在window平台下,可以通过oradim创建一个服务启动oracle环境
C:\>oradim -new -sid acf
实例已创建。
注意:记得启动服务。
四、通过rman来启动数据库到nomount状态
C:\>set oracle_sid=acf
C:\>rman target /
RMAN> startup nomount pfile ='E:\oracle\product\10.2.0\admin\acf\pfile\init.ora'
五、通过备份的控制文件恢复出控制文件
RMAN> restore controlfile to 'E:\oracle\product\10.2.0\oradata\acf\control01.ctl' from 'E:
\OracleBacup\ACFCTL_ACF_20080904_222.CTL';
然后根据参数文件的control_files设置,复制相应的副本。
注意:前面恢复出来的控制文件位置及名称取决于你在参数文件中的设置
六、装载数据库
RMAN> alter database mount;
七、将备份集拷贝到相应目录,向控制文件中加载备份集
RMAN> catalog start with 'E:\OracleBacup';
八、作交叉检查,然后删除无效backup。
RMAN> crosscheck backup;
RMAN> delete expired backup;
九、通过控制文件获得表空间及数据文件列表
RMAN> report schema;
十、通过编写恢复脚本,然后执行恢复
run
{
set newname for datafile 1 to 'E:\oracle\product\10.2.0\oradata\acf\SYSTEM01.DBF';
set newname for datafile 2 to 'E:\oracle\product\10.2.0\oradata\acf\UNDOTBS01.DBF';
set newname for datafile 3 to 'E:\oracle\product\10.2.0\oradata\acf\SYSAUX01.DBF';
set newname for datafile 4 to 'E:\oracle\product\10.2.0\oradata\acf\USERS01.DBF';
set newname for datafile 5 to 'E:\oracle\product\10.2.0\oradata\acf\ORACLETEST01.DBF';
set newname for datafile 6 to 'E:\oracle\product\10.2.0\oradata\acf\SQLTEST01.DBF';
set newname for datafile 7 to 'E:\oracle\product\10.2.0\oradata\acf\SDE.DBF';
set newname for datafile 8 to 'E:\oracle\product\10.2.0\oradata\acf\RASTER_DATA_01.DBF';
set newname for datafile 9 to 'E:\oracle\product\10.2.0\oradata\acf\TEST01.DBF';
set newname for datafile 10 to 'E:\oracle\product\10.2.0\oradata\acf\GIS_DATA_01.DBF';
set newname for datafile 11 to 'E:\oracle\product\10.2.0\oradata\acf\VERSIONED_DATA_01.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文件的位置(原来的路径与现在路径不相同的时候),然后重建。
一、获得源[b]数据库的参数文件,修改后传送至目标数据库,修改后的参数文件可以用于数据库启动,主要修改的参数应该包括:*_dmpb_dest、control_files、db_recovery_file_dest、db_create_file_dest等。[/b]
二、建立相应的文件夹
如:admin下建立acf及里面对应的文件夹(adump,bdump,cdump,dpdump,pfile,udump),oradata下建立acf,flash_recovery_area下建立acf
三、在window平台下,可以通过oradim创建一个服务启动oracle环境
C:\>oradim -new -sid acf
实例已创建。
注意:记得启动服务。
四、通过rman来启动数据库到nomount状态
C:\>set oracle_sid=acf
C:\>rman target /
RMAN> startup nomount pfile ='E:\oracle\product\10.2.0\admin\acf\pfile\init.ora'
五、通过备份的控制文件恢复出控制文件
RMAN> restore controlfile to 'E:\oracle\product\10.2.0\oradata\acf\control01.ctl' from 'E:
\OracleBacup\ACFCTL_ACF_20080904_222.CTL';
然后根据参数文件的control_files设置,复制相应的副本。
注意:前面恢复出来的控制文件位置及名称取决于你在参数文件中的设置
六、装载数据库
RMAN> alter database mount;
七、将备份集拷贝到相应目录,向控制文件中加载备份集
RMAN> catalog start with 'E:\OracleBacup';
八、作交叉检查,然后删除无效backup。
RMAN> crosscheck backup;
RMAN> delete expired backup;
九、通过控制文件获得表空间及数据文件列表
RMAN> report schema;
十、通过编写恢复脚本,然后执行恢复
run
{
set newname for datafile 1 to 'E:\oracle\product\10.2.0\oradata\acf\SYSTEM01.DBF';
set newname for datafile 2 to 'E:\oracle\product\10.2.0\oradata\acf\UNDOTBS01.DBF';
set newname for datafile 3 to 'E:\oracle\product\10.2.0\oradata\acf\SYSAUX01.DBF';
set newname for datafile 4 to 'E:\oracle\product\10.2.0\oradata\acf\USERS01.DBF';
set newname for datafile 5 to 'E:\oracle\product\10.2.0\oradata\acf\ORACLETEST01.DBF';
set newname for datafile 6 to 'E:\oracle\product\10.2.0\oradata\acf\SQLTEST01.DBF';
set newname for datafile 7 to 'E:\oracle\product\10.2.0\oradata\acf\SDE.DBF';
set newname for datafile 8 to 'E:\oracle\product\10.2.0\oradata\acf\RASTER_DATA_01.DBF';
set newname for datafile 9 to 'E:\oracle\product\10.2.0\oradata\acf\TEST01.DBF';
set newname for datafile 10 to 'E:\oracle\product\10.2.0\oradata\acf\GIS_DATA_01.DBF';
set newname for datafile 11 to 'E:\oracle\product\10.2.0\oradata\acf\VERSIONED_DATA_01.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文件的位置(原来的路径与现在路径不相同的时候),然后重建。
相关文章推荐
- 【Vegas原创】使用RMAN恢复数据库到不同主机(Linux版)
- 【Vegas原创】使用RMAN恢复数据库到不同主机(Linux版)
- 【Vegas原创】使用RMAN恢复数据库到不同主机(Linux版)
- 使用rman恢复备份集到不同的主机上
- Oracle数据库恢复-使用RMAN恢复到不同主机实例
- 【Vegas原创】使用RMAN转移数据库到不同主机(Windows版)
- 【Vegas原创】使用RMAN转移数据库到不同主机(Windows版)
- 【Vegas原创】使用RMAN转移数据库到不同主机(Windows版)
- 某客户使用RMAN数据库恢复测试步骤
- RMAN复制数据库(使用恢复目录库)
- 18.3.1 在相同主机上使用 RMAN 备份建立物理备用数据库
- 18.3.1 在相同主机上使用 RMAN 备份建立物理备用数据库
- 18.3.2 在不同主机上使用 RMAN 备份建立物理备用数据库
- 使用RMAN 备份与恢复数据库
- 使用RMAN恢复数据库
- 18.3.2 在不同主机上使用 RMAN 备份建立物理备用数据库
- 使用pg_rman软件来实现postgresql数据库的备份恢复
- 使用Rman将Windows Oracle 11gR2 32位中数据库恢复至Windows Oracle 11gR2 64位 与 centos 6.5 Oracle 11gR2 32位
- 18.3.2 在不同主机上使用 RMAN 备份建立物理备用数据库
- Oracle学习(11)---使用rman备份进行数据库的恢复