平台:oracle 10.1.0+window 2000
对于tablespaceTEST有数据文件d
racleTEST01.DBF和数据文件d
racleTEST02.DBF,它们的备份是c:ackupTEST01.DBF,
c:ackupTEST01.DBF
然后我以归档模式启动数据库,创建了一个表:
create tableTEST_RECOVER(id number ,name varchar2(30)) tablespace TEST;
insert into TEST_RECOVER values(1,'qi');
insert into TEST_RECOVER values(2,'guang');
insert into TEST_RECOVER values(3,'fu');
commit;
alter system switch logfile;
接着我关闭数据库,把数据文件TEST01.DBF和TEST02.DBF删掉了,接着恢复:
SQL>startup mount;
SQL>alter database datafile 14 offline;
SQL>alter database datafile 15 offline;
SQL>alter database open;
SQL>host copy c:ackupTEST01.DBF D
racle;
SQL>host copy c:ackupTEST02.DBF D
racle;
SQL>recover datafile 14;
SQL>recover datafile 15;
SQL>alter database datafile 14 online;
SQL>alter database datafile 15 online;
SQL>select * from test_recover;
id name
1
qi
2
guang
3
fu
说明没有备份的表已经恢复了,
可是我又做了以下的操作:
SQL>alter database datafile14offline;
SQL>alter database datafile14online;
跳出错误:ORA-01113:file 14 needs media recovery
ORA-01110:'data file 14 d
racleTEST01.DBF'
然后我又运行:
SQL>alterdatabase recover datafile 14;
SQL>alter database datafile 14 online;
SQL>select * from test_recover;
有数据说明又恢复正常了,TEST02.DBF 也是这样的情况,请问是什么原因呢?
为什么我正常恢复了,offline数据文件不能正常online呢?
|