描述
数据库打开的时候,并且恢复的时候数据库也开启,此时受损的文件不能是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
阅读(2662) | 评论(0) | 转发(0) |