200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 利用Linux的特性恢复误删的数据文件

利用Linux的特性恢复误删的数据文件

时间:2020-04-06 06:32:41

相关推荐

利用Linux的特性恢复误删的数据文件

原文地址:/thread-1044449-1-2.html

帖子中提到如下场景:Oracle on Linux的环境,在没有shutdown数据库的情况下误删数据文件system01.dbf。对于有完好rman备份或者Data Guard的情况下,神马都是浮云,但古语有云“屋漏偏逢连夜雨,船迟又遇打头风”,祸不单行的事情海了去,对于nobackup有什么好办法呢?

少说废话,直接上处理过程:

首先是模拟出这个囧境:

数据文件system01.dbf让俺“误”删了,有后悔药可以吃吗?

先找出 db writer 进程,该进程肯定会写数据文件的,也可以通过lsof命令找出打开system01.dbf的所有进程。

进程号是 24867

可以看到 258 对应的文件是在闪烁的,并且有一个 (deleted) 标记符,先将这个文件复制到另外的目录:

貌似没问题了,重启一下数据库看看:

这个问题不大,system01.dbf相当于没有alter database begin backup那样进行了热备,recover 一下就好:

搞定。

PS:添加自己的总结:

如果是生产库,没有办法重启的情况下如何进行数据恢复操作。(实际上就是更新一下数据文件头部的SCN号)

1. 首先需要将需要恢复的数据文件offline,

alter database datafile file#(数据文件号) offline;

2. 执行在线恢复并且online该数据文件。

recover datafile file#

alter database datafile file# online;

3. 进行验证

create table test tablespace 表空间(所在的数据文件)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。