rman全备份异机恢复

一、测试环境

[[email protected] ~]$ uname -a
Linux localhost.localdomain 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Sun Feb 8 18:14:09 2015

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 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.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[[email protected] ~]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Sun Feb 8 18:14:36 2015

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORCL (DBID=1380300748)

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出需要的数据。
时间: 2024-10-09 20:38:35

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

RMAN - 备份异机恢复

OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production ① RMAN异机恢复的时候,db_name必须相同.如果想要改别的实例命,可以在RMAN恢复成功后,用 nid 命令修改. ② 恢复路径与源库不相同,在restore时用set指定新位置,并用switch logfile all 将信息更新到controlfile文

Oracle 11G RMAN 单实例异机恢复

数据备份当然是为数据恢复准备,新环境的oracle一直在进行备份,但都没有测试验证备份的有效性,所以本次测试的重要性不言而喻了!以下为WIN平台下RMAN异机恢复实例. 源库 目标库 操作系统 WIN SVR 2008 R2 WIN SVR 2008 R2 主机名 Ora ORATEST IP 192.168.18.20 192.168.18.25 数据库版本 11.2.0.1.0 11.2.0.1.0 存储方式 单实例 单实例 ORACLE_HOME D:\app\Administrator\

ORACLE中采用rman备份异机恢复数据库详细过程

场景:        有一个生产库的用户下面所有的表都不见了,怀疑人为被删除了,现在需要用备份去恢复下,找出原来的表,线上是oracle dataguard环境,有全库备份文件,准备去测试库恢复一下. 1,从生产库上copy好全备份文件恢复数据库需要准备的文件:rman完整备份(包括数据文件.日志文件.控制文件.参数文件),记录源数据库的DBID 安装的测试数据库ORACLE数据库软件并创建跟源数据库同名和数据库SID并修改数据库DBID跟源数据库DBID一样,创建跟源数据库服务器相同的数据文件

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

一.RMAN备份源库注意点: 最好保留rman备份日志 $rman target / log=backup.log RMAN>run { allocate channel t1 type disk; allocate channel t2 type disk; allocate channel t3 type disk; allocate channel t4 type disk; backup format '<give location of backup/%U>' filesper

rman 备份并异机恢复

1.RMAN 备份脚本 RUN { CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "/backup/ZGW_Controlfile_%F"; ALLOCATE CHANNEL CH1 DEVICE TYPE DISK;

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

Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Conversion procedure [ID 747457.1] http://blog.csdn.net/tianlesoftware/archive/2010/12/09/6065903.aspx   RMAN 备份异机恢复 并创建新DBID http://blog.csdn.net/tianle

rman备份与异机恢复

一.rman备份脚本并为定时任务 #!/bin/bashsource ~/.bash_profileexport LANG=en_USBACKUP_DATE=`date +%d`#RMAN_LOG_FILE=${0}.outRMAN_LOG_FILE=backupinfo.outTODAY=`date`USER=`id|cut -d "(" -f2|cut -d")" -f1`echo "---------------$TODAY-------------

RMAN备份策略与异机恢复一例

实验环境: A机器(生产用途):RHEL 6.5 + Oracle 11.2.0.4 + IP Address 192.168.1.11 B机器(备机用途):RHEL 6.5 + Oracle 11.2.0.4 + IP Address 192.168.1.61 需求: A机器RMAN备份完成后自动传输备份文件到B机器.防止A机器本身硬件Crash无法恢复造成核心数据库无法恢复的窘境.而且在B机器可以将数据异机恢复到任意时间点. 注意:因为要求备份完毕后直接脚本命令自动传输到异机备份目录,所以需

RMAN异机恢复实验---转载

一.RMAN异机恢复实验 2011年3月23日00:44 1.环境介绍: 主机1: 操作系统 REDHAT5.5 IP地址 172.16.1.120 主机名 sigle 数据库版本 10.2.0.4 数据库名 orcl DBID 1305151947 catalog win_yjr catalog用户 sigle/sigle 主机2: 操作系统 REDHAT5.5 IP地址 172.16.1.121 主机名 clone_sigle 数据库版本 10.2.0.4     2.本次恢复实验目的: 主