欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

RMAN 各种情况下恢复

程序员文章站 2022-06-08 16:13:30
...

完全恢复是指当数据文件出现介质失败时,使用RESTORE命令转储备份(到原存放地或可用的设备),然后再使用RECOVER命令将数据文件

一.RMAN 完全恢复

完全恢复是指当数据文件出现介质失败时,使用RESTORE命令转储备份(到原存放地或可用的设备),然后再使用RECOVER命令将数据文件恢复到失败点的状态。

SYSTEM表空间数据文件恢复要求数据库必须在mount状态进行,其他数据文件恢复既可以使数据库在mount状态,也可以是open状态进行;

当需要恢复所有数据文件或者要求在数据库级别恢复时,应该使用完全恢复,这时数据库需启动到mount状态;恢复至原存放地脚本如下(在open状态下运行此脚本):

RMAN> run{
2> startup force mount
3> restore database;
4> recover database;
5> alter database open;
6> }


Oracle 实例已启动
数据库已装载

系统全局区域总计 838860800 字节

Fixed Size 1293384 字节
Variable Size 742392760 字节
Database Buffers 88080384 字节
Redo Buffers 7094272 字节

启动 restore 于 13-5月 -13
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK

通道 ORA_DISK_1: 正在恢复数据文件00007
输入数据文件副本 recid=36 stamp=815324562 文件名=D:\BACKUP\ORCL_124.BAK
数据文件 00007 的恢复目标: D:\RMAN.DBF
通道 ORA_DISK_1: 已复制数据文件 00007 的数据文件副本
输出文件名=D:\RMAN.DBF recid=37 stamp=815324790
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
正将数据文件00004恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
正将数据文件00005恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\ORCL_1318810635_112
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\ORCL_1318810635_112 标记 = TAG20130513T144801
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:36
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\BACKUP\ORCL_116.BAK
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\BACKUP\ORCL_116.BAK 标记 = TAG20130513T145621
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:46
完成 restore 于 13-5月 -13

启动 recover 于 13-5月 -13
使用通道 ORA_DISK_1

正在开始介质的恢复
介质恢复完成, 用时: 00:00:10

完成 recover 于 13-5月 -13
数据库已打开

恢复系统表空间至原存放地脚本如下

RMAN> run{
2> startup force mount
3> restore tablespace system;
4> recover tablespace system;
5> alter database open;
6> }


Oracle 实例已启动
数据库已装载


系统全局区域总计 838860800 字节


Fixed Size 1293384 字节
Variable Size 750781368 字节
Database Buffers 79691776 字节
Redo Buffers 7094272 字节


启动 restore 于 13-5月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK


通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\BACKUP\ORCL_116.BAK
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\BACKUP\ORCL_116.BAK 标记 = TAG20130513T145621
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:55
完成 restore 于 13-5月 -13


启动 recover 于 13-5月 -13
使用通道 ORA_DISK_1


正在开始介质的恢复


存档日志线程 1 序列 661 已作为文件 F:\RMANBACKUP\ORCL\ARCHIVELOG\2013_05_13\O1_MF_1_661_8S13VN1G_.ARC 存在于磁盘上
存档日志线程 1 序列 662 已作为文件 F:\RMANBACKUP\ORCL\ARCHIVELOG\2013_05_13\O1_MF_1_662_8S14DQ98_.ARC 存在于磁盘上
存档日志线程 1 序列 663 已作为文件 F:\RMANBACKUP\ORCL\ARCHIVELOG\2013_05_13\O1_MF_1_663_8S14XX0Z_.ARC 存在于磁盘上
存档日志文件名 =F:\RMANBACKUP\ORCL\ARCHIVELOG\2013_05_13\O1_MF_1_661_8S13VN1G_.ARC 线程 =1 序列 =661
介质恢复完成, 用时: 00:00:04
完成 recover 于 13-5月 -13

数据库已打开

恢复系统表空间数据至其他可用设备

RMAN> run{
2> startup force mount
3> set newname for datafile 1 to 'd:\system01.dbf';
4> restore datafile 1;
5> switch datafile 1;
6> recover datafile 1;
7> alter database open;
8> }


Oracle 实例已启动
数据库已装载


系统全局区域总计 838860800 字节


Fixed Size 1293384 字节
Variable Size 754975672 字节
Database Buffers 75497472 字节
Redo Buffers 7094272 字节


正在执行命令: SET NEWNAME

RMAN 各种情况下恢复