一、测试环境

[oracle@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.-131.0..el6.x86_64 # SMP Tue May :: EDT x86_64 x86_64 x86_64 GNU/Linux
[oracle@localhost ~]$ sqlplus "/as sysdba" SQL*Plus: Release 11.2.0.1. Production on Sun Feb :: Copyright (c) , , Oracle. All rights reserved. Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1. - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1. - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@localhost ~]$ rman target / Recovery Manager: Release 11.2.0.1. - Production on Sun Feb :: Copyright (c) , , Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=) RMAN>

二、具体步骤

1.创建备份集

RMAN>backup as compressed backupset databse plus archivelog;

2.创建环境,(dbname保持一致)

3.将备份拷贝新环境可以访问的路径

4.启动RMAN,还原spfile 到pfile中。

(利用rman的dummy数据库名,启动到nomount状态)
RMAN> restore spfile to pfile '/u01/app/product/11.2.0/dbhome_1/dbs/initORCL.ora' from '/u01/app/testRMAN/autobackup/2015_02_08/o1_mf_s_871152044_bfgh9f42_.bkp';

5.修改pfile中相关文件的路径

6.关闭数据库

7.利用该pfile重新启动数据库到nomount状态

8.restore控制文件

RMAN>restore controlfile from '/u01/app/testRMAN/autobackup/2015_02_08/o1_mf_s_871152044_bfgh9f42_.bkp';

9.修改数据库到mount状态

RMAN>alter database mount;

10.至此就可以读出数据文件的具体位置

 (1) 查看数据文件及编号
$ sqlplus / as sysdba;
select file#,name from v$datafile; (2) 查看联机日志文件
select member from v$logfile; (3) 查看临时文件
SQL> select name from v$tempfile (4) 查看备份集的位置
RMAN>list backup;

11.这样的话就有两个选择

a.根据现有控制文件中的路径,在新的数据环境下创建相关目录,将备份集拷贝到对应目录,还原数据库。
b.重新注册备份集,修改控制文件中各个数据文件的名称,还原数据库。
在此演示第二种情况:
(1).恢复了控制文件之后将备份集注册到控制文件
RMAN>catalog start with '/u01/app/testRMAN/';
(2)恢复数据文件
RMAN> RUN {
SET NEWNAME FOR DATAFILE 1 to '/u01/app/oracle/oradata/orcl/system01.dbf';
SET NEWNAME FOR DATAFILE 2 to '/u01/app/oracle/oradata/orcl/undotbs1.dbf';
SET NEWNAME FOR DATAFILE 3 to '/u01/app/oracle/oradata/orcl/sysaux01.dbf';
SET NEWNAME FOR DATAFILE 4 to '/u01/app/oracle/oradata/orcl/users01.dbf';
SET NEWNAME FOR DATAFILE 5 to '/u01/app/oracle/oradata/orcl/undotbs2.dbf';
RESTORE DATABASE;
SWITCH DATAFILE ALL;
}; (3)修改联机日志文件的路径
# su - oracle
$ sqlplus / as sysdba;
SQL> alter database rename file '/u01/app/oracle/redo101.log' to '/u01/app/oracle/oradata/orcl/redo101.log' (4)尽量恢复数据
recover database until cancel;
  注:如果数据库仍然出现SCN不一致的情况,在参数文件中添加隐含参数_allow_resetlogs_corruption=true启动数据库,这时候可以expdp出需要的数据。

rman全备份异机恢复的更多相关文章

  1. RMAN - 备份异机恢复

    OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...

  2. RMAN 备份异机恢复 并创建新DBID

    测试平台信息: Oracle:11gR2 操作系统:Redhat 5.5 Target DB:dave   几点说明: (1)RMAN 异机恢复的时候,db_name必须相同. 如果说要想改成其他的实 ...

  3. 使用rman备份异机恢复数据库

    一.RMAN备份源库注意点: 最好保留rman备份日志 $rman target / log=backup.log RMAN>run { allocate channel t1 type dis ...

  4. Rman备份异机恢复

    最后更新时间:2018/12/29 前置条件 已准备一台安装好Centos6+oracle11gr2 软件的服务器; 只安装了 oracle 数据库软件,需要手工创建以下目录: #环境变量 expor ...

  5. RAC数据库的RMAN备份异机恢复到单节点数据库

    1.首先在rac环境用rman备份数据库.[oracle@rac1 admin]$ rman target /run{allocate channel c1 device type disk conn ...

  6. rman 备份并异机恢复

    1.RMAN 备份脚本 RUN { CONFIGURE RETENTION POLICY DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CO ...

  7. Hyper-V安装Oracle Linux6_4 Oracle db 12c并使用rman做异机恢复

    本文记录在Windows Server 2012 R2上安装Oracle Enterprise Linux 6.4以及使用RMAN进行进行异机恢复的过程. Windows服务器增加Hyper-V功能 ...

  8. Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

    Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...

  9. RMAN备份策略与异机恢复一例(续篇)

    本文是<RMAN备份策略与异机恢复一例>的续篇,继续实验验证,最终实现两个需求: 1.异机恢复临时测试的小库 2.传输归档时,实现增量传输 1.异机恢复临时测试的小库 之前异机恢复的需求已 ...

随机推荐

  1. 迷你template

    JavaScript Micro-Templatinghttp://ejohn.org/blog/javascript-micro-templating/   //Simple JavaScript ...

  2. TOP30专访:捕鱼达人陈昊芝

    原文:http://www.csdn.net/article/2012-04-04/313919/1 编者按:3月31日,第四届CocoaChina游戏开发者大会暨Cocos2D-X技术研讨会在北京举 ...

  3. java 并发官方教程

    http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html Concurrency Computer users t ...

  4. next nextval

    1 KMP算法中next与nextval值的计算 以上两张图代表了next值的求法,本人总结后做如下叙述: 根据公式可知: next[1]=0 next[2]=1 next[3]的求法根据公式可以直接 ...

  5. 用Windows Server 2003搭建企业内部邮件服务器

    公司要搭建一个邮件服务器,方便内部邮件的发送.而且要求每位员工都可以使用自己的账号和密码.领导将这份工作交给我,不过,这可难不倒我.只要借助Windows Server 2003就可以轻松建起内部邮件 ...

  6. java基础学习总结五(递归算法、冒泡排序、查看生成API)

    一:递归算法 概念:自己调用自己的方法 示例代码如下: @Test /** * 递归求和 * 5+4+3+2+1=15 */ public void getSum() { long sum = sum ...

  7. Verilog-FPGA硬件电路设计之一——if语句优先级(always块中的阻塞赋值生成的组合逻辑电路是按照顺利执行的)

    出处:http://bbs.ednchina.com/BLOG_ARTICLE_3013262.HTM 综合软件:Quartus II 一.有优先级的if语句 if..else if.. else i ...

  8. 针对SharePointFarm场时安装部署OWA的步骤

    下面文章列出针对SharePointFarm场时安装部署OWA的步骤: http://blogs.technet.com/b/meamcs/archive/2013/03/27/office-web- ...

  9. Java内存分配全面浅析(转)

           原文引自CSDN:        本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java.这类文章网上有很多,但大多比较零碎.本文从认知过程角度出发,将带给读者一个 ...

  10. 导出Excel事例

    DataTable table = new DataTable(); StringWriter sw = new StringWriter(); string tabltitle = "客户 ...