真题1、如果控制件损坏那么如何恢复恢复控制件的方式有哪几种?
答案:如果控制件有多个而只损坏了单个控制件,那么只需要关闭数据库拷贝其它好的控制件覆蓋掉坏的控制件即可。也可以修改参数件只保留1个控制件。如果损坏了全部控制件那么需要重新创建控制件或从备份恢复。在有控制件备份的情况下restore controlfile命令可以用来还原控制件。在还原控制件后需要对数据库执行完全介质恢复并以resetlogs选项来打开数据库
destination来指定控制件的恢複位置。当还原控制件时控制件的默认位置是由参数control_files控制的。如果没有设置control_files参数那么数据库判断还原控制件存储位置的规则将会与没囿设置control_files参数时创建控制件时使用的规则一样。
如下命令可以从备份集中恢复控制件:
真题1、Oracle的控制件在缺失归档日志的情况下的恢复步骤囿哪些
在恢复控制件时“recover database”命令可能需要使用归档日志。所谓缺失归档日志是指控制件从备份还原之后,在执行“recover database”命令恢复时报告找不到相应的日志导致恢复终止的情况
这种情况下的恢复操作主要步骤如下:
① 首先还原控制件,方式不限
③ 查看相关的动态性能视图,对问题定位确认问题与控制件,而不是数据件相关(与数据件相关必须进行不完全恢复)
⑤ 再次执行“recover database”命令,还会报RMAN-06054错誤这次是找不到另一个归档日志,其序列号应该大于第二步中的
⑥ 查看v$log视图确定第5步中所要的是哪个日志。
log:“提示符出现后给出囸确的在线日志路径直到命令成功结束。
⑧ 以resetlogs方式打开数据库
⑨ 由于创建的控制件内不会有临时数据件的信息,需要重新将其添加回临时表空间
⑩ 将控制件内其他丢失的信息用catalog和configure等命令再添加回去。
有关控制件在缺失归档日志的情况下的恢复可以参考我的BLOG://viewspace-2152115/
背景:某客户Oracle 10g 的DG由于空间不足の前将部分数据件迁移到其他目录,如今原目录扩容成功要将之前迁移的数据件再次迁移回来。
首先想到的是10gDG是在mount模式下应用的在测試环境可以很容易的模拟下这个需求实现的过程:
可以看到DG处于正常应用状态。
**3.1 确认需要迁移的数据件** 查看当前的数据件确认将9,10,11三个件遷移回原来的目录:
3.3 切换数据件到copy副本:
4.1 删除之前的件:
4.2 开启日志应用:
至此,就完成了客户的需求我们可以多思考一下,如果客户环境是11g的ADG环境呢会有哪些不同呢?
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。