Oracle DB使用RMAN恢复目录(一)

2014-11-24 16:53:45 · 作者: · 浏览: 5
Oracle DB使用RMAN恢复目录
对恢复目录和RMAN 资料档案库控制文件的使用进行比较
创建和配置恢复目录
在恢复目录中注册 数据库
同步恢复目录
使用RMAN 存储脚本
备份恢复目录
创建虚拟专用目录
RMAN 资料档案库数据存储:比较选项
控制文件:
管理更简单
默认设置
恢复目录:
复制控制文件数据
存储更长的备份历史记录
服务于多个目标
存储RMAN 脚本
RMAN 资料档案库数据始终存储在目标数据库的控制文件中。此外,它也可以存储在一个名为“恢复目录”的单独数据库中。
恢复目录会在单独的数据库中保留备份信息,这在控制文件丢失时尤为有用。这样你可以存储更长的备份历史记录,比基于控制文件的资料档案库所存储的历史记录还要长。使用一个恢复目录可存储多个目标数据库的信息。恢复目录还可用来存放RMAN 存储脚本,这些脚本是RMAN 命令的序列。
如果你的备份管理要求很简单,则Oracle 建议你使用控制文件选项而不要使用恢复目录。拥有恢复目录意味着你需要管理并备份其它数据库。因此,只有在可利用恢复目录所提供的优点(如较长的备份保留时间)时,才使用恢复目录。
在恢复目录中存储信息
在执行更新资料档案库的任何操作之后以及执行某些操作之前,RMAN 会将关于数据库结构、归档重做日志、备份集和数据文件副本的信息从目标数据库控制文件中传播到恢复目录中。
使用恢复目录的原因
与控制文件相比可以存储更多的历史信息
可使用RMAN 存储脚本
可为所有已注册目标创建自定义报告
可以使用BACKUP命令的KEEP FOREVER子句
可以列出在给定时间位于或曾经位于目标数据库中的数据文件和表空间
虽然可以使用控制文件作为RMAN 的唯一资料档案库,但是控制文件用于存储备份活动记录的空间有限。使用恢复目录时,可以存储更长的备份历史记录。这样可以恢复到比控制文件中的历史记录更早的时间。
如果要使用RMAN 存储脚本,就必须使用恢复目录。
使用恢复目录时,所有已注册目标的备份和恢复信息都存放在一个位置,因此可通过以恢复目录所有者的身份连接并查询各个RC_视图来创建自定义报告。如果不使用恢复目录,就必须单独连接到每个目标数据库实例并查询V$视图,才能了解目标控制文件中的RMAN 信息。
可以使用BACKUP ... KEEP命令创建备份并使其保留时长不同于所配置的保留策略指定的时长。KEEP FOREVER子句指定备份或副本永不失效并要求使用恢复目录,以便备份记录可无限期保留。
REPORT SCHEMA命令列出目标数据库中的表空间和数据文件。如果添加AT [time|scn|logseq]选项,则可以查看过去某个时间的信息。只有在使用恢复目录时才能使用AT选项。
创建恢复目录:三个步骤
要创建恢复目录,请执行以下三个步骤:
1. 配置要在其中存储恢复目录的数据库。
2. 创建恢复目录所有者。
3. 创建恢复目录。
配置恢复目录数据库
分配恢复目录使用的空间。以下是需要考虑的因素:
– 恢复目录支持的数据库数
– 记录的归档重做日志文件数和备份数
– 使用RMAN 存储脚本
创建恢复目录所用的表空间,这将成为恢复目录所有者的默认表空间。
SQL> CREATE TABLESPACE rcat_ts DATAFILE SIZE 15M;
确定要在其中安装恢复目录方案的数据库。请务必考虑此数据库的备份和恢复过程。
恢复目录方案所需的空间量取决于恢复目录监视的数据库数。所需空间随每个数据库的归档重做日志文件数和备份数的增加而增加。如果使用RMAN 存储脚本,则必须分配这些脚本使用的空间。在恢复目录中注册的每个数据库的示例空间需求为15 MB。
创建恢复目录所有者
创建恢复目录所有者。
授予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;
创建一个作为恢复目录所有者的用户。将此用户的默认表空间设置为你为恢复目录创建的表空间。请务必为该用户提供对该表空间的UNLIMITED限额。创建用户之后,请为其授予RECOVERY_CATALOG_OWNER角色。RECOVERY_CATALOG_OWNER角色提供恢复目录所有者的权限。该角色包含下列系统权限:ALTER SESSION、CREATE CLUSTER、
CREATE DATABASE LINK、CREATE PROCEDURE、CREATE SEQUENCE、CREATE
SESSION、CREATE SYNONYM、CREATE TABLE、CREATE TRIGGER、CREATE TYPE
和CREATE VIEW。
可以使用SQL 命令或Oracle Enterprise Manager 创建用户并授予角色。
创建恢复目录
以目录所有者的身份连接到恢复目录数据库:
$ rman
RMAN> CONNECT CATALOG username/password@net_service_name
执行CREATE CATALOG命令:
RMAN> CREATE CATALOG;
创建目录所有者后,请使用RMAN CREATE CATALOG命令在目录所有者的默认表空间中创建目录表。
注:与任何数据库一样,如果ORACLE_SID环境变量设置为恢复目录数据库的SID,则不需要在CONNECT语句中提供net_service_name。
管理恢复目录中的目标数据库记录
在恢复目录中注册目标数据库
将其它备份文件列入目录
从恢复目录中注销目标数据库
虽然大多数信息会自动从控制文件传播到恢复目录中,但还是需要执行一些操作才能在恢复目录中维护目标数据库记录。
在恢复目录中注册数据库
RMAN 会执行下列操作:
在恢复目录表中创建目标数据库的行
将目标数据库控制文件中的数据复制到恢复目录表
使恢复目录与控制文件同步
$ rman TARGET / CATALOG
username/password@net_service_name
RMAN> REGISTER DATABASE;
创建恢复目录后,必须在恢复目录中注册目标数据库。要注册目标数据库,请执行以下步骤:
1. 调用RMAN 并连接到恢复目录数据库和目标数据库,如下例所示:
% rman TARGET / CATALOG rman/rman@reccatdb
2. 确保目标数据库已装载或已打开。
3. 发出RE