RMAN中nocatalog与catalog的区别?

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

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

----------------------------------------------------------

RMAN中nocatalog与catalog的区别

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

www.2cto.com

1、Resync命令

Resync可以同步数据库与恢复目录之间的信息,在实际情况下,rman一般可以自动同步。

在如下情况下需要同步

·数据库物理结构的改变

·数据文件增加或者是改变大小

·表空间删除

·回滚段的创建与删除

·每产生10个归档日志

2、Reset 命令

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

时间: 2024-08-04 11:04:23

RMAN中nocatalog与catalog的区别?的相关文章

Rman 中 Backupsets and Images copy的概念区别

备份集 概念(backup set): Oracle默认的备份类型,把数据文件中已经使用过的数据块备份到一个或多个文件中,这样的文件叫做"备份片",所有备份出来的文件组合成为"备份集".备份集与备份片的关系类似于表空间与数据文件的关系,备份集是一个逻辑概念,将备份片(物理文件)逻辑地组织在一起.一般来说一个通道会产生一个备份集,比如启动了3个通道,那么每个通道负责生成一个备份集,不过如果启动了控制文件自动备份,那么控制文件所在的备份文件会单独生成一个备份集,不会与数

linq中AsEnumerable和AsQueryable的区别

本文导读:用Linq来操作集合的时候会用到AsQueryable()和AsEnumerable(),何时该用AsQueryable()和何时该用AsEnumerable(),或许存在些疑惑.AsQueryable是在数据库中查询再返回数据,AsEnumerable是从数据库读取全部数据再在程序中查询. 在使用LINQ 进行数据集操作时,LINQ 不能直接从数据集对象中查询,因为数据集对象不支持LINQ 查询,所以需要使用AsEnumerable 方法返回一个泛型的对象以支持LINQ 的查询操作.

Ado.net中DataSet和SqlDataReader的区别

概述: 一,SqlDataReader //基于连接,只读访问 适合数据量较小. SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库.要求资源也大一点 二,SqlDataAdapter 读取数据后将数据集放入DataSet ,DataSet 的数据存在本地客服机内存. 三,SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到. SqlDataAdapter返回的是数据集或者表,可以对其中的

使用rman中的duplicate复制数据库

目标库和复制库环境: OS: Linux Red Hat AS 4 DB Version: 10.2.0.1 1.目标库和复制库信息 Rman 中的目标库(target database)指的是被复制的库,复制库(duplicate database)是指复制后生成的新库.这里为了测试方便,复制库和目标库的目录结构设置相同. 目标库: IP:192.168.30.37 SID:oracl 复制库: IP:192.168.30.43 SID:oraclbak 2.在复制库上的的操作步骤 执行以下操

RMAN中的备份冗余度

如果用操作系统的rm命令去删除过期的备份文件,会显得有些业余.其实可以通过RMAN中的备份保留策略来完成前述的所有操作,既方便又省事,同时还减少了出错的可能性. RMAN中的备份保留策略决定了哪些数据文件需要被备份及哪些备份文件可以被删除,该策略由configure retention policy命令配置,持久保存于控制文件和recovery catalog(如果启用).备份保留策略分为两种:备份冗余度保留策略和恢复窗口保留策略,无论采用哪种策略,如果RMAN认为某个备份需要保留,那么该备份之

【翻译】JAVA中抽象类和接口的区别

不知道有没有人翻译过了,这篇是挺简单的,权当复习一遍内容吧. 很多常见的面试问题如"抽象类和接口有什么区别","你在什么时候用抽象类什么时候用接口".所以在这篇文章里面,我们会讨论一下这个话题. 在开始讨论它们的区别之前,我们先看看它们的介绍. Abstract class 抽象类 抽象类被用来抽象出子类的共同特征.它是不能被实例化的,它只能被子类继承作为超类使用.抽象类被用作它的子类下的层次结构创建模板(Abstract classes are used to c

lua中的pairs和ipairs区别

pairs Returns three values: the next function, the table t, and nil, so that the construction for k,v in pairs(t) do body end will iterate over all key–value pairs of table t. See function next for the caveats of modifying the table during its traver

浅谈HTTP中Get与Post的区别_转

可参考:HTTP请求中POST与GET的区别 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作.到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息. 1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的

python类中super()和__init__()的区别

本文和大家分享的主要是python开发中super()和__init__()的区别,希望通过本文的分享,对初学者学习这部分内容有所帮助. 1.单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(self): print 'Base create' class childA(Base): def __init__(self): print 'creat A ', Base.__init__(self) class chi