zoukankan      html  css  js  c++  java
  • RMAN中catalog和nocatalog区别

    nocatalog方式就是用control file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息。若为catalog则必须要首先要创建目录备份数据库,建立恢复目录。
    当通过rman nocatalog方式备份Oracle,Oracle使用controlfile存放备份信息。因此,当使用rman nocatalog方式备份时,备份controlfile是非常重要的。
    初始化参数control_file__record_keep_time设置备份信息保存时间,到规定时间就自动清除以前的备份信息:
    SQL> alter sysem set control_file_record_keep_time=7 scope=spfile;

    有 一个问题,当使用rman nocatalog恢复时,数据库必须是处于“mount”状态的。而Oracle startup mount的前提条件是control必须存在。因此,你必须在恢复datafile之前先恢复controlfile。使用rman catalog方式时,可以startup nomount然后restore controlfile;但使用rman nocatalog时,必须先用文件方式恢复controlfile。

    下面对比一下rman nocatalog和rman catalog的恢复时的步骤,以便建立正确的备份策略(以下的恢复都是在online状态下的备份):

    rman nocatalog恢复:
    1) 建立oracle运行环境(包括init或sp文件)
    2) 文件方式恢复controlfile到init文件指定的位置
    3) startup mount
    4) rman,恢复datafile
    5) alter database open resetlogs

    rman catalog恢复:
    1) 建立oracle运行环境(包括init或sp文件)
    2) rman ,restore controfile
    3) alter database mount
    4) rman, restore datafile
    5) alter database open resetlogs

    可以看出,rman nocatalog备份时,必须用文件方式备份controlfile。

    另 外,由于nocatalog时利用controlfile存放备份信息,建议将Oracle参数文件中的 CONTROL_FILE_RECORD_KEEP_TIME值加大(缺省为7天), 该参数在$ORACLE_HOME/dbs/initSID.ora中(9i后也可能在spfile中,只能通过Oracle语句更改)。

  • 相关阅读:
    LeetCode
    iOS开发系列--C语言之指针
    iOS开发系列--C语言之数组和字符串
    iOS开发系列--C语言之基础知识
    Entity Framework 5.0系列之数据操作
    Entity Framework 5.0系列之约定配置
    Entity Framework 5.0系列之自动生成Code First代码
    Entity Framework 5.0系列之Code First数据库迁移
    Entity Framework 5.0系列之EF概览
    Debian9安装vim和vim无法右键鼠标粘贴解决方法
  • 原文地址:https://www.cnblogs.com/datalife/p/1985461.html
Copyright © 2011-2022 走看看