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>
三、