日期:2014-05-16  浏览次数:20547 次

oracle数据文件被删除后,恢复

先将数据库设置为归档模式

SQL*Plus

sqlplus system/system@orcl as sysdba

--创建实验表空间
sql>create tablespace test datafile
'c:\test.ora' size 5M
/

--创建实验用户
?
sql>create user test identified by test default tablespace test;
sql>grant connect,resource to test;
sql>conn test/test

sql>create table a(a number);
isql>nsert into a values(1);

commit;

--关闭数据库
sql> shutdown immediate;

--操作系统下删除test.ora文件

--重新启动数据库

sql> startup

这时,可以mount上,但无法打开,因为数据文件test.ora不存在,
显示错误如下:

ORA-01157: ????/?????? 8 - ??? DBWR ????
ORA-01110: ???? 8: 'C:\TEST.ORA'


sql> startup mount
sql> alter database create datafile 'c:\test.ora';
Ssql> set autorecovery on
sql> recover datafile 'c:\test.ora';
sql> alter database open;

sql>conn test/test
sql>select count(*) from a;