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的内容

转载于:https://www.cnblogs.com/zfyouxi/p/5184331.html

oracle rman异机恢复相关推荐

  1. linux dump命令 异机,Oracle 11.2.0.4 从单实例,使用RMAN 异机恢复到RAC

    Oracle 11.2.0.4从单实例,使用RMAN异机恢复到RAC 注意: (1)迁移的2个db版本版本要一致.包括小版本. (2)RMAN异机恢复的时候,db_name必须相同.如果说要想改成其他 ...

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

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

  3. Oracle 运维篇+RAC集群转单实例/RMAN异机恢复/RMAN迁移/RMAN备份恢复操作概要

    说明:本文为Oracle RAC集群转单实例/RMAN异机恢复/RMAN迁移/RMAN备份恢复操作概要方便用户查阅 温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化 说 ...

  4. centos7 mysql还原dmp_Linux平台下RMAN异机恢复总结

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

  5. RMAN异机恢复步骤

    RMAN是DBA日常工作非常常用的工具,RMAN的应用场景大概有数据备份恢复.数据迁移等.我们不常用本机RMAN恢复,因为在实际生产中RMAN备份通常是用于异机恢复,比如数据迁移,DG搭建,恢复备份库 ...

  6. RMAN异机恢复步骤及故障处理

    一.測试机安装OS+Oracle Software.包含配置oracle用户.组和环境变量(略) 二.開始异机恢复 1. 复制源库最新备份集.初始化參数.password文件到測试机 [oracle@ ...

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

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

  8. nbu还原oracle,NBU异机恢复ORACLE成功版本

    经过<NBU异机恢复ORACLE(遇到的问题) >,成功版本如下 源端:oracle10grac1 oracle10grac2 RAC+ASM 目标端:ora10 master serve ...

  9. oracle故障一例,Oracle 10g异机恢复后EM无法启动故障处理一例

    之前在自己的测试环境上做了个异机恢复,原来的库上是配置过EM的,但是在恢复的库上去启动EM就报错了,下面看具体解决过程: PS:原主机名为zlm,恢复出来的主机名为bak [root@bak ~]# ...

最新文章

  1. 【机器学习】基于粒子群算法的非线性函数寻优
  2. apache +mod_jk URL中文乱码
  3. UML总结—时序图(Sequence Diagram)和协作图(Collaboration Diagram)
  4. nrf51822-主从通信分析2
  5. Django系列目录
  6. 初学者持续自我提升指南
  7. mysql datetime 后面带了很多0_面试官:MySQL 表设计要注意什么?
  8. bzoj3322 最大生成树+LCA
  9. HDU2545 树上战争【树+并查集】
  10. iOS 性能优化:Instruments 工具的救命三招
  11. Android客户端和服务器端数据交互的第二种方法
  12. (转)Mysql 增删用户
  13. Spring学习(下)
  14. 【转】用深度学习揭示数据的因果关系
  15. 网易软件测试面试总结分享——送给正在找工作的你
  16. 使用WampServer搭建自己的网站
  17. 7个步骤!3分钟!轻松绘制简单好看的折线图!
  18. Torus:为Kubernetes量身打造的分布式存储方案
  19. JS 获取指定日期的前几天或者几天
  20. 实例:用C#.NET手把手教你做微信公众号开发(3)--普通消息处理之图片

热门文章

  1. Hadoop集群搭建(七:MySQL的安装配置)
  2. java 静态代码块 多线程,Java多线程编程笔记10:单例模式
  3. c语言中void跟argv,argc和argv []在C语言中
  4. 女生参加软件测试培训合适吗
  5. MSSQL-最佳实践-行级别安全解决方案
  6. linux学习笔记一
  7. Microsoft Dynamics CRM server 2013 中业务规则,有点像C#的正则表达式
  8. Centos运行级别和开机过程
  9. nodejs这个过程POST求
  10. Cloudera Manager 5.3 和 CDH5.3.0 本地(离线)