ITPub博客

首页 > 数据库 > Oracle > 从误删文件说说数据库的DRA

从误删文件说说数据库的DRA

原创 Oracle 作者:xuexiaogang 时间:2024-10-13 21:53:18 0 删除 编辑

数据文件被误删怎么办?

各种数据库都有对误删除文件都有一定的处理方式。今天说说Oracle的DRA。这个不是新技术,但是其实知道的人我估计不多。当年是考OCP的时候学习到的。那时候是11G,这个版本是2007年发布的。所以说不是新东西。但是即使这是OCP中必考的,但依然很多人不知道。

说句实话我也是在考试中学习,生产环境中没有用过。就像一般的备份,大家也几乎很少用到一样。只能说运气好,工作以来从来没让我去用备份恢复过生产。而这个DRA技术也是一直停留在实验环境中。

看看这个恢复是多么的简单

在有备份的前提下,把系统的文件删除了。从图中看到,被恶意删除了sysaux的文件。
image.png

然后再数据库重启后,发现是无法启动的。而且还是PDB的场景。
image.png

数据库在 mount 模式下连接 rman

下面凸显一下数据恢复的三部曲。
连接RMAN (虽然是PDB的文件被删除,但是做这个步骤还是要连接到CDB下)

第一步查看失败的原因。list failure;

image.png

第二步看看给的建议 advise failure;

image.png

最后一句说你可以看看/u01/app/oracle/diag/rdbms/oracle/oracle/hm/reco_1849786963.hm这里。我都把建议放在这里了。
如果你愿意看就是这样的。里面写了应该执行的命令。你可以直接复制执行。
image.png

第三步自己修吧。repair failure;如果你不想复制,或者不知道怎么执行。那么直接repair failure;数据库都给你打包好了。他给你执行。结果如下,就是执行完成。

image.png

最后只要把数据库打开就好了。就是如此简单。就像把大象装冰箱一样,一共分三步。

list failure;
advise failure;
repair failure;

这大大简化了恢复的难度。

其实我就一直不明白一点,话说这三步是人工做的。如果说启动失败的话,数据库自己做是不是也可以呢?(即如果发生了类似上面的删除,在有备份的情况下数据库启动时候自动修复。)这个想法在2007年我是没有敢想,如今这个时代下,有点感想。有时候有些旧知识在新时候是不是能扩展一下?

还有就是在本世纪初的时候(我是从11G开始考的,这个是在9i还是10G有这个功能的我没去查过)。那时候Oracle就已经做到了误删数据按自动化三部曲,从内心还是非常佩服的。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/637517/viewspace-3038118/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
OracleACE/PostgreSQLACE/阿里云MVP/腾讯云TVP/墨天轮 MVP/TiDBMVA/数盟会华东区长老/OpenTenBase社区委和技术委委员/架构师技术同盟名人堂成员上海地区理事会成员/if社区联合发起人/《DBA实战手记》作者/公众号:四海内皆兄弟

注册时间:2013-07-01

  • 博文量
    422
  • 访问量
    953337