好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Oracle DB使用RMAN恢复目录

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. 发出REGISTER命令,在恢复目录中注册目标数据库:

RMAN> REGISTER DATABASE;

 

使用Oracle Enterprise Manager 注册数据库

要在恢复目录中注册数据库,请使用Oracle Enterprise Manager (EM) 执行下列步骤:

1. 针对目标数据库运行EM,并导航到[Recovery Catalog Settings(恢复目录设置)]页。

2. 如果该页上没有列出恢复目录,请将其添加到配置中。

3. 指定目标数据库使用从列表中选择的恢复目录。

EM 的注册方法还会导致EM 对与备份和恢复相关的操作使用恢复目录。

 

要使用EM 在恢复目录中注册数据库,必须先将恢复目录添加到EM 配置中。在目标数据

库上运行EM,然后选择该恢复目录作为目标数据库的恢复目录。

如果使用RMAN 注册数据库,而且没有执行示例中的步骤,则使用EM 执行的任何备份和恢复操作将都不使用恢复目录。因此,如果计划使用EM,请执行此处介绍的注册步骤,即使已执行了RMAN REGISTER DATABASE命令也是如此。

在Oracle Enterprise Manager 中:

1. 在[EM Database(EM 数据库)]主页中,导航到[Availability > Recovery Catalog Settings(可用性> 恢复目录设置)]。单击[Add Recovery Catalog(添加恢复目录)],指定数据库的主机、端口和SID 及现有恢复目录。

2. 定义了恢复目录数据库后,在[Recovery Catalog Setting(恢复目录设置)]页上选择[Use Recovery Catalog(使用恢复目录)],可在恢复目录数据库中注册数据库。单击[OK(确定)],即可在目录中注册数据库。

 

从恢复目录中注销目标数据库

• 执行此操作会从恢复目录中删除目标数据库的相关信息。

• 当你不希望目标数据库的定义继续存在于恢复目录中时,请执行此操作。

$ rman TARGET / CATALOG 

username/password@net_service_name

RMAN> UNREGISTER DATABASE;

从恢复目录中注销某一数据库时,恢复目录中的所有RMAN 资料档案库记录都会丢失。

查看更多关于Oracle DB使用RMAN恢复目录的详细内容...

  阅读:39次