Oracle源主机 Oracle目标主机
主机平台 CentOS6.2(final) CentOs6.2(FInal)
主机名 vick rman
IP地址 192.168.1.11 192.168.1.10
实例名字 orcl orcl
Oracle版本号 11.2.0.4 11。2.0.4
Oracle数据文件存储 filesystem filesystem
控制文件路径 /u01/app/oracle/oradata /u01/app/oracle/oradata
数据文件路径 /u01/app/oracle/oradata /u01/app/oracle/oradata
在线重做日志路径 /u01/app/oracle/oradata /u01/app/oracle/oradata

查看源库的控制文件信息:

SQL> select name from v$controlfile;





NAME

------------------------------------------------------------------------------

/u01/app/oracle/oradata/orcl/control01.ctl

/u01/app/oracle/fast_recovery_area/orcl/control02.ctl

源库的数据文件信息:

SQL> select file#,name from v$datafile;

FILE# NAME

--------------------------------------------------------------------------------

1 /u01/app/oracle/oradata/orcl/system01.dbf

2 /u01/app/oracle/oradata/orcl/sysaux01.dbf

3 /u01/app/oracle/oradata/orcl/undotbs01.dbf

4 /u01/app/oracle/oradata/orcl/users01.dbf

5 /u01/app/oracle/oradata/orcl/tbs_catalog.dbf

6 /u01/app/oracle/oradata/orcl/dave01.dbf

源库在线重做日志文件:

SQL> select group#,member from v$logfile;



 GROUP#MEMBER

--------------------------------------------------------------------------------

1 /u01/app/oracle/oradata/orcl/redo01.log

2 /u01/app/oracle/oradata/orcl/redo02.log

3 /u01/app/oracle/oradata/orcl/redo03.log

假设路径有不同的地方则须要进行相关操作

在源数据库上用rman备份数据库,包含数据库

[oracle@vick ~]$ mkdir  /u01/backup

[oracle@vick ~]$ rman target /

RMAN> run {

2> allocate channel c1 device type disk;

3> backup incremental level 0

4> format '/u01/backup/db_full_%U.bkp'

5> tag '2014-11-14-FULL'

6> database plus archivelog;

7> release channel c1;

8> }

RMAN> backup current controlfile format '/u01/backup/control20141114 .bak';

RMAN> backup spfile format '/u01/backup/spfile20141114.bak';

二、在目标主机上复制备份数据。并准备好相关文件夹

将备份传到目标主机

[oracle@vick backup]$ scp * 192.168.1.10:/u01/backup

db_full_3kpnjk76_1_1.bkp                                     100%  148MB  11.4MB/s   00:13    

db_full_3lpnjk7l_1_1.bkp                                     100% 1103MB   7.8MB/s   02:22

control20141114 .bak                                         100% 9664KB   9.4MB/s   00:01    

spfile20141114.bak                                           100%   96KB  96.0KB/s   00:00

创建相关文件夹

[oracle@rman orcl]$ mkdir {adump,bdump,cdump,dpdump,udump,pfile}

[oracle@rman ~]$ mkdir -p /u01/app/oracle/oradata/orcl

[oracle@rman ~]$ mkdir -p /u01/app/oracle/fast_recovery_area/ORCL

创建password文件:

[oracle@rman dbs]$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle

创建initorcl.ora文件

[oracle@rman ~]$ echo 'db_name=orcl'>$ORACLE_HOME/dbs/initorcl.ora

异机恢复-->下面操作在目标主机运行

设置DBID

查看寻源主机DBID

SQL> select dbid from v$database;

DBID

----------

1387254920

[oracle@rman dbs]$ rman target /

RMAN> set dbid 1387254920





executing command: SET DBID

MAN> startup nomount;





connected to target database (not started)

Oracle instance started





Total System Global Area     217157632 bytes





Fixed Size                     2251816 bytes

Variable Size                159384536 bytes

Database Buffers              50331648 bytes

Redo Buffers                   5189632 bytes

恢复參数文件

RMAN> restore spfile from '/u01/backup/spfile20141114.bak';



Starting restore at 14-NOV-14

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=19 device type=DISK



channel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/backup/spfile20141114.bak

channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete

Finished restore at 14-NOV-14



重新启动nomout

RMAN> startup nomount force;

Oracle instance started

Total System Global Area     613797888 bytes



Fixed Size                     2255712 bytes

Variable Size                427820192 bytes

Database Buffers             180355072 bytes

Redo Buffers                   3366912 bytes

恢复控制文件

RMAN> restore controlfile from '/u01/backup/control20141114 .bak';

Starting restore at 14-NOV-14

using channel ORA_DISK_1



channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:01

output file name=/u01/app/oracle/oradata/orcl/control01.ctl

output file name=/u01/app/oracle/fast_recovery_area/orcl/control02.ctl

Finished restore at 14-NOV-14

RMAN> startup mount

RMAN>restore database;

假设这一步没法运行能够使用list incarnation产看相关信息。切换一下再运行

reset database to incarnation XX;

RMAN> recover database;

RMAN-03002: failure of recover command at 11/14/2014 22:19:36

RMAN-06053: unable to perform media recovery because of missing log

RMAN-06025: no backup of archived log for thread 1 with sequence 13 and starting SCN of 1208284

这一步居然报错了。后来我发现没有运行catalog

然后我运行了catalog start with ‘/u01/backup/’;

完了再次运行recover

可是还是出错现了相同的错误

然后我运行list backup of archivelog all查看后,运行了下面脚本就好了

RMAN> run {

2> set until scn 1208284;

3> recover database;

4> }





executing command: SET until clause





Starting recover at 14-NOV-14

using channel ORA_DISK_1

using channel ORA_DISK_2

using channel ORA_DISK_3

using channel ORA_DISK_4





starting media recovery

media recovery complete, elapsed time: 00:00:00





Finished recover at 14-NOV-14

然后登陆数据库运行

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-19751: could not create the change tracking file

ORA-19750: change tracking file:

'/u01/app/oracle/oradata/orcl/ORCL/changetracking/o1_mf_b51rj77x_.chg'

ORA-27040: file create error, unable to create file

Linux-x86_64 Error: 2: No such file or directory

Additional information: 1

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

又出错了,我就去/u01/app/oracle/oradata/orcl/ORCL/changetracking/文件夹查看没有这个文件夹

然后我运行了

SQL>ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;

然后关闭数据库shutdown immediate。

再运行startup;

数据库成功启动

搞这个异机恢复,第一次搞了2天,头都大了,好多解决方法都没用。以上为个人遇到的问题,希望对一些遇到同类问题的朋友有帮助

改变change tracking file的位置

1) 不关闭数据库的方式

SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'new_location';

注意:这样的方式会丢失change tracking file的内容

oracle rman异机恢复的更多相关文章

  1. Oracle RMAN 异机恢复一例

    背景介绍:本例需求是将NBU备份的oracle数据库恢复到另一主机上. NBU环境配置.异机上的Oracle软件安装配置忽略,下面只介绍OracleDB恢复的过程. ----------------- ...

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

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

  3. Linux平台下RMAN异机恢复总结

    下面总结.整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,直到最近偶然被翻看到,遂整理.总结一下.如下所示,个人将整个RMAN异机恢复分为准备工作和操作步骤两大部分.当然,准 ...

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

    一.RMAN异机恢复实验 2011年3月23日00:44 1.环境介绍: 主机1: 操作系统 REDHAT5.5 IP地址 172.16.1.120 主机名 sigle 数据库版本 10.2.0.4 ...

  5. Oracle12c RAC RMAN异机恢复

    ######################################################## #编辑pfile文件initspdb.ora vi /oracle/app/oracl ...

  6. NBU Rman异机恢复Oracle

    前段时间一个亿级分区表,被分割成历史表和业务表,历史表中保留15天以外的数据,每天都会从业务表中的15天外的数据copy到历史表,并删除业务表15天外的数据,逻辑也很简单,但插入历史表的where 条 ...

  7. RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例

    测试环境:     操作系统  :  Red Hat Enterprise Linux ES release 4 (Nahant Update 4)   VMWARE     数据库     :  O ...

  8. Oracle 11g 异机恢复参考文档

      原库 目标库 操作系统 CentOS 6.4 CentOS 6.4 主机名 sht-sgmhadoopnn-01 sht-sgmhadoopnn-02 IP 172.16.101.55 172.1 ...

  9. rman异机恢复,全部恢复和增量恢复

    1.首先准备工作:hostname 192.168.222.11 ol7.localdomain ol7建立相关目录:mkdir -p /u01/app/oracle/oradata/DB11G/mk ...

随机推荐

  1. 我来讲讲在c#中怎么进行xml文件操作吧,主要是讲解增删改查!

    我把我写的四种方法代码贴上来吧,照着写没啥问题. 注: <bookstore> <book> <Id>1</Id> <tate>2010-1 ...

  2. python之字符串格式化(format)

    用法: 它通过{}和:来代替传统%方式 1.使用位置参数 要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表 ...

  3. [原创]浅谈如何使用gcc开发NT核心驱动程序

    原文链接:[原创]浅谈如何使用gcc开发NT核心驱动程序 一谈到在 Win NT 下开发核心驱动程序,可能不少人首先都会想到微软“正统”的VC来.诚然,用VC 配合 WINDDK 的确工作的不错,但或 ...

  4. 几种改变Activity回退栈默认行为的Intent Flag

    FLAG_与LaunchMode相比最大的不同是临时性 1.FLAG_ACTIVITY_NEW_TASK: Developer.android.com的说法: (1)在新的task中启动这个Activ ...

  5. SQL Server 查看对象的权限

    例子 1. 查看登录名 loginA的权限: create login loginA with password = '123456'; go use studio; create user logi ...

  6. 部署vc2008开发的程序(三种办法,但是我觉得这种办法最不好)

    如果你编译了一个VC2008的默认的CRT/MFC的应用程序,如果目标部署电脑上没有安装相应的VC2008的动态库,当运行你的程序的时 个,会出现如下错误信息.   这是因为程序使用了基于VC2008 ...

  7. Centos 升级MySQL版本或者Yum安装Mysql5.6

    Centos 升级MySQL版本或者Yum安装Mysql5.6 1.从MySQL Yum仓库下载最新的rpm文件:http://dev.mysql.com/downloads/repo/yum/Cen ...

  8. perl 解json数组

    <pre name="code" class="cpp">http://11.36.10.82:4000/api/bus?bus=307&f ...

  9. NOI2012 Day2

    NOI2012 Day2 迷失游乐园 题目描述:给出一个\(n\)个点的图,边数为\(n-1\)或\(n\).从某个点出发,每次等概率地随机选一个相连的并且没有经过过的点,直到不能走为止,问期望路径长 ...

  10. 【Cocos2d TestCpp实例模仿一】-- ActionsTest

    转载请注明出处:http://blog.csdn.net/oyangyufu/article/details/25252539 CCActionInterval(持续性动作) 位置性变化动作以To结束 ...