RMAN恢复目录

是否使用RMAN恢复目录(Recovery Catalog

  你可能从其他人或书上听过RMAN恢复目录(也有可能是其他名字,RMAN Recovery Catalog的翻译较多较杂,以下简称恢复目录),旁人的表达或书中模糊不清的描述,导致很多朋友一直对其实际意义和作用感到疑惑。在我看来,可以将其视作存储RMAN备份恢复相关信息的数据库(在物理形式上可以对应成Oracle中的一个SCHEMA)。

  当没有恢复目录时,RMAN相关的备份信息,比如归档文件路径、备份集路径等均存储在目标数据库的控制文件中,不过考虑到控制文件并不能无限增长,而且控制文件也不仅仅是用来存储与备份相关的信息,因此RMAN也有一个专门的备份信息存储地,这就是恢复目录了。当待备份的数据库注册到恢复目录之后,RMAN相关的信息除了保存在控制文件中外(控制文件实际上只保存一部分),更加详细的信息就都被存储在恢复目录中。

  提示:强烈建议不要将恢复目标数据库放到目标数据库中。

  创建恢复目录非常简单,RMAN提供了CREATE CATALOG命令,但是在创建恢复目录之前,首先需要为该恢复目录创建一个独立表空间和对应的 SCHEMA ,详细操作步骤如下:

 (1)创建一个独立的表空间:

SQL>CREATE TABLESPACE RMANTBS DATAFILE ‘f:\oracle\oradata\bakdb\rmantbs01.dbf‘  size 50m;

    Tablespace created.

  注意千万不要将恢复目录创建在要备份的目录数据库。

  由于恢复目录通常不会太大,这里数据文件仅分配了50MB的空间。

  (2)创建一个独立的 SCHEMA ,用来记录备份信息,并授予相关权限:

SQL>GRANT CONNECT,RESOURCE,RECOVERY_CATALOG_OWNER TO RMANCT IDENTIFIED BY RMANCT;

    Grant succeeded.

  (3)通过RMAN连接到新创建的恢复目录中:

F:\oracle>RMAN CATALOG RMANCT/RMANCT

Recovery Manager: Release 10.2.0.1.0 - Production on Fri Apr 24 11:11:06 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

    connected to recovery catalog database

  (4)在RMAN中创建 CATALOG :

RMAN>CREATE CATALOG TABLESPACE RMANTBS;

    recovery catalog created

  这样恢复目录就算创建完了,一个恢复目录数据库可以同时为多个目标数据库提供服务,不过要使用恢复目录执行备份操作前,首先需要在恢复目录中注册该数据库,注册也非常简单,一条命令即可,步骤如下:

  首先以CATALOG模式连接到目标数据库和恢复目录(连接恢复目录只需要在连接时指定CATALOG参数即可):

F:\oracle>RMAN TARGET / CATALOG RMANCT/[email protected]

Recovery Manager: Release 10.2.0.1.0 - Production on Fri Apr 24 11:16:36 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: JSSBOOK (DBID=1419729528)

    connected to recovery catalog database

  可以通过如下命令注册数据库:

RMAN> REGISTER DATABASE;

database registered in recovery catalog

starting full resync of recovery catalog

    full resync complete

  这之后进行的操作,比如创建备份等操作信息都会存入恢复目录中。

  对于注册到恢复目录,是否就必须或者只能以CATALOG模式进行备份或恢复操作了呢?当然不是,恢复目录只是RMAN中的一个可选项,而不是必选项,备份信息是否记入CATALOG取决于执行RMAN操作时是否连接到了CATALOG,也就是说,即使目标数据库已经注册到恢复目录中,但连接时没有以CATALOG模式连接,则备份信息仍然是只存入目标端数据库的控制文件,相当于NOCATALOG模式。

  另外,已经注册到 CATALOG 中的数据库希望取消注册怎么办呢?使用U NREGISTER 命令即可:

RMAN>UNREGISTER DATABASE;

database name is "JSSBOOK" and DBID is 1419729528

Do you really want to unregister the database (enter YES or NO)? yes

    database unregistered from the recovery catalog

  如果DBA要管理的Oracle数据库较多,那么对于这些数据库的备份,建议使用恢复目录统一管理,这样既方便备份和恢复操作,而且安全性也相对比较高(执行完备份操作后,单独备份恢复目录数据库即可,无须担心被备份的数据库控制文件丢失可能造成的影响)。不过如果DBA仅管理一个或者数个Oracle数据库,那么我想NOCATALOG模式操作起来会更加方便。

8.5.7 是否启用备份优化

  RMAN 中的备份优化(Backup Optimization)是指在备份过程中,如果满足特定条件,RMAN将自动跳过某些文件,而不会再将它们包含在备份集中,以节省时间和空间。说得直白些就是能不备份的它就不备份了,不像原来甭管文件有没有备份过统统再备份一遍。由上可知,优化就是偷懒嘛,en,俺也要优化的干活:)

  不过话说回来,这个懒也不是什么时候都能偷的,哦,说错了,是优化。通常必须在满足如下几个条件的情况下,才能够启用备份优化的功能:

  • CONFIGURE BACKUP OPTIMIZATION 参数置为 ON 。
  • 执行的BACKUP DATABASE或BACKUP ARCHIVELOG命令中带有ALL或LIKE参数。
  • 分配的通道仅使用了一种设备类型,也就是不能同时分配使用 SBT 与 DISK 的多个通道。

  通过如下命令打开备份优化设置:

    RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

  那么在进行备份优化时,RMAN是如何判断要备份的文件是否需要被优化呢?这个算法就相当复杂了,而且可能影响优化算法的因素也非常多,假如某库在上午9点被执行过一次全库备份,等下午3点再次执行全库备份时,备份的文件没有变动而且也已经被备份过时,才会跳过这部分文件。所以理论上备份优化仅对于只读表空间或 OFFLINE 表空间起作用。当然对于已经备份过的 ARCHIVELOG 文件,它也会跳过

时间: 2024-11-02 10:11:33

RMAN恢复目录的相关文章

[转]使用RMAN恢复目录

? 对恢复目录和RMAN 资料档案库控制文件的使用进行比较 ? 创建和配置恢复目录 ? 在恢复目录中注册数据库 ? 同步恢复目录 ? 使用RMAN 存储脚本 ? 备份恢复目录 ? 创建虚拟专用目录 RMAN 资料档案库数据存储:比较选项 控制文件: ? 管理更简单 ? 默认设置 恢复目录: ? 复制控制文件数据 ? 存储更长的备份历史记录 ? 服务于多个目标 ? 存储RMAN 脚本 RMAN 资料档案库数据始终存储在目标数据库的控制文件中.此外,它也可以存储在一个名为"恢复目录"的单独

创建RMAN备份 恢复目录数据库

这是前段时间给客户做的RMAN备份策略,今天有时间整理出来,希望对大家有些帮助,如有不对的地方欢迎大家给予指点,谢谢!   创建成恢复目录数据库 如果不是在本地配置RMAN 恢复目录, 在一台WINDOW2000电脑上安装ORACLE数据库,最好保证数据库版本与目标数据库的版本想同. 建立RMAN 数据库用户及表空间: RECOVER CATALOG 表空间(cattbs):1G系统表空间:       100MUNDO表空间:     100M临时表空间(TEMP):        100M 

RMAN_学习笔记4_RMAN Catalog Script恢复目录脚本

待整理 --============================== -- 基于catalog 创建RMAN存储脚本 --============================== 简言之,将rman的备份恢复命令写成脚本并保存在恢复目录内,恢复目录内的脚本可用性及通用性高于基于文件系统的脚本. 客户端只要能够登录到RMAN恢复目录,则这些脚本可用,尤其对于global脚本,可以被任意注册的数据库调度. 一.脚本的分类 local : 在rman连接的目标数据库下创建的脚本,此类脚本仅仅适

RMAN_学习笔记3_RMAN Catalog恢复目录

待整理 --========================== -- RMAN catalog 的创建和使用 --========================== 一.创建恢复目录 创建恢复目录一般分为三大步骤 创建存放恢复目录的数据库(或使用已存在的数据库) 创建恢复目录的的所有者 创建恢复目录 创建数据库可以参考:Oralce 10g 使用DBCA创建数据库 在存储恢复目录的数据库创建表空间用于存储恢复目录schema及恢复目录数据(本文使用已经创建好的数据库catadb来存储恢复目录

RMAN_学习笔记5_RMAN Catalog Script恢复目录脚本

2014-12-24 Created By BaoXinjian 一.摘要 简言之,将rman的备份恢复命令写成脚本并保存在恢复目录内,恢复目录内的脚本可用性及通用性高于基于文件系统的脚本. 客户端只要能够登录到RMAN恢复目录,则这些脚本可用,尤其对于global脚本,可以被任意注册的数据库调度. 二.脚本的分类 1. local 在rman连接的目标数据库下创建的脚本,此类脚本仅仅适用于当前目标数据库.即是针对特定的数据库创建的rman脚本. 2. global 能够在恢复目录注册的任意目标

RAC+asm通过rman恢复到单实例+asm

1.恢复参数文件,并修改参数文件 参数文件指名几个最简单的就行,我的参数文件如下: 2.恢复控制文件,并启动数据库到mount 如果是把备份集从别的服务器拷贝到本地恢复的服务器的目录,使用下面的语句指定rman恢复目录 RMAN> catalog start with '/data_back/racbk/'; 3.rename日志文件 select 'alter database rename file '||chr(39)||member||chr(39)||' to '||chr(39)||

Oracle 11g单实例RMAN恢复到Oracle 11g RAC

一.环境说明 操作系统版本: RHEL 6.5 x64 1. 源数据库服务器 Oracle版本: Oracle 11g 11.2.0.4 64位(单机)Oracle_SID: orcl db_name   : orcl 背景:一台生产oracle10g(10.2.0.5)数据库计划迁移到Oracle 11.2.0.4.0 RAC.1) 先oracle10g(10.2.0.5)升级到Oracle 11.2.0.4(过程略)2)再Oracle 11.2.0.4单实例迁移到Oracle 11.2.0.

RMAN恢复手册

数据库全库恢复 RMAN> restore/revover database ; 例如: $ rman target / RMAN> startup mount RMAN> restore database; RMAN> recover database; RMAN> alter database open; 2. 数据库表空间恢复 RMAN> restore/revover tablespace xx ; 恢复: 如果我们只丢失了特定的表空间的数据文件,那么我们可以选

ORACLE中没有参数文件和控制文件如何通过rman恢复数据库

场景: 一个DEV告诉我生产环境下某个用户的表都看不到了,需要恢复,而此时生产库上存储自动备份的参数文件控制文件的磁盘目录文件坏块,所以导致rman备份的只有数据文件和归档日志文件,这种情况下,如何在测试服务器上利用rman恢复数据呢?google了很多资料,咨询了朋友,恢复过程如下: 前期准备工作:事先查询好先查询下原来的数据文件路径SQL> select name from v$datafile; NAME-------------------------------------------