科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道专家在线:全面介绍恢复Oracle数据库

专家在线:全面介绍恢复Oracle数据库

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  这是截取自Damir Bersinic 和John Watson合著的《Oracle Database 10g OCP Certification All-In-One Exam Guide》书中第20章。

作者:中国IT实验室 来源:中国IT实验室 2007年9月30日

关键字: ORACLE

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

  从媒介失败中恢复

  媒介失败之后的重新存储和恢复在下一章中会进行更加详细的描述,并且在第二个OCP考试中也会详细考察,但是了解一下初级考试中的简单问题的基本恢复也是很有必要的。这些简单的问题是丢失了多路控制文件中的一个,和一个在线redo日志文件,以及关键和非关键数据文件丢失之后的完全恢复。

  多路控制文件丢失的恢复

  只要挽救了现有控制文件的多路拷贝,恢复损失的控制文件就是简单的。只要用挽救回来的控制文件的拷贝替换它就可以了。要从备份中重新存储被损坏的或者丢失的控制文件拷贝在这样的情况下是没有用处的,因为控制文件的所有的拷贝都必须是同样的;很明显,一个重新存储的拷贝不会与其他幸存的拷贝同步,更不用说是数据库的其它部分了。

  实际上,在损坏发生的瞬间,环境就会终止。而像往常一样,数据库管理员的第一个反应就是坏了的环境应该重新启动。在NOMOUNT模式下,这不会成功的,并且会返回一个错误消息。警报日志将会描述哪个控制文件拷贝丢失了,还会在这个部分列出那些非默认情况的初始化参数――实际上使用了多少控制文件,以及它们都在哪里。在这一点上,你要注意三点。第一点,你需要编辑参数文件来删除对丢失或者损坏的控制文件的参考。

  这样很好,但是你的数据库现在就要运行就会少了一部分多路拷贝,这有可能会违反你的安全条款。一个更好的选择就是用幸存下来的拷贝来替换损坏的文件,或者真的去更改CONTROL_FILES初始化参数来删掉对那些被损坏的文件的参考,重新参考一些新的文件,然后拷贝那些幸存的控制文件到那里去。

  测验贴士:恢复控制文件的丢失是必须要承担停机时间的。它无法在线完成。

  测验20-1:从控制文件的丢失中恢复

  在这个测验中,假设你丢失了多路控制文件,并且要用一个拷贝来替换它。

  7、用SQL*Plus连接到你的数据库上去,然后确保你的控制文件是多路传输到这个查询的:

  8、SQL> select * from v$controlfile;

  这个查询必须返回至少2行。如果没有的话,多路传输你的控制文件。

  9、假设你的数据库受到攻击,一个控制文件损坏了,并且你的一个控制文件名字更改了。注意,在Windows上你必须首先停止Windows服务,否则Windows不会让你更改文件名,然后再重新启动这个服务。

  10、输入启动命令。这次启动会终止在nomount模式,并且返回“ORA-00205: error in identifying controlfile, check alert log for more info”错误消息。

  11、拷贝幸存的控制文件到你重新命名的文件路径上去,名字也改为你重新设定的名字。

  12、再次输入启动命令,这次就会成功了。

  问题示例:

  丢失这些文件会导致打开的数据库崩溃?(3项选择)

  9、一个多路控制文件

  10、一个多路在线日志文件

  11、一个多路文档日志文件

  12、一个活动的undo表空间数据文件

  13、一个活动的临时表空间临时文件

  14、一个SYSAUX表空间中的数据文件

  15、一个SYSTEM表空间中的数据文件

  16、一个包含了关键用户数据的数据文件

  一个多路控制文件的拷贝损坏。你应该怎么做?(单选)

  6、用幸存的拷贝替换

  7、用RMAN重新存储

  8、用操作系统命令重新存储

  9、用CREATE CONTROLFILE命令重新创建

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件