RMAN恢复案例——丢失所有的数据文件

博客主要介绍数据库在不同文件丢失情况下的恢复方法。一是在控制文件和日志文件未损坏,丢失所有数据文件时的恢复步骤;二是在丢失全部数据文件、控制文件和联机日志文件时的恢复流程,包括模拟丢失、数据库挂载、文件还原与恢复等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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/SYSTEM01.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/SYSTEM01.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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值