一.介绍
Oracle中使用RMAN备份的数据我们分为两类
- RMAN知识库
- 数据库的数据块
Oracle默认把 RMAN知识库 放在目标数据库的控制文件中,在以后进行恢复的时候 我们要先读知识库的信息然后才能恢复。但这样就产生了一个问题,知识库放在了控制文件上,控制文件如果丢失,那么知识库的信息也丢失了,进而无法恢复数据。所以我们需要保护这个控制文件,一般有两种办法。
- 备份控制文件
- 把知识库的信息放在一个数据库中,以表的形式来存储,这个数据库Oracle把它命名为recovery catalog数据库 又称恢复目录
知识库包含的内容:
- 目标数据库的结构
- 归档日志的记录
- 每次备份的备份集与备份镜像
Oracle控制文件分为两部分,一部分是固定的,存放了数据库的结构(有多少表空间,多大,位置在哪),一部分是可变的,存放了RMAN知识库的信息,RMAN知识库默认存放七天,所以说控制文件的大小是会变大的。
所以为了防止控制文件变大的过快,所以我们需要恢复目录。
- 我们可以把多个数据库的RMAN知识库放在同一个恢复目录中。
- RMAN备份脚本可以放在恢复目录中。
- 可以提供更多元数据的保护
二.实践
配置恢复目录,并且注册多个数据库到同一个恢复目录中。
1.catalog 数据库创建用户并给权限
create user rc_admin identified by rc_admin;
grant unlimited tablespace to rc_admin;
grant connect,resource to rc_admin;
grant recovery_catalog_owner to rc_admin;
2.升级catalog
注: calog数据库 和 目标数据库 的库和监听都要打开。
目标数据库:
man target sys/oracle@prodcdb catalog rc_admin/rc_admin@emrep
create catalog;
upgrade catalog; -- 执行两次
3.注册需要的数据库到catalog
例如:注册PRODCDB到 恢复目录数据库EMREP中
rman target sys/oracle@prodcdb catalog rc_admin/rc_admin@emrep
register database;
再注册PROD4数据库到恢复目录数据库EMREP
rman target sys/oracle@prod4 catalog rc_admin/rc_admin@emrep
register database;