rman 异机恢复详细步骤,rman备份与恢复
几点说明:
(1)RMAN异机恢复的时候,数据库名称必须相同。如果说要想改成其他的实例名,可以在恢复成功后,用突边命令修改。实例名的信息会记录到控制文件里,所以如果在恢复的时候,如果实例名不一致,恢复的时候会报错。
(2)如果恢复的路径和源库不一致,就需要在恢复时用设置命令指定新位置。并且使用切换数据文件全部将信息更新的到控制文件。
在做复制的时候,RMAN会自动根据静态参数文件中的日志文件名转换和数据库文件名转换来进行设置的转换。手工恢复时,只能只只能使用设置命令。
(3)异机恢复对相同目录和不同目录都做了说明。
(4)最后测试了突边修改资料库识别码和DBNAME .
在上配置控制文件自动备份;
将设备类型磁盘的控制文件自动备份格式配置为"/u03/RMAN/auto _ c _ % F ";
将设备类型磁盘并行度2备份类型配置为压缩备份;
运行{
交叉检查存档日志全部
全部删除过期的归档日志;
交叉检查备份;
删除过期的备份;
分配通道c1类型磁盘;
备份增量0级数据库格式"/u03/RMAN/db0%u_%s_%p.bak "包括当前控制文件;
sql "更改当前系统存档日志";
备份filesperset 1格式/u03/RMAN/arch%u_%s_%p.bak
备份文件标记=spfile 格式=/u03/RMAN/ORCL _ spfile _ % U _ % T ;
归档日志所有删除输入;
释放通道C1;
}
退出;
~
备份出来的文件如下:
[甲骨文@rhel133 RMAN]$ ls -lth
总计5.8G
-rw-r-1 Oracle oinstall 6.9M 4月9日2013年04月09日14:30
-rw-r-1 Oracle oinstall 96K Apr 9 14:30 ORCL _ spfile _ 0 so 6 LCP _ 1 _ 1 _ 2013 04 09
-rw-r-1 Oracle oinstall 6.9M 4月9日2013年04月09日
-rw-r-1 Oracle oinstall 6.8M 4月9日12:20 auto _ c _ c-1230508166-2013 04 09-02
-rw-r-1 Oracle oinstall 6.8M 4月9日2013年04月09日11:32 auto _ c _ c-1230508166
-rw-r-1 Oracle oinstall 6.8M 4月9日2013年04月09日
-rw-r-1 Oracle oinstall 2.5K Apr 9 09:37 arch 0 io 6 kr7a _ 18 _ 1。备份文件
-rw-r-1 Oracle oinstall 2.5K Apr 9 09:37 arch 0 ho6 kr 78 _ 17 _ 1。备份文件
-rw-r-1 Oracle oinstall 4.4M Apr 9 09:37 arch 0 go 6 kr 75 _ 16 _ 1。备份文件
-rw-r-1 Oracle oinstall 22M 04月9日09:37 arch0fo6kr6t_15_1.bak
-rw-r-1 Oracle oinstall 135m Apr 9 09:37 arch 0 EO 6 kr 63 _ 14 _ 1。备份文件
-rw-r-1 Oracle oinstall 161m Apr 9 09:37 arch 0 do 6kr 59 _ 13 _ 1。备份文件
-rw-r-1 Oracle oinstall 1.1M Apr 9 09:36 db 00 bo 6 kr 52 _ 11 _ 1。备份文件
-rw-r-1 Oracle oinstall 5.4G Apr 9 09:36 db 00 ao 6 kq0u _ 10 _ 1。备份文件
检查数据文件所在位置,在辅助的库需将所有的数据文件从/u02改变到/u01下:
标准选取文件id,文件名从dba_data_files开始排序依据文件id;
文件身份文件名
- -
1/u02/oradata/orcl/system 01。数据文件
2/u02/oradata/orcl/undotbs 01。数据文件
3/u02/oradata/orcl/sys aux 01。数据文件
4/u02/oradata/orcl/deal space _ 002。数据文件
5/u02/oradata/orcl/deal space _ 001。数据文件
6/u02/oradata/orcl/l5 mspace 01。数据文件
7/u02/oradata/orcl/RCF空间_ 002。数据文件
8/u02/oradata/orcl/RCF空间_ 001。数据文件
9/u02/oradata/orcl/dt space _ 001。数据文件
选择了9行。
SQL select文件id,文件名from dba _ temp _ files
文件身份文件名
- -
1 /u01/oradata/orcl/temp01.dbf
二。辅助的库准备工作:
由于我是在同一台机器上做测试,所以将所有目标库相关的文件全部清除。
结构化查询语言立即关闭;
数据库关闭。
数据库已卸载。
神谕实例关闭。
[oracle@rhel133 orcl]$ ls
控制01.ctl控制02.ctl控制03.ctl重做01.log重做02.log重做03.log temp01.dbf
[oracle@rhel133 orcl]$ pwd
/u01/oradata/orcl
[oracle@rhel133 orcl]$ rm -rf *
[Oracle @ rhel 133 orcl]$ CD/u02/oradata/orcl/
[oracle@rhel133 orcl]$ ls
交易空间_ 001。DBF dt空间_ 001。DBF RCF空间_ 001。DBF系统辅助01。DBF undotbs 01。数据文件
交易空间_ 002。DBF l5 mspace 01。DBF RCF空间_ 002。DBF系统01。数据文件
[oracle@rhel133 orcl]$ rm *
[甲骨文@rhel133数据库]$ ls
cntrlorcl。DBF HC _ orcl。dat初始化orcl。ora lkDUMMY lkORCL snapcf _ orcl。f spfileorcl。奥拉
[甲骨文@rhel133数据库]$ rm *
创建口令文件
[Oracle @ rhel 133 DBS]$ ora pwd file=?/dbs/orapworcl password=oracle
2.创建相关的目录
[Oracle @ rhel 133 u01]$ mkdir oradata
[oracle@rhel133 oradata]$ pwd
/u01/oradata
3.创建初始化参数
如果要恢复恢复管理器备份的spfile,数据库必须先启动到增加状态,所以,得从其它的数据库先找个临时的静态参数文件启动到增加状态,然后再通过恢复管理器来恢复恢复管理器备份的spfile .
[ORACLE @ rhel 133 DBS]$ export ORACLE _ SID=orcl
[甲骨文@rhel133数据库]$ rman目标/
恢复管理器:版本10 .2 .0 .4 .0-2013年四月9日星期二15:01:01生产
版权所有(c) 1982年,2007年,甲骨文公司.保留所有权利。
连接到目标数据库(未启动)
恢复管理器创业公司启动实例
神谕实例已启动
总系统全局区1224736768字节
固定大小1266416字节
可变大小683674896字节
数据库缓冲区524288000字节
重做缓冲区15507456字节
恢复管理器将文件恢复到pfile /u01/app/Oracle/product/10201/DBS/initor cl。奥拉来自/u03/RMAN/ORCL _ spfile _ 0 so 6 LCP _ 1 _ 1 _ 2013 04 09 ;
从2013年四月9日开始恢复
使用目标数据库控制文件代替恢复目录
分配的通道:奥拉_磁盘_1
通道ORA_DISK_1: sid=541 devtype=DISK
发现通道奥拉_磁盘_1:自动备份:/u03/RMAN/ORCL _ spfile _ 0so 6 LCP _ 1 _ 1 _ 2013 04 09
通道奥拉_磁盘_1:从自动备份恢复文件完成
于2013年四月9日完成恢复
4.将用静态参数文件将辅助的库启动到诺穆特状态
结构化查询语言启动nomount pfile=?/dbs/initorcl.ora
神谕实例已启动。
总系统全局区1325400064字节
固定大小1267236字节
可变大小1256196572字节
数据库缓冲区52428800字节
重做缓冲区15507456字节
5.恢复控制文件
恢复管理器从"/u03/RMAN/auto _ c _ c-1230508166-2013 04 09-04 "恢复控制文件;
从2013年四月9日开始恢复
使用目标数据库控制文件代替恢复目录
分配的通道:奥拉_磁盘_1
通道ORA_DISK_1: sid=101 devtype=DISK
通道奥拉_磁盘_1:恢复控制文件
通道奥拉_磁盘_1:恢复完成,所用时间:00:00:02
输出文件名=/u01/oradata/orcl/control 01。细胞毒性T淋巴细胞
输出文件名=/u01/oradata/orcl/control 02。细胞毒性T淋巴细胞
输出文件名=/u01/oradata/orcl/control 03。细胞毒性T淋巴细胞
于2013年四月9日完成恢复
6.将分贝启动到口状态
恢复管理器更改数据库装载;
数据库已安装
已发布的通道:奥拉_磁盘_1
7.恢复数据库
因为我们的路径不同,所以我们需要使用设置命令转换一下路径。
注意,恢复的时候不会对临时雇员表空间进行恢复。所以等恢复之后,我们需要手工创建临时雇员表空间。
恢复管理器跑步
2 {
3将数据文件一的新名称设置为"/u01/oradata/orcl/system 01。DBF”;
四将数据文件2的新名称设置为"/u01/oradata/orcl/undotbs 01。DBF”;
5将数据文件3的新名设置为"/u01/oradata/orcl/sysaux 01。DBF”;
6将数据文件四的新名称设置为"/u01/oradata/orcl/deal space _ 002。DBF”;
七将数据文件5的新名称设置为"/u01/oradata/orcl/deal space _ 001。DBF”;
8将数据文件6的新名设置为"/u01/oradata/orcl/l5 mspace 01。DBF”;
9将数据文件七的新名称设置为"/u01/oradata/orcl/RCF空间_ 002。DBF”;
10将数据文件8的新名称设置为"/u01/oradata/orcl/RCF空间_ 001。DBF”;
11将数据文件9的新名称设置为"/u01/oradata/orcl/dt space _ 001。DBF”;
12恢复数据库;
13交换机数据文件全部;
14 }
执行命令:设置新名称
执行命令:设置新名称
执行命令:设置新名称
执行命令:设置新名称
执行命令:设置新名称
执行命令:设置新名称
执行命令:设置新名称
执行命令:设置新名称
执行命令:设置新名称
从2013年四月9日开始恢复
在2013年四月9日开始隐式交叉检查备份
分配的通道:奥拉_磁盘_1
通道ORA_DISK_1: sid=101 devtype=DISK
分配的通道:ORA _磁盘_2
通道ORA_DISK_2: sid=100 devtype=DISK
交叉检查了12个对象
于2013年四月9日完成隐式交叉检查备份
在2013年四月9日开始隐式交叉检查复制
使用奥拉_磁盘_1通道
使用通道ORA _磁盘_2
于2013年四月9日完成隐式交叉检查复制
搜索恢复区中的所有文件
给文件编目.
没有文件编目
使用奥拉_磁盘_1通道
使用通道ORA _磁盘_2
通道奥拉_磁盘_1:开始数据文件备份还原
通道奥拉_磁盘_1:指定要从备份集还原的数据文件
将数据文件00001还原到/u01/oradata/orcl/system01.dbf
将数据文件00002恢复到/u01/oradata/orcl/undotbs 01。数据文件
将数据文件00003还原到/u01/oradata/orcl/sysaux01.dbf
将数据文件00004恢复到/u01/oradata/orcl/deal space _ 002。数据文件
将数据文件00005恢复到/u01/oradata/orcl/deal space _ 001数据文件
将数据文件00006还原到/u01/oradata/orcl/l5 mspace 01。数据文件
将数据文件00007还原到/u01/oradata/orcl/RCF空间_ 002。数据文件
将数据文件00008还原到/u01/oradata/orcl/RCF空间_ 001。数据文件
将数据文件00009还原到/u01/oradata/orcl/dt space _ 001。数据文件
通道奥拉_磁盘_1:从备份块/u03/RMAN/db00ao6kq0u_10_1.bak中读取
通道奥拉_磁盘_1:已还原的备份条目一
piece handle=/u03/RMAN/db 00 ao 6 kq0u _ 10 _ 1。bak tag=tag 20130409t 091718
通道奥拉_磁盘_1:恢复完成,所用时间:00:17:57
于2013年四月9日完成恢复
数据文件一切换到数据文件副本
输入数据文件副本recid=37 stamp=812304874 filename=/u01/oradata/orcl/system 01。数据文件
数据文件2切换到数据文件副本
输入数据文件副本recid=38 stamp=812304874文件名=/u01/oradata/orcl/undo TBS 01。数据文件
数据文件3切换到数据文件副本
输入数据文件副本recid=39 stamp=812304874 filename=/u01/oradata/orcl/sys aux 01。数据文件
数据文件四切换到数据文件副本
输入数据文件副本recid=40 stamp=812304874 filename=/u01/oradata/orcl/deal space _ 002。数据文件
数据文件5切换到数据文件副本
输入数据文件副本recid=41 stamp=812304874 filename=/u01/oradata/orcl/deal space _ 001。数据文件
数据文件6切换到数据文件副本
输入数据文件副本recid=42 stamp=812304874 filename=/u01/oradata/orcl/l5 mspace 01。数据文件
数据文件七切换到数据文件拷贝
输入数据文件副本recid=43 stamp=812304874 filename=/u01/oradata/orcl/RCF空间_ 002。数据文件
数据文件8切换到数据文件拷贝
输入数据文件副本recid=44 stamp=812304874 filename=/u01/oradata/orcl/RCF空间_ 001。数据文件
数据文件9切换到数据文件副本
输入数据文件副本recid=45 stamp=812304874 filename=/u01/oradata/orcl/dt space _ 001。数据文件
如果不需要更改文件目录的话,
就简单了恢复管理器还原数据库;
8.恢复数据库
恢复管理器恢复数据库;
从2013年四月9日开始恢复
使用奥拉_磁盘_1通道
使用通道ORA _磁盘_2
开始媒体恢复
通道奥拉_磁盘_1:开始将归档日志还原到默认目标
通道奥拉_磁盘_2:开始将归档日志还原到默认目标
通道奥拉_磁盘_1:还原归档日志
归档日志线程=1序列=5
通道奥拉_磁盘_1:从备份块/u03/RMAN/arch 0 fo 6 kr 6t _ 15 _ 1。备份文件读取
通道奥拉_磁盘_2:还原归档日志
归档日志线程=1序列=6
通道奥拉_磁盘_2:从备份块/u03/RMAN/arch 0 io 6 kr7a _ 18 _ 1。备份文件读取
通道奥拉_磁盘_2:已还原的备份条目一
piece handle=/u03/RMAN/arch 0 io 6 kr 7a _ 18 _ 1。bak tag=tag 20130409t 093640
通道奥拉_磁盘_2:恢复完成,所用时间:00:00:01
通道奥拉_磁盘_1:已还原的备份条目一
piece handle=/u03/RMAN/arch 0 fo 6 kr 6t _ 15 _ 1。bak tag=tag 20130409t 093640
通道奥拉_磁盘_1:恢复完成,所用时间:00:00:04
归档日志文件名=/u01/app/Oracle/flash _ recovery _ area/ORCL/archive log/2013 _ 04 _ 09/O1 _ MF _ 1 _ 5 _ 8p 7 mmykf _ .弧形螺纹=1序列=5
频道默认值:删除归档日志
归档日志文件名=/u01/app/Oracle/flash _ recovery _ area/ORCL/archive log/2013 _ 04 _ 09/O1 _ MF _ 1 _ 5 _ 8p 7 mmykf _ .arc recid=17 stamp=812305026
归档日志文件名=/u01/app/Oracle/flash _ recovery _ area/ORCL/archive log/2013 _ 04 _ 09/O1 _ MF _ 1 _ 6 _ 8p 7 mmykb _ .弧形螺纹=1序列=6
找不到存档日志
归档日志线程=1序列=1
RMAN-00571:=======================================
RMAN-00569:================错误消息堆栈如下===============
RMAN-00571:=======================================
RMAN-03002:2013年9月四日16时17分20秒的恢复命令失败
RMAN-06054:介质恢复请求未知日志:线程1序列1低序列号3524945668
恢复管理器列表备份;
其中的这么一个归档日志的备份文件,/u03/RMAN/arch 0 io 6 kr7a _ 18 _ 1。备份文件的最大视交叉上核是3524945667,系统恢复到这个文件后找不到下一次SCN,就会报这个错,这是正常的,如不想出现这个错误的话,则需要用将数据库恢复到scn 3524945667来不完全恢复。
如需要全完恢复,则需将备份之后产生的所有归档日志。
理学士密钥大小设备类型运行时间完成时间
- - - - -
14 2.00千磁盘2013年四月9日00:00:01
碱基对键:14状态:可用压缩:是标签:标签20130409T093640
作品名称:/u03/RMAN/arch 0 io 6 kr 7a _ 18 _ 1。备份文件
备份集14中的存档日志列表
第三序列低电平扫描低电平时间下一次扫描下一次
- - - - - -
2013年四月9日3524945662
9.用打开重置日志打开数据库
恢复管理器更改数据库打开重置日志;
数据库已打开
在打开重置日志之后,自动在原来默认的路径创建了临时雇员表空间和3组重做文件。
如果恢复目录和原来相同,就不用修改。
如果目录不同,我们就需要把这些文件移到我们现在的
数据
目录。
10.突边修改资料库识别码和数据库名称
SQL选择名称,dbid来自v $数据库
名字资料库识别码
- -
ORCL 1230508166
几点说明:
(1)在修改资料库识别码期间仍然可能会遇到不可恢复的错误。所以修改之前备份数据库,特使是控制文件。因为突边会修改控制文件中的信息。
(2)需要将分贝启动到增加状态才能修改。
结构化查询语言立即关闭
结构化查询语言启动装载;
在执行突边命令之前:一定要关闭所有的会议连接。
突边命令到执行的最后会关闭数据库,如果有会议连接,就会阻止这个操作,修改资料库识别码就会被挂死。如果中断这个操作。修改就会失败,数据库就不能安装。需要恢复。
(1)只改DBID,不改数据库名称
[Oracle @ rhel 133 orcl]$ NID target=sys/Oracle
DBNEWID:版本10.2.0.4.0 -生产于2013年四月9日星期二16:48:51
版权所有(c) 1982年,2007年,甲骨文公司.保留所有权利。
连接到数据库ORCL (DBID=1230508166)
连接到服务器版本10.2.0
数据库中的控制文件:
/u01/oradata/orcl/control 01。细胞毒性T淋巴细胞
/u01/oradata/orcl/control 02。细胞毒性T淋巴细胞
/u01/oradata/orcl/control 03。细胞毒性T淋巴细胞
是否更改数据库全局数据库名的数据库ID?(Y/[N])=y
继续操作
将数据库身份从1230508166更改为1340095604
控制文件/u01/oradata/orcl/control 01。CTL-已修改
控制文件/u01/oradata/orcl/control 02。CTL-已修改
控制文件/u01/oradata/orcl/control 03。CTL-已修改
数据文件/u01/oradata/orcl/system 01。DBF-dbid已更改
数据文件/u01/oradata/orcl/undotbs 01。DBF-dbid已更改
数据文件/u01/oradata/orcl/sys aux 01。DBF-dbid已更改
数据文件/u01/oradata/orcl/deal space _ 002。DBF-dbid已更改
数据文件/u01/oradata/orcl/deal space _ 001DBF-dbid已更改
数据文件/u01/oradata/orcl/l5 mspace 01。DBF-dbid已更改
数据文件/u01/oradata/orcl/RCF空间_ 002。DBF-dbid已更改
数据文件/u01/oradata/orcl/RCF空间_ 001。DBF-dbid已更改
datafile/u01/oradata/orcl/dt space _ 001。DBF-dbid已更改
数据文件/u01/oradata/orcl/temp 01。DBF-dbid已更改
控制文件/u01/oradata/orcl/control 01。CTL-dbid已更改
控制文件/u01/oradata/orcl/control 02。CTL-dbid已更改
控制文件/u01/oradata/orcl/control 03。CTL-dbid已更改
实例关闭
数据库全局数据库名的数据库身份已更改为1340095604。
此数据库以前的所有备份和归档重做日志都不可用。
数据库不知道恢复区中以前的备份和存档日志。
数据库已关闭,请使用操作选项打开数据库。
已成功更改数据库身份证.
DBNEWID -已成功完成。
结构化查询语言启动
神谕实例已启动。
总系统全局区1325400064字节
固定大小1267236字节
可变大小1256196572字节
数据库缓冲区52428800字节
重做缓冲区15507456字节
数据库已安装。
ORA-01589:必须使用操作或NORESETLOGS选项打开数据库
SQL alter database open resetlogs
数据库改变了。
SQL选择名称,dbid来自v $数据库
名字资料库识别码
- -
ORCL 1340095604
已成功更改dbid。
(2)修改资料库识别码和数据库名称
注意一点,修改数据库名称之前,要将文件创建成pfile,因为修改数据库名称之后,原来的参数文件就没用了。所以要保证最新的参数。还有修改数据库名称的值为最新值。修改完之后,然后用这个新参数启动数据库.
结构化查询语言立即关闭
结构化查询语言启动装载;
[Oracle @ rhel 133 DBS]$ NID target=sys/Oracle dbname=test 64
DBNEWID:版本10 .2 .0 .4 .0-2013年四月9日星期二16:59:05生产
版权所有(c) 1982年,2007年,甲骨文公司.保留所有权利。
连接到数据库ORCL (DBID=1340095604)
连接到服务器版本10.2.0
数据库中的控制文件:
/u01/oradata/orcl/control 01。细胞毒性T淋巴细胞
/u01/oradata/orcl/control 02。细胞毒性T淋巴细胞
/u01/oradata/orcl/control 03。细胞毒性T淋巴细胞
将数据库身份和数据库名称全局数据库名更改为TEST64?(Y/[N])=是
继续操作
将数据库身份从1340095604更改为380502617
将数据库名称从全局数据库名更改为测试64
控制文件/u01/oradata/orcl/control 01。CTL-已修改
控制文件/u01/oradata/orcl/control 02。CTL-已修改
控制文件/u01/oradata/orcl/control 03。CTL-已修改
数据文件/u01/oradata/orcl/system 01。DBF-dbid已更改,写入了新名称
数据文件/u01/oradata/orcl/undotbs 01。DBF-dbid已更改,写入了新名称
数据文件/u01/oradata/orcl/sys aux 01。DBF-dbid已更改,写入了新名称
datafile/u01/oradata/orcl/deal space _ 002。DBF-dbid已更改,写入了新名称
datafile/u01/oradata/orcl/deal space _ 001。DBF-dbid已更改,写入了新名称
数据文件/u01/oradata/orcl/l5 mspace 01。DBF-dbid已更改,写入了新名称
数据文件/u01/oradata/orcl/RCF空间_ 002。DBF-dbid已更改,写入了新名称
数据文件/u01/oradata/orcl/RCF空间_ 001。DBF-dbid已更改,写入了新名称
datafile/u01/oradata/orcl/dt space _ 001。DBF-dbid已更改,写入了新名称
数据文件/u01/oradata/orcl/temp 01。DBF-dbid已更改,写入了新名称
控制文件/u01/oradata/orcl/control 01。CTL-dbid已更改,写入了新名称
控制文件/u01/oradata/orcl/control 02。CTL-dbid已更改,写入了新名称
控制文件/u01/oradata/orcl/control 03。CTL-dbid已更改,写入了新名称
实例关闭
数据库名称更改为测试64 .
重新启动前,修改参数文件并生成新的密码文件。
数据库测试64的数据库身份已更改为380502617。
此数据库以前的所有备份和归档重做日志都不可用。
数据库不知道恢复区中以前的备份和存档日志。
数据库已关闭,请使用操作选项打开数据库。
已成功更改数据库名称和身份证.
DBNEWID -已成功完成。
[Oracle @ rhel 133 DBS]$ VI初始化orcl。奥拉修改数据库名称为测试64
[Oracle @ rhel 133 DBS]$ sqlplus/as SYSDBA
SQL*Plus:版本10 .2 .0 .4 .0-2013年四月9日星期二17:01:06生产
版权所有(c) 1982年,2007年,甲骨文公司.保留所有权利。
连接到空闲实例。
结构化查询语言启动
神谕实例已启动。
总系统全局区1325400064字节
固定大小1267236字节
可变大小1256196572字节
数据库缓冲区52428800字节
重做缓冲区15507456字节
数据库已安装。
ORA-01589:必须使用操作或NORESETLOGS选项打开数据库
SQL alter database open resetlogs
数据库改变了。
SQL选择名称,dbid来自v $数据库
名字资料库识别码
- -
TEST64 380502617
另外(同突发球形扰动)电离层的突然骚扰也可以在这个时候进行修改:
如何修改神谕的(同突发球形扰动)电离层的突然骚扰