ORACLE_OCP之RMAN恢复目录—RMAN CATALOG
- 文章目标:
- 描述RMAN恢复目录的使用
- 创建RMAN恢复目录
- 在RMAN恢复目录中注册一个数据库
一、RMAN库数据存储:比较选择
-
本地控制文件:
- 更简单的管理
- 默认的
-
Recovery catalog(恢复目录):
- 复制控制文件数据
- 存储更多备份历史
- 可以为更多用户提供备份目标库服务
- 存储RMAN脚本
- 为元数据提供更多的保护选项
二、在恢复目录中存储信息
- 目标库:使用RMAN进行备份的数据库,我们都称之为目标库。无论是用传统的本地控制文件,还是用CATALOG这种类型,只要是调用了RMAN命令去做备份或者相关操作的数据库我们都称之为目标库。
三、使用恢复目录的原因
- 比使用控制文件的方式能存储更多信息
- 使您能够使用RMAN存储的脚本
- 使您能够为所有注册目标创建自定义报告
- 使您能够使用BACKUP命令的KEEP FOREVER子句
- 允许您能列出在给定时间内目标数据库中的数据文件和表空间
- 由于不适用控制文件,因此可以更轻松地还原和恢复,因为它保留了RMAN存储库元数据
四、创建恢复目录(CATALOG):三个步骤
1、配置恢复目录所用数据库。
- 为恢复目录分配空间。 考虑:
- 恢复目录支持的数据库数量
- 归档和备份的数量
- 使用RMAN存储的脚本
- 为恢复目录创建一个表空间,该表空间成为恢复目录所有者的默认表空间。
SQL> CREATE TABLESPACE rcat_ts DATAFILE SIZE 15M;
2、创建恢复目录所有者。
- 创建恢复目录所有者。
- 授予RECOVERY_CATALOG_OWNER角色。
SQL> CREATE USER rcowner IDENTIFIED BY rcpass
2 TEMPORARY TABLESPACE temp
3 DEFAULT TABLESPACE rcat_ts
4 QUOTA UNLIMITED ON rcat_ts;
SQL> GRANT recovery_catalog_owner TO rcowner;
3、创建恢复目录。
-
以目录所有者的身份连接到恢复目录数据库:
$ rman
RMAN> CONNECT CATALOG username/password@net_service_name -
执行CREATE CATALOG命令:
RMAN> CREATE CATALOG;
五、在恢复目录中管理目标数据库记录
在恢复目录中注册目标数据库
- 注册数据库时,RMAN执行以下操作:
- 在恢复目录表中为目标数据库创建行
- 将数据从目标数据库控制文件复制到恢复目录表
- 将恢复目录与控制文件同步
- 使用RMAN命令行注册数据库:
$ rman TARGET / CATALOG username/password@net_service_name
RMAN> REGISTER DATABASE;
- 使用企业管理器注册数据库:
- 1.导航到“恢复目录设置”页面
- 2.将恢复目录添加到配置(如果不存在)
- 3.指定目标数据库以使用恢复目录
在目录中添加备份文件
在恢复目录中注销目标数据库
- 这将从恢复目录中删除有关目标数据库的信息。
- 当您不再希望在恢复目录中定义目标数据库时,请使用此选项。
$ rman TARGET / CATALOG username/password@net_service_name
RMAN> UNREGISTER DATABASE;
六、恢复目录重新同步:概念
- RMAN执行重新同步时,会将恢复目录与目标数据库的当前控制文件或备份/备用控制文件进行比较,并使用丢失或更改的信息更新恢复目录。
- 重新同步有两种类型:部分同步和完全同步。
- 对于部分重新同步,RMAN将控制文件与恢复目录进行比较,并使用与备份,归档重做日志,数据文件副本等有关的任何元数据来更新恢复目录。
- 为了实现完全同步,RMAN首先创建一个控制文件快照,它只是控制文件的临时副本。它使用快照与恢复目录进行比较。它作为部分重新同步来比较和更新相同的数据,但是它还包括任何数据库结构更改。例如,完全重新同步中包括数据库架构更改或新表空间。
- 您可以使用SNAPSHOT CONTROLFILE NAME配置设置来指定快照控制文件的位置。快照控制文件名的默认值是特定于平台的,并且取决于每个目标数据库的Oracle主目录。在Oracle RAC配置中,快照控制文件需要对RAC配置中的所有实例全局可用。
- CONTROL_FILE_RECORD_KEEP_TIME控制的那些记录,则将完成部分重新同步。 否则,将完成完全重新同步。 当您发出RESYNC CATALOG命令时,也会完成完全重新同步。
七、手动重新同步恢复目录
- 在以下情况下,手动重新同步恢复目录:
- 恢复目录对于RMAN不可用后,将自动重新同步它
- 当您不经常执行目标数据库备份时
- 更改目标数据库的物理结构之后
RMAN> RESYNC CATALOG;
八、使用RMAN存储的脚本
- 存储的脚本是:
-
命令文件的替代
-
可用于任何可以连接到目标数据库和恢复目录的RMAN客户端
-
Of two types:
-
Local:与之相关创建脚本时RMAN连接到的目标数据库
CREATE SCRIPT script_name
{ <RMAN commands>} -
Global:可以执行针对恢复目录中注册的任何数据库
CREATE GLOBAL SCRIPT script_name
{ <RMAN commands> }
-
-
从文本文件创建(附加选项)
CREATE [GLOBAL] SCRIPT script_name FROM FILE ‘file_name’;
-
九、执行RMAN存储的脚本
-
Executing a script:
RUN { EXECUTE SCRIPT
script_name
; } -
Executing a global script:
RUN { EXECUTE GLOBAL SCRIPT
script_name
; }
十、维护RMAN存储的脚本
-
打印脚本:
PRINT [GLOBAL] SCRIPT script_name;
-
将脚本的内容发送到文件:
PRINT [GLOBAL] SCRIPT script_name TO FILE ‘file_name’;
-
显示已定义脚本的名称:
LIST [GLOBAL] SCRIPT NAMES;
-
显示脚本:
REPLACE [GLOBAL] SCRIPT script_name
{ <RMAN commands> ; } -
从文件更新脚本:
REPLACE [GLOBAL] SCRIPT script_name FROM FILE ‘file_name’;
-
删除脚本:
DELETE SCRIPT script_name;
十一、恢复目录的备份
十二、创建和使用虚拟专有目录
十三、执行基本VPC任务
-
作为基本的RCAT管理员,创建将拥有虚拟专用目录的VPC1数据库用户:
SQL> CREATE USER vpc1 …
SQL> GRANT recovery_catalog_owner TO vpc1; -
授予该用户相关:
RMAN> GRANT CATALOG FOR DATABASE prod1 TO vpc1;
RMAN> GRANT REGISTER DATABASE TO vpc1; -
以VPC1用户身份创建虚拟专用目录:
RMAN> CREATE VIRTUAL CATALOG;
-
如果需要,撤消访问权限:
RMAN> REVOKE CATALOG FOR DATABASE prod1 FROM vpc1;
-
删除虚拟专有目录:
RMAN> DROP CATALOG;