• Oracle RMAN备份中catalog和nocatalog区别


    nocatalog方式:用control file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息,即RMAN的备份信息写在本地控制文件里面。 

    catalog方式:必须要首先要创建目录备份数据库(catalog,也称知识库),建立恢复目录,即数据库的备份信息写到恢复目录里面。 

    当通过rman nocatalog方式备份Oracle数据库,Oracle使用controlfile存放RMAN的备份信息。因此,当使用Rman nocatalog方式备份数据库时,一定要记得备份controlfile。 

    初始化参数control_file__record_keep_time设置备份信息保存时间,到规定时间就自动清除以前的备份信息: 

    SQL> alter sysem set control_file_record_keep_time=7 scope=spfile; 

    注意: 
    当使用Rman nocatalog恢复时,数据库至少是处于“mount”状态的,即一定要先加载控制文件,不然RMAN找不到记录的备份信息。而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文件指定的位置(或者先启动到NOMOUNT,在RMAN中restore controlfile from autobackup) 
    3) startup mount 
    4) Rman,restore datafile,recover datafile 
    5) alter database open resetlogs 

    Rman catalog恢复: 
    1) 建立oracle运行环境(包括init或sp文件) 
    2) Rman ,restore controfile 
    3) alter database mount 
    4) Rman, restore datafile,recover 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语句更改)。 

    恢复目录(即catalog方式)支持如下的命令 
    {CREATE|UPGRADE|DROP} CATALOG 
    {CREATE|DELETE|REPLACE|PRINT} SCRIPT. 
    LIST INCARNATION 
    REGISTER DATABASE 
    REPORT SCHEMA AT TIME 
    RESET DATABASE 
    RESYNC CATALOG 

    1、Resync命令 
    Resync可以同步数据库与恢复目录之间的信息,在实际情况下,rman一般可以自动同步。 
    在如下情况下需要同步 
    ·数据库物理结构的改变 
    ·数据文件增加或者是改变大小 
    ·表空间删除 
    ·回滚段的创建与删除 
    ·每产生10个归档日志 

    2、Reset 命令 
    目标数据库resetlogs 之后,需要重新设置恢复目录。Reset命令就用来重新设置恢复目录。 

  • 相关阅读:
    Android开发 listitem中采用倒计时
    fresco中设置占位/加载失败的图片 无效
    启动 angular-phonecat 项目时出现这玩意 。('The header content contains invalid characters');
    对于在Android Studio 的 build.gradle 中的默认applicationId 要不要写呢?
    Android-Cannot merge new index 66195 into a non-jumbo instruction的解决办法
    在eclipse 导入简单的Android studio 简单项目
    对于android浏览器的一些看法
    Error:Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory Android
    android 判断点击的位置是不是在指定的view上
    android studio(AS) Duplicate files copied in APK META-INF/NOTICE.txt
  • 原文地址:https://www.cnblogs.com/zwl715/p/3853942.html
Copyright © 2020-2023  润新知