技术开发 频道

冷备份能应用归档日志么?

  恢复场景一:当前联机日志文件,控制文件都是ok的,数据文件损坏

  恢复方法
  1.restore冷备份中的数据文件

  2.启动数据库,报错
  SQL> startup
  ORACLE 例程已经启动。

  Total System Global Area 142606336 bytes
  Fixed Size 1247732 bytes
  Variable Size 83887628 bytes
  Database Buffers 50331648 bytes
  Redo Buffers 7139328 bytes
  数据库装载完毕。
  ORA-01113: 文件 1 需要介质恢复
  ORA-01110: 数据文件 1: 'E:/ORACLE/ORA10/ORADATA/NING/SYSTEM01.DBF'

  3.使用recover database恢复数据库
  SQL> recover database;
  ORA-00279: 更改 301820 (在 11/29/2006 10:16:00 生成) 对于线程 1 是必需的
  ORA-00289: 建议: E:/ORACLE/ARCH/NING/ARC00133_0607342148.001
  ORA-00280: 更改 301820 (用于线程 1) 在序列 #133 中

  指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
  auto
  ORA-00279: 更改 301821 (在 11/29/2006 10:26:15 生成) 对于线程 1 是必需的
  ORA-00289: 建议: E:/ORACLE/ARCH/NING/ARC00134_0607342148.001
  ORA-00280: 更改 301821 (用于线程 1) 在序列 #134 中
  ORA-00278: 此恢复不再需要日志文件 'E:/ORACLE/ARCH/NING/ARC00133_0607342148.001'

  ORA-00279: 更改 302089 (在 11/29/2006 10:27:30 生成) 对于线程 1 是必需的
  ORA-00289: 建议: E:/ORACLE/ARCH/NING/ARC00135_0607342148.001
  ORA-00280: 更改 302089 (用于线程 1) 在序列 #135 中
  ORA-00278: 此恢复不再需要日志文件 'E:/ORACLE/ARCH/NING/ARC00134_0607342148.001'

  已应用的日志。
  完成介质恢复。

  4.打开数据库并检查测试数据
  SQL> alter database open;

  数据库已更改。

  SQL> select * from tt;

  ID NAME
  ---------- --------------------
  1 a

  可以看到,数据库已经恢复。其实这种情况下,只要有归档日志文件,当前联机日志文件,当前控制文件,恢复起来是相当简单的,

  和使用联机热备的方式也没有什么区别。如果只是丢失了个别datafile(非系统表空间文件),也可以使

  用recover datafile的方式来恢复。

0
相关文章