Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5596857
  • 博文数量: 745
  • 博客积分: 10075
  • 博客等级: 上将
  • 技术积分: 7716
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-29 12:09
文章分类

全部博文(745)

文章存档

2019年(1)

2016年(1)

2010年(31)

2009年(88)

2008年(129)

2007年(155)

2006年(197)

2005年(143)

分类: Oracle

2007-12-02 00:52:59

描述
数据库打开的时候,并且恢复的时候数据库也开启,此时受损的文件不能是system或者undo文件
如下操作,都在数据库open时进行
1) SQL> create table scott.com2 (n1 number) tablespace users;
   SQL> insert into scott.com2 values(1);  
   SQL> commit;
   SQL> alter system switch logfile;
2) 破坏users01.dbf                                                          
   我这里采取的办法是先将users 表空间offline,再造一个同名(0字节)的覆盖,也可以采取其他办法。
   SQL> alter tablespace users offline immediate;
此时 select * from scott.com2;
报错:
ERROR 位于第 1 行:
ORA-00376: 此时无法读取文件 8
ORA-01110: 数据文件 8: 'D:\ORACLE\ORADATA\ORA\USERS01.DBF'
SQL> shutdown immediate
OS将备份的users01.dbf copy回去
 
3)恢复
SQL> startup mount
SQL> recover tablespace users;
ORA-00279: 更改 250736 (在 12/02/2007 00:26:43 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORADATA\ORA\AWU1.ARC''
ORA-00280: 更改 250736 对于线程 1 是按序列 # 1 进行的
指定日志: {=suggested | filename | AUTO | CANCEL}
已应用的日志。
完成介质恢复。
SQL> alter database open;
SQL> alter tablespace users online;
SQL>  select * from scott.com2;
        N1
----------
         1
阅读(2610) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~