系统环境
操作系统Windows Server机器内存M
数据库Oracle i R () for NT 企业版
安装路径C:\ORACLE
模拟现象
可通过重建数据文件来恢复前提是归档日志文件保存完整
先将数据库设置为归档模式
SQL*Plus
conn system/manager
创建实验表空间
create tablespace test datafile
c:\testora size M
AUTOEXTEND ON NEXT M MAXSIZE UNLIMITED
default storage (initial K next M pctincrease )
/
创建实验用户
drop user test cascade;
create user test identified by test default tablespace test;
grant connectresource to test;
conn test/test
create table a(a number);
insert into a values();
insert into a select * from a; 反复插入达到万条
commit;
关闭数据库
SVRMGR> connect internal
SVRMGR> alter system switch logfile; 强制归档
SVRMGR> alter system switch logfile;
SVRMGR> alter system switch logfile;
SVRMGR> shutdown
操作系统下删除testora文件
重新启动数据库
SVRMGR> connect internal
SVRMGR> startup
这时可以mount上但无法打开因为数据文件testora不存在
显示错误如下
ORA: ????/?????? ??? DBWR ????
ORA: ???? : C:\TESTORA
SVRMGR> connect internal
SVRMGR> startup mount
SVRMGR> alter database create datafile c:\testora;
SVRMGR> set autorecovery on
SVRMGR> recover datafile c:\testora;
SVRMGR> alter database open;
conn test/test
select count(*) from a; 数据又恢复到万条
删除实验表空间
conn system/manager
alter tablespace test offline;
drop tablespace test INCLUDING CONTENTS;
drop user test;
如果是非归档模式也可以运用以上方法
前提是输入记录所占空间的大小不超过所有联机日志文件的大小
即用联机日志文件来恢复