rman恢复案例——丢失所有的数据文件
2024-07-21 02:07:03
供稿:网友
1.1. 丢失所有的数据文件
大前提,控制文件和日志文件没有损坏。
1.1.1. 模拟丢失所有的数据文件
rman> shutdown abort;
oracle 例程已关闭
rman> host;
microsoft windows xp [版本 5.1.2600]
(c) 版权所有 1985-2001 microsoft corp.
c:/>del d:/oracle92/test1/*.dbf
c:/>exit
主机命令完成
rman>
1.1.2. mount数据库
rman> startup mount;
已连接到目标数据库 (未启动)
oracle 例程已启动
数据库已加载
系统全局区域总计 101784276 字节
fixed size 453332 字节
variable size 75497472 字节
database buffers 25165824 字节
redo buffers 667648 字节
rman>
1.1.3. 还原数据库(restore)
rman> restore database;
启动 restore 于 07-10月-04
分配的通道: ora_disk_1
通道 ora_disk_1: sid=13 devtype=disk
通道 ora_disk_1: 正在开始恢复数据文件备份集
通道 ora_disk_1: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到d:/oracle92/oradata/test1/undotbs01.dbf
正将数据文件00003恢复到d:/oracle92/oradata/test1/indx01.dbf
正将数据文件00004恢复到d:/oracle92/oradata/test1/users01.dbf
通道 ora_disk_1: 已恢复备份段 1
段 handle=d:/rmantest/full01g1v3r8_1_1 tag=hot_db_bk_level0 params=null
通道 ora_disk_1: 恢复完成
通道 ora_disk_1: 正在开始恢复数据文件备份集
通道 ora_disk_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到d:/oracle92/oradata/test1 ystem01.dbf
通道 ora_disk_1: 已恢复备份段 1
段 handle=d:/rmantest/full02g1v3ro_2_1 tag=hot_db_bk_level0 params=null
通道 ora_disk_1: 恢复完成
完成 restore 于 07-10月-04
rman>
1.1.4. 恢复数据库(recovery)
rman> recover database;
启动 recover 于 07-10月-04
使用通道 ora_disk_1
正在开始介质的恢复
完成介质的恢复
完成 recover 于 07-10月-04
rman>
1.1.5. 打开数据库
rman> alter database open;
数据库已打开
rman>
1.2. 丢失全部的数据文件,控制文件和联机日志文件1.2.1. 模拟丢失全部数据文件,控制文件,联机日志文件
rman> shutdown abort;
oracle 例程已关闭
手工删除失全部数据文件,控制文件,联机日志文件。
1.2.2. nomount数据库
rman> startup nomount;
已连接到目标数据库 (未启动)
oracle 例程已启动
系统全局区域总计 101784276 字节
fixed size 453332 字节
variable size 75497472 字节
database buffers 25165824 字节
redo buffers 667648 字节
rman>
1.2.3. 还原控制文件
rman> restore controlfile;
启动 restore 于 07-10月-04
分配的通道: ora_disk_1
通道 ora_disk_1: sid=13 devtype=disk
通道 ora_disk_1: 正在开始恢复数据文件备份集
通道 ora_disk_1: 正在恢复控制文件
输出文件名=d:/oracle92/oradata/test1/control01.ctl
通道 ora_disk_1: 已恢复备份段 1
段 handle=d:/rmantest/ctl538939298_s4_p1.ctl tag=tag20041007t172138 params=null
通道 ora_disk_1: 恢复完成
正在复制控制文件
输出文件名=d:/oracle92/oradata/test1/control01.ctl
输出文件名=d:/oracle92/oradata/test1/control02.ctl
输出文件名=d:/oracle92/oradata/test1/control03.ctl
完成 restore 于 07-10月-04
rman>
1.2.4. 还原所有的数据文件
rman> restore database;
启动 restore 于 07-10月-04
使用通道 ora_disk_1
通道 ora_disk_1: 正在开始恢复数据文件备份集
通道 ora_disk_1: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到d:/oracle92/oradata/test1/undotbs01.dbf
正将数据文件00003恢复到d:/oracle92/oradata/test1/indx01.dbf
正将数据文件00004恢复到d:/oracle92/oradata/test1/users01.dbf
通道 ora_disk_1: 已恢复备份段 1
段 handle=d:/rmantest/full01g1v3r8_1_1 tag=hot_db_bk_level0 params=null
通道 ora_disk_1: 恢复完成
通道 ora_disk_1: 正在开始恢复数据文件备份集
通道 ora_disk_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到d:/oracle92/oradata/test1 ystem01.dbf
通道 ora_disk_1: 已恢复备份段 1
段 handle=d:/rmantest/full02g1v3ro_2_1 tag=hot_db_bk_level0 params=null
通道 ora_disk_1: 恢复完成
完成 restore 于 07-10月-04
rman>
1.2.5. mount数据库
rman> alter database mount;
数据库已加载
rman>
1.2.6. 恢复数据库(基于scn的恢复)
rman> recover database until scn 71028;
启动 recover 于 07-10月-04
使用通道 ora_disk_1
正在开始介质的恢复
存档日志线程 1 序列 3 已作为文件 d:/oracle92/admin/test1/arch/arc00003.arch 存在于磁盘上
存档日志线程 1 序列 4 已作为文件 d:/oracle92/admin/test1/arch/arc00004.arch 存在于磁盘上
存档日志文件名 =d:/oracle92/admin/test1/arch/arc00003.arch 线程 =1 序列 =3
存档日志文件名 =d:/oracle92/admin/test1/arch/arc00004.arch 线程 =1 序列 =4
完成介质的恢复
完成 recover 于 07-10月-04
rman>
1.2.7. 使用resetlogs 选项恢复数据库
rman> alter database open resetlogs;
数据库已打开
在恢复目录中注册的数据库的新实体化
正在启动全部恢复目录的 resync
完成全部 resync
rman>