数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

没有备份只有归档日志如何恢复数据文件


发布日期:2019年10月24日
 
没有备份只有归档日志如何恢复数据文件

系统环境

操作系统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;

如果是非归档模式也可以运用以上方法

前提是输入记录所占空间的大小不超过所有联机日志文件的大小

用联机日志文件来恢复

上一篇:Oracle监听器,让你监听想要的东东

下一篇:数据库商家关注开源带来的沖击