oracle rman异机恢复
| 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异机恢复的更多相关文章
- Oracle RMAN 异机恢复一例
背景介绍:本例需求是将NBU备份的oracle数据库恢复到另一主机上. NBU环境配置.异机上的Oracle软件安装配置忽略,下面只介绍OracleDB恢复的过程. ----------------- ...
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...
- Linux平台下RMAN异机恢复总结
下面总结.整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,直到最近偶然被翻看到,遂整理.总结一下.如下所示,个人将整个RMAN异机恢复分为准备工作和操作步骤两大部分.当然,准 ...
- RMAN异机恢复实验---转载
一.RMAN异机恢复实验 2011年3月23日00:44 1.环境介绍: 主机1: 操作系统 REDHAT5.5 IP地址 172.16.1.120 主机名 sigle 数据库版本 10.2.0.4 ...
- Oracle12c RAC RMAN异机恢复
######################################################## #编辑pfile文件initspdb.ora vi /oracle/app/oracl ...
- NBU Rman异机恢复Oracle
前段时间一个亿级分区表,被分割成历史表和业务表,历史表中保留15天以外的数据,每天都会从业务表中的15天外的数据copy到历史表,并删除业务表15天外的数据,逻辑也很简单,但插入历史表的where 条 ...
- RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例
测试环境: 操作系统 : Red Hat Enterprise Linux ES release 4 (Nahant Update 4) VMWARE 数据库 : O ...
- Oracle 11g 异机恢复参考文档
原库 目标库 操作系统 CentOS 6.4 CentOS 6.4 主机名 sht-sgmhadoopnn-01 sht-sgmhadoopnn-02 IP 172.16.101.55 172.1 ...
- rman异机恢复,全部恢复和增量恢复
1.首先准备工作:hostname 192.168.222.11 ol7.localdomain ol7建立相关目录:mkdir -p /u01/app/oracle/oradata/DB11G/mk ...
随机推荐
- codeforces 3D . Least Cost Bracket Sequence 贪心
题目链接 给一个字符串, 由( ) 以及? 组成, 将?换成( 或者 ) 组成合法的括号序列, 每一个?换成( 或者 ) 的代价都不相同, 问你最小代价是多少, 如果不能满足输出-1. 弄一个变量nu ...
- RAID详细介绍
RAID详细介绍 RAID 0 又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就 ...
- C语言入门(4)——常量、变量与赋值
对于基本数据类型量,按其取值是否可改变又分为常量和变量两种.在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量.它们可与数据类型结合起来分类. 常量 常量有字符常量(Character ...
- 关于iOS7越狱的整理
目前越狱非常的不稳定,已经白苹果第三次了.中途遇见了不少问题,去各大论坛找了下解决办法,算是搬运工. iOS7越狱过程中打开手机上的“evasi0n7”闪退,怎么办?1. 请先尝试卸载手机“evasi ...
- CSS用法简介
CSS(Cascading Style Sheets层叠样式表)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言. 1.基本使用语法 ...
- 重构HTML改善web应用设计
本文从良构,有效性,布局三个角度,结合往日项目开发经历, 整理总结重构HTML改善Web应用设计的几点规则和做法.部分参考自<重构HTML改善Web应用设计>. 重构.什么是重构?为什么要 ...
- c# session总结
C# 中对 Session 的“(string)”.“.ToString()”与“Convert.ToString”用法笔记 在实际操作当中,我们经常会遇到将 Session 的值转为 String ...
- shell 守护进程
#!/bin/sh #守护进程,接受2个参数 #para CMD 执行的命令 #pare ID 唯一标识改命令 if [ "$1" = "" -o " ...
- JAVA之GUI编程ACTION事件
package GUI; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java. ...
- 对discuz的代码分析学习(一)目录结构
主目录 DISCUZ用的是自己的框架,和其他框架应用一样属于单入口应用.主目录下的.php文件,大部分是应用的入口文件. home.php:家园入口,即论坛中类似博客的那个东西.index.php:首 ...