二、归档模式无备份,丢失数据文件的恢复:

   首先要意识到,这种恢复是有条件的,只有在某些特定条件下,才有可能在没有备份的情况下恢复丢失的数据文件。

   同时又需意识到不是所有丢失的文件都是可以被成功恢复的。

1、创建实验环境:确认是否为归档模式

ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)_oracle

 2、创建一个新的表空间books和用户jss并授予相应的权限:

ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)_rman_02

3、初始化一些数据:

ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)_意识_03

4、模拟文件丢失

ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)_rman_04

5、打开数据库,报错了:

ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)_数据_05

6、执行修复:

ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)_rman_06

7、验证,数据库重新可打开:

ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)_数据_07

8、数据都找回来了:

ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)_意识_08

9、上述恢复都没有使用RMAN,事实上上述方式就是最佳的操作方式。当然使用RMAN也可以成功恢复,操作如下,提示是datafile7出错了,那就恢复datafile7:ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)_oracle_09

10、效果是跟之前的一样的:

ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)_意识_10

注意这次恢复能成功的关键点:丢失的数据文件,从其创建时刻起所有的重做日志文件都还在,因此才可以在重建该数据文件后,通过RECOVER命令应用所有重做日志文件方式,重建该数据文件中的内容。