日期:2014-05-16  浏览次数:20566 次

Oracle的恢复目录
一、认识恢复目录
    理解恢复目录,RMAN可以在没有恢复目录(NOCATALOG)下运行,这个时候备份信息保存在控制文件。保存在控制文件的备份信息是很危险的,如果控制文件的破坏将导致备份信息的丢失与恢复的失败,而且,没有恢复目录,很多RMAN的命令将不被支持。所以对于重要的数据库,建议创建恢复目录,恢复目录也是一个数据库,只不过这个数据库用来保存备份信息,一个恢复目录可以用来备份多个数据库。
二、创建恢复目录
   A、恢复目录环境准备
     为恢复目录创建一个独立的表空间
     SQL> create tablespace tools      datafile 'D:\Oradata\taurus\tools01.dbf' size 50M;
    表空间已创建。
     创建RMAN用户
     SQL> create user RMAN identified by RMAN default tablespace tools temporary tablespace temp;
    用户已创建。
     给RMAN授予权限
     SQL> grant connect,resource,recovery_catalog_owner to rman;
    授权成功。
     SQL> 
  B、创建恢复目录
    C:\Users\Lawrence>rman
    恢复管理器: Release 10.2.0.3.0 - Production on 星期三 6月 15 14:07:54 2011
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    RMAN> connect catalog rman/rman
    连接到恢复目录数据库
     RMAN> create catalog tablespace tools;
    恢复目录已创建
  C、注册目标数据库
    C:>rman target system/password catalog rman/rman@taurus
      恢复管理器: Release 10.2.0.3.0 - Production on 星期三 6月 15 14:12:25 2011
      Copyright (c) 1982, 2005, Oracle.  All rights reserved.
      连接到目标数据库: TAURUS (DBID=1295936329)
      连接到恢复目录数据库
    RMAN> register database;
      注册在恢复目录中的数据库
       正在启动全部恢复目录的 resync
      完成全部 resync
    RMAN>
D、注销恢复目录的目标数据库
    1、连接目标数据库,获得目标数据库ID
    C:>rman target system/password catalog rman/rman@taurus
    恢复管理器: Release 10.2.0.3.0 - Production on
    Copyright (c) 2005, Oracle.  All rights reserved.
    连接到目标数据库: TAURUS (DBID=1295936329)
    接到恢复目录数据库
    2、查询恢复目录,得到更详细的信息
    SQL> select db_key,db_id from db where db_id=1295936329;
       DB_KEY      DB_ID
     ---------- ----------
              1 1295936329
    3、运行过程dbms_rcvcat.unregisterdatabase注销数据库
     SQL> exec dbms_rcvcat.unregisterdatabase(1,1295936329);
    PL/SQL 过程已成功完成。
     SQL>
  10g以后直接用unregister命令注销恢复目录中目标数据
   RMAN> unregister database;
      数据库名为 "SKYTEST" 且 DBID 为 1396230638
      是否确实要注销数据库 (输入 YES 或 NO)? yes
      已从恢复目录中注销数据库
   RMAN>
三、