oracle不想连catalog库备份,Oracle 备份恢复篇之RMAN catalog

RMAN CATALOG

一、RMAN Repository

RMAN 资料档案库用于收集目标数据库中RMAN 用于备份、恢复和保管的元数据。

RMAN 提供了两种方式来存放这些元数据,NOCATALOG 方式,与CATALOG 方式。

注:目标数据库为要备份的数据库。

二、Nocatalog

Nocatalog 方式就是用目标数据库的controlfile 作为catalog,每一次备份都要往控制文

件里面写好多备份信息,控制文件里面会有越来越多的备份信息。因此,当使用rman

nocatalog 方式备份时,备份controlfile 是非常重要的。

我们知道控制文件分为可变部分和不可变部分,而RMAN 的元数据存储在可变部分。

该部分由参数control_file__record_keep_time 控制保存时间(缺省为7天,到规定时间自动

清除以前的备份信息),若该参数设置为0,则控制文件的可变区域大小不会扩展,只要没

有足够空间就会覆盖旧值。因此,建议将该值加大,强烈建议不要设置为0。

SQL> show parameter control

NAME TYPE VALUE

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

control_file_record_keep_time integer 7

SQL> alter system set control_file_record_keep_time=14 scope=both;

在不使用catalog 的情况下,为了更容易地存储和恢复数据库,Oracle 建议:

1.启动控制文件自动备份的功能;

2.记录您的DBID

3.将控制文件冗余到不同的磁盘上

4.保留所有的RMAN 备份日志

这样,如果丢失了控制文件,即使没有使用恢复目录也可以自动恢复控制文件。

三、Catalog

当没有恢复目录时,RMAN 相关的备份信息,比如归档文件路径、备份集路径等均存

储在目标数据库的控制文件中,不过考虑到控制文件并不能无限增长,而且控制文件也不仅

仅是用来存储与备份相关的信息,因此RMAN 也有一个专门的备份信息存储地,这就是恢

复目录了。Catalog 相当于把RMAN 备份的元数据单独存放到另一个数据库的表空间。

当待备份的数据库注册到恢复目录之后,RMAN 相关的信息除了保存在控制文件中外

(控制文件实际上只保存一部分),更加详细的信息就都被存储在恢复目录中。

强烈建议不要将恢复目标数据库放到目标数据库中。

建议将恢复目录存放在一个专有的数据库中。如果恢复目录和其他数据存储在一个数据

库中,那么如果这个数据库损坏,你的恢复目录很有可能也会丢失。

1. CATALOG 的优点:

1.能保留更多的历史备份信息

2.一个恢复目录能管理与备份多个目标数据库

3.如果没有恢复目录,而且发生了结构上的改变,恢复需要小心操作

同样,如果选择使用恢复目录方式,也同样要对恢复目录做备份。

恢复目录一般不需要用RMAN 做备份,只要EXP 即可。一旦恢复目录数据库发生故障,

通过IMP 恢复即可。

2. 在恢复目录中注册数据库:

在一个恢复目录中登记称为注册。一个恢复目录可以注册多个目标数据库。RMAN 以

DBID 辨别数据库,每个在catalog 注册的数据库都拥有一个唯一的DBID。

3. 创建CATALOG 的步骤

创建恢复目录非常简单,RMAN 提供了CREATE CATALOG 命令,但是在创建恢复目

录之前,首先需要为该恢复目录创建一个独立表空间和对应的SCHEMA ,详细操作步骤

如下:

1) 环境说明:

目标数据库:prod

恢复目录数据库:emrep:管理员RC_ADMIN、表空间RC_DATA

2) 创建一个独立的表空间:

[oracle@oracle ~] sqlplus sys/oracle@emrep as sysdba

SQL>create tablespace RC_DATA  Datafile ‘/u01/app/oracle/oradata/emrep/rc_data01.dbf’ size 100MAutoextend on next 10MExtent management localSegment space management auto;

注意千万不要将恢复目录创建在要备份的目录数据库。

由于恢复目录通常不会太大,这里数据文件仅分配了100MB 的空间。

3) 创建一个独立的SCHEMA ,用来记录备份信息,并授予相关权限:

[oracle@oracle ~] sqlplus sys/oracle@emrep as sysdba

SQL>create user RC_ADMIN identified by RC_ADMIN default tablespace

RC_DATA;

SQL>grant connect,resource,recovery_catalog_owner to RC_ADMIN;

4) 在RMAN 中创建CATALOG

//通过RMAN 连接到新创建的恢复目录中

[oracle@oracle ~]$ Rman catalog RC_ADMIN/RC_ADMIN@emrep

RMAN>create catalog tablespace RC_DATA;

5) 注册

[oracle@oracle ~]$ rman target sys/oracle@prod

catalog RC_ADMIN/RC_ADMIN@emrep

RMAN>register database;

RMAN> resync catalog;

这之后进行的操作,比如创建备份等操作信息都会存入恢复目录中。

对于注册到恢复目录,是否就必须或者只能以CATALOG 模式进行备份或恢复操作了

呢?当然不是,恢复目录只是RMAN 中的一个可选项,而不是必选项,备份信息是否记入

CATALOG 取决于执行RMAN 操作时是否连接到了CATALOG,也就是说,即使目标数据

库已经注册到恢复目录中,但连接时没有以CATALOG 模式连接,则备份信息仍然是只存

入目标端数据库的控制文件,相当于NOCATALOG 模式。

4. 取消注册

[oracle@oracle ~]$ rman target sys/oracle@prod

catalog RC_ADMIN/RC_ADMIN@emrep

RMAN>unregister database;

或者

[oracle@oracle ~]$sqlplus sys/oracle@prod as sysdba

SQL>select dbid from v$database ;

[oracle@oracle ~]$conn RC_ADMIN/RC_ADMIN@emrep

rman>RMAN> list incarnation;

DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time

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

1 8 ORCL 1359094044 PARENT 1 30-JUN-05

1 2 ORCL 1359094044 CURRENT 446075 12-NOV-13

Rman>exec dbms_rcvcat.unregisterdatabase(2,1359094044);

5. 删除catalog

RMAN> drop catalog;

recovery catalog owner is ADMIN

enter DROP CATALOG command again to confirm catalog removal

RMAN> drop catalog;

recovery catalog dropped

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值