Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1210220
  • 博文数量: 1211
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 14340
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-09 11:20
文章分类

全部博文(1211)

文章存档

2011年(1)

2008年(1210)

我的朋友

分类: 服务器与存储

2008-06-13 13:23:30

恢复方法二

  1.restore所有的数据文件

  2.重建控制文件
  SQL> startup nomount;
  ORACLE 例程已经启动。

Total System Global Area 142606336 bytes Fixed Size 1247732 bytes Variable Size 83887628 bytes Database Buffers 50331648 bytes Redo Buffers 7139328 bytes SQL> CREATE CONTROLFILE REUSE DATABASE "NING" NORESETLOGS ARCHIVELOG 2 MAXLOGFILES 16 3 MAXLOGMEMBERS 3 4 MAXDATAFILES 100 5 MAXINSTANCES 8 6 MAXLOGHISTORY 292 7 LOGFILE 8 GROUP 1 'E:/ORACLE/ORA10/ORADATA/NING/REDO01.LOG' SIZE 10M, 9 GROUP 2 'E:/ORACLE/ORA10/ORADATA/NING/REDO02.LOG' SIZE 10M, 10 GROUP 3 'E:/ORACLE/ORA10/ORADATA/NING/REDO03.LOG' SIZE 10M 11 -- STANDBY LOGFILE 12 DATAFILE 13 'E:/ORACLE/ORA10/ORADATA/NING/SYSTEM01.DBF', 14 'E:/ORACLE/ORA10/ORADATA/NING/UNDOTBS01.DBF', 15 'E:/ORACLE/ORA10/ORADATA/NING/SYSAUX01.DBF', 16 'E:/ORACLE/ORA10/ORADATA/NING/USERS01.DBF' 17 CHARACTER SET UTF8 18 ;

  控制文件已创建。

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

  指定日志: {=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

  可见,使用重建控制文件的恢复方法,只有当前联机日志是最新的,无需使用resetlogs即可打开数据库。只要当前联机日志正常,一般建议采取重建日志文件而不是采用备份的控制文件来恢复数据库。由此也可以看到,联机日志文件相当重要,要尽最大努力避免联机日志损坏,例如,使用多个member logfile,每个logfile放到不同的磁盘上,等等。同时,在修改过数据库的结构,比如添加datafile后,最好将控制文件的脚本备份一次alter database backup controlfile to trace;

阅读(262) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~