归档模式下无备份数据文件损坏的完全恢复-2

数据文件在无备份的情况下恢复
如果控制文件,联机重做日志文件都没有损坏,而只是数据文件损坏,并且没有备份哟,但是归档日志必须存在,则可以完全恢复。


启动实验

create tablespace test2
datafile 'D:\oracle\product\10.2.0\oradata\TEST\test2.dbf' size 50m;

create user muwei identified by muwei default tablespace test2;
grant dba to muwei;
conn muwei/muwei

create table muwei(id number, name varchar2(20));

begin
for i in 1..100 loop
    insert into muwei values(i,'小牟');
end loop;
end;
/

commit;
现在我没有对该数据文件进行任何形式的备份,现在我关闭数据库,模拟删掉的数据文件
alter system flush buffer_cache; --清掉buffer cache中的数据

shutdown immediate;
然后我去把test2.dbf这个数据文件给它删了,我手动删哈,我直接点。
startup;
ORA-01157: 无法标识/锁定数据文件 8 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 8: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\TEST2.DBF'

现在演示如何恢复没有备份的数据文件
alter database datafile 8 offline;
alter  database  create datafile 'D:\oracle\product\10.2.0\oradata\TEST\test2.dbf'; --这儿特别注意哈,需要重新创建表

空间
alter database datafile 8 online;
recover datafile 8;
完成介质恢复。
alter database open;
conn muwei/muwei;
select count(*) from muwei;
 COUNT(*)
---------
      100
大功告成

显然这儿没有备份的介质恢复的过程就是将归档日志或者当前重做日志中的数据应用到数据文件中去,切记成功恢复的关键是启动了

数据库的归档模式,并且自该表空间创建后,所有插入的数据被重做日志或者归档日志保护,最终通过recover指令完全恢复。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值