oracle 中 restore与recover database 有什么区别?还有 重建controlfile之前,要用alter database backup controlfile to trace 去生成控制文件的脚本,然后才重建controlfile的.我想问下,此时生成的控制文件的脚本包含那些内容? 原理机制是怎么样的,不太清楚? 谢谢!

解决方案 »

  1.   

    restore:通俗点说就是把备份的文件Copy回去
    recover:就是恢复数据库了。
    至于controlfile,你打开trace文件就可以看到里面包含哪些内容了
      

  2.   

    oracle 的启动过程如下:
    启动实例,打开控制文件,由控制文件打开数据文件.
    备份控制文件的步骤如下:
    sql>alter database backup controlfile to trace;
    sql>shutdown immediate;
    sql>startup;当上面操作都成功后,
    进入文件夹:$ORACLE_HOME/udump/
    查看最近生成的文件,
    从里面查找
    从startup nomount开始向后的内容,一直到alter database open;
    我们把这些内容都复制粘贴到文本 create-ctl.txt中,
    启动实例,打开控制文件,由控制文件打开数据文件.
    如果控制文件丢失,需要执行这个命令来重新恢复控制文件
    sql>@../create_ctl.txt
    这样控制文件就恢复了.
      

  3.   

    restore——还原,与backup相对,从备份读出恢复备份的数据。
    recover——恢复,把restore回来的数据经过一番处理变成正常数据。(满足文件一致性的要求)