第5章 恢复编录(Recovery Catalog)

使用恢复编录的优点:

  • 持久性
  • 能够保存比控制文件更多的备份信息,使RMAN资料库不受control_file_record_keep_time参数的限制。
  • 安全性
  • 当控制文件全部损坏后,也不影响使用RMAN进行恢复。简化丢失控制文件情况下的还原恢复操作
  • 便捷性
  • 可列出任意时间点上的表空间和数据库文件结构。

创建Catalog数据库

强烈建议单独准备一台数据库服务器作为Catalog数据库,并且创建单独的表空间。

#创建表空间
create tablespace rc_data datafile '/u01/rc_data01.dbf' 
size 100m autoextend on next 50m;

#创建用户
create user rcowner identified by oracle 
temporary tablespace temp
default tablespace rc_data
quota unlimited on rc_data;

#授权
grant recovery_catalog_owner to rcowner;

#登录catalog数据库创建对象   提前配置好oid的TNS
#至此Catalog数据库已准备完成,等待目标数据库注册使用
rman catalog rcowneer/oracle@oid
create catalog;

#查询创建的对象
select object_type,count(1) objects from user_objects
group by object_type;

注册Catalog

#192.168.2.23为Catalog数据库,rman/rman为账号密码,rmandb为服务名
#在目标数据库上以sys用户和rman用户同时连接至目标数据库和Catalog数据库
rman target sys/oracle@192.168.133.15:1521/hisdb catalog rman/rman@192.168.2.23:1521/rmandb

#将目标数据库hisdb的信息注册到Catalog中
register database;

#在rman.db表中可以查询已注册的数据库DBID信息
select * from rman.db;
  • 局部同步:仅同步归档日志信息、备份集信息、镜像复制信息
  • 完全同步:还要同步表空间和数据文件的物理结构信息(来自控制文件)
#链接目标数据库和catalog数据库
rman target sys/oracle@192.168.133.15:1521/hisdb catalog rman/rman@192.168.2.23:1521/rmandb

#手动同步(必须以上面的形式连接rman)
resync catalog;

RMAN能力的增强

  • 数据库在nomount状态下无法通过控制文件获取rman的备份集信息(报ORA-01507的错),但是可以通过Catalog数据库来获取

Oracle11g数据库恢复技术_读书笔记_第5章 恢复编录(Recovery Catalog)_oracle

Oracle11g数据库恢复技术_读书笔记_第5章 恢复编录(Recovery Catalog)_控制文件_02

  • 可以查看数据文件的历史结构
report schema at time "sysdate - interval '2' day";

Oracle11g数据库恢复技术_读书笔记_第5章 恢复编录(Recovery Catalog)_控制文件_03

Oracle11g数据库恢复技术_读书笔记_第5章 恢复编录(Recovery Catalog)_数据库_04

  • 可以保存RMAN的脚本

没有启用Catalog时,只能将rman脚本保存在操作系统磁盘中

启用Catalog后,可以将rman脚本保存在Catalog中

#链连接目标数据库和catalog数据库
rman target sys/oracle@192.168.133.15:1521/hisdb catalog rman/rman@192.168.2.23:1521/rmandb

#创建一个恢复控制文件的脚本
#create script创建的脚本只能在当前目标数据库上执行
#create global script创建的脚本可以在所有已注册的数据库上执行
create script recovery_controlfile {
startup nomount;
restore controlfile;
mount database;
recovery database;
alter database open resetlogs;
}

#查看Catalog中所有本地脚本和全局脚本的名称
list script names; 

#查看脚本的内容 print script 或 print global script 
print script recovery_controlfile;

#调用脚本 run {execute script ...} 或 run {execute global script ...}
run {execute script recovery_controlfile;}

建议:一旦启用Catalog,建议每次使用rman连接目标数据库的同时也应该连接Catalog,如rman target ... catalog ...,并在必要的时候手动同步Catalog。


第1章 重做日志(Redo Log)

第2章 控制文件(Control File)

第3章 补充日志(Supplemental Logging)

第4章 恢复管理器(RMAN)

第5章 恢复编录(Recovery Catalog)

第6章 数据泵(Data Pump)

第7章 参数文件的备份与还原

第8章 控制文件的备份与恢复

第9章 关键数据文件备份与恢复

第10章 普通数据文件备份与恢复

第11章 只读数据文件备份与恢复

第12章 不完全数据库恢复

第13章 无备份情况下的恢复

第14章 闪回技术(Flashback)

第15章 恢复受损的数据块