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 rcpass2 TEMPORARY TABLESPACE temp3 DEFAULT TABLESPACE rcat_ts4 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、CREATESESSION、CREATE SYNONYM、CREATE TABLE、CREATE TRIGGER、CREATE TYPE和CREATE VIEW。可以使用SQL 命令或Oracle Enterprise Manager 创建用户并授予角色。创建恢复目录• 以目录所有者的身份连接到恢复目录数据库:$ rmanRMAN> 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 / CATALOGusername/password@net_service_nameRMAN> REGISTER DATABASE;创建恢复目录后,必须在恢复目录中注册目标数据库。要注册目标数据库,请执行以下步骤:1. 调用RMAN 并连接到恢复目录数据库和目标数据库,如下例所示:% rman TARGET / CATALOG rman/rman@reccatdb2. 确保目标数据库已装载或已打开。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 / CATALOGusername/password@net_service_nameRMAN> UNREGISTER DATABASE;从恢复目录中注销某一数据库时,恢复目录中的所有RMAN 资料档案库记录都会丢失。<上一个:建立外键时,主表、从表难以确定解决
下一个:开启归档模式及其相关参数
- 更多Oracle疑问解答:
- 运行exp备份oracle数据库提示oracle-12154错误
- 有没有,生产Oracle Rman 备份脚本的工具啊!
- 初学orcle,希望有大大帮忙解说一下详细步骤,从登录oracle到创建表的过程
- oracle语句问题:一张user表,三个字段,id,name,time,插入记录比如:张三2007,李四2008,张三2011
- 如何写一个ORACLE触发器同步两个表中的数据?
- oracle 如何查看一个服务器上有多少个数据库.
- oracle 创建包的时候错误 求解
- oracle 重复列的问题
- oracle 中如何查处2星期前的数据
- 请教oracle数据库安装中的问题
- 请问谁能提供给我标准的oracle ERP的数据库表结构并详细说明各表主要的作用?
- 安装oracle遇到的问题 invalid entry CRC (expected 0x3e12e795 but got 0x9db0e9fd)
- 我的是ORACLE 10G,在RMAN中如何按指定的时间恢复数据文件啊?
- oracle为什么没有自动增长列
- oracle快捷键都有哪些啊?