您的位置:首页 > 数据库

使用恢复目录(catalog)数据库

2014-10-31 15:11 429 查看
创建恢复目录

1、创建表空间

[sql]
view plaincopyprint?

SQL> create tablespace rman datafile '/u01/app/oracle/oradata/orcl/rman1.dbf' size 50m;  
  
表空间已创建。  

SQL> create tablespace rman datafile '/u01/app/oracle/oradata/orcl/rman1.dbf' size 50m;

表空间已创建。


2、创建用户

[sql]
view plaincopyprint?

SQL> create user rman identified by rman default tablespace rman temporary tablespace temp quota unlimited on rman;  
  
用户已创建。  

SQL> create user rman identified by rman default tablespace rman temporary tablespace temp quota unlimited on rman;

用户已创建。


3、授权

[sql]
view plaincopyprint?

SQL> grant connect,resource,recovery_catalog_owner to rman;  
  
授权成功。  

SQL> grant connect,resource,recovery_catalog_owner to rman;

授权成功。


4、连接到恢复目录

[sql]
view plaincopyprint?

[oracle@linux ~]$ rman catalog rman/rman@orcl  
  
恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 13 12:55:12 2011  
  
Copyright (c) 1982, 2007, Oracle.  All rights reserved.  
  
连接到恢复目录数据库  

[oracle@linux ~]$ rman catalog rman/rman@orcl

恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 13 12:55:12 2011

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

连接到恢复目录数据库


5、创建catalog数据库

[sql]
view plaincopyprint?

RMAN> create catalog;  
  
恢复目录已创建  

RMAN> create catalog;

恢复目录已创建


6、连接

[sql]
view plaincopyprint?

[oracle@linux ~]$ rman target sys/oracle@orcl catalog rman/rman@orcl  
  
恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 13 12:56:55 2011  
  
Copyright (c) 1982, 2007, Oracle.  All rights reserved.  
  
连接到目标数据库: ORCL (DBID=1292118315)  
连接到恢复目录数据库  

[oracle@linux ~]$ rman target sys/oracle@orcl catalog rman/rman@orcl

恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 13 12:56:55 2011

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

连接到目标数据库: ORCL (DBID=1292118315)
连接到恢复目录数据库

7、注册

[sql]
view plaincopyprint?

RMAN> register database;  
  
注册在恢复目录中的数据库  
正在启动全部恢复目录的 resync  
完成全部 resync  

RMAN> register database;

注册在恢复目录中的数据库
正在启动全部恢复目录的 resync
完成全部 resync

说明:catalog数据库也需要备份,通常使用exp/imp既可。注意:强烈建议catalog数据库和要备份的数据库不要使用同一个数据库。(这里为了方便catalog数据库和备份数据库使用了同一个。)因为如果备份数据库宕了,你连rman都进不去了,更不要说利用catalog目录里面的信息来恢复数据库。

使用catalog的另外一个好处是可以在数据库中存储备份脚本

创建脚本

[sql]
view plaincopyprint?

RMAN> create script fullbak{  
2> backup database; }  
  
已创建脚本 fullbak  

RMAN> create script fullbak{
2> backup database; }

已创建脚本 fullbak


运行脚本

[sql]
view plaincopyprint?

RMAN> run {execute script fullbak;}  
  
正在执行脚本: fullbak  
  
启动 backup 于 13-10月-11  
分配的通道: ORA_DISK_1  
通道 ORA_DISK_1: sid=150 devtype=DISK  
通道 ORA_DISK_1: 启动全部数据文件备份集  
通道 ORA_DISK_1: 正在指定备份集中的数据文件  
输入数据文件 fno=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf  
输入数据文件 fno=00003 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf  
输入数据文件 fno=00006 name=/u01/app/oracle/oradata/orcl/rman1.dbf  
输入数据文件 fno=00002 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf  
输入数据文件 fno=00005 name=/u01/app/oracle/oradata/orcl/tb1.dbf  
输入数据文件 fno=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf  
通道 ORA_DISK_1: 正在启动段 1 于 13-10月-11  
通道 ORA_DISK_1: 已完成段 1 于 13-10月-11  
段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_13/o1_mf_nnndf_TAG20111013T131009_79dwokbc_.bkp 标记=TAG20111013T131009 注释=NONE  
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:35  
完成 backup 于 13-10月-11  
  
启动 Control File and SPFILE Autobackup 于 13-10月-11  
段 handle=/u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_13/o1_mf_s_764428246_79dwpq2f_.bkp comment=NONE  
完成 Control File and SPFILE Autobackup 于 13-10月-11  
  
RMAN> delete script fullbak;  

RMAN> run {execute script fullbak;}

正在执行脚本: fullbak

启动 backup 于 13-10月-11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=150 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
输入数据文件 fno=00003 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
输入数据文件 fno=00006 name=/u01/app/oracle/oradata/orcl/rman1.dbf
输入数据文件 fno=00002 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
输入数据文件 fno=00005 name=/u01/app/oracle/oradata/orcl/tb1.dbf
输入数据文件 fno=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
通道 ORA_DISK_1: 正在启动段 1 于 13-10月-11
通道 ORA_DISK_1: 已完成段 1 于 13-10月-11
段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_13/o1_mf_nnndf_TAG20111013T131009_79dwokbc_.bkp 标记=TAG20111013T131009 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:35
完成 backup 于 13-10月-11

启动 Control File and SPFILE Autobackup 于 13-10月-11
段 handle=/u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_13/o1_mf_s_764428246_79dwpq2f_.bkp comment=NONE
完成 Control File and SPFILE Autobackup 于 13-10月-11

RMAN> delete script fullbak;


删除脚本

[sql]
view plaincopyprint?

RMAN> delete script fullbak;  
  
已删除脚本: fullbak  

RMAN> delete script fullbak;

已删除脚本: fullbak


显示脚本内容

[sql]
view plaincopyprint?

RMAN> print script fullbak;  
  
正在打印存储的脚本: fullbak  
 {backup database; }  

RMAN> print script fullbak;

正在打印存储的脚本: fullbak
{backup database; }


列出所有脚本

[sql]
view plaincopyprint?

RMAN> list script names;  
  
恢复目录中存储脚本的列表  
  
  
    目标数据库 ORCL 的脚本  
  
       脚本名  
       说明  
       -----------------------------------------------------------------------  
       fullbak  

RMAN> list script names;

恢复目录中存储脚本的列表

目标数据库 ORCL 的脚本

脚本名
说明
-----------------------------------------------------------------------
fullbak


[b]管理恢复目录[/b]

卸载:RMAN> unregister database;

同步:RMAN> resync catalog;

升级(注意升级要运行两次):RMAN> upgrade catalog;
删除:RMAN> drop catalog;

 

查询恢复目录

查询恢复目录中注册的数据库

[sql]
view plaincopyprint?

SQL> conn rman/rman  
已连接。  
SQL> select * from rc_database;  
  
    DB_KEY  DBINC_KEY       DBID NAME     RESETLOGS_CHANGE# RESETLOGS_TIME  
---------- ---------- ---------- -------- ----------------- --------------  
         1          2 1292118315 ORCL                474701 12-10月-11  

SQL> conn rman/rman
已连接。
SQL> select * from rc_database;

DB_KEY  DBINC_KEY       DBID NAME     RESETLOGS_CHANGE# RESETLOGS_TIME
---------- ---------- ---------- -------- ----------------- --------------
1          2 1292118315 ORCL                474701 12-10月-11


 

查询恢复目录中所记载的目标数据库的表空间信息

[sql]
view plaincopyprint?

SQL> select * from rc_tablespace;  
  
    DB_KEY  DBINC_KEY DB_NAME         TS# NAME                           CREATION_CHANGE# CREATION_TIME  DROP_CHANGE# DROP_TIME      INC BIG TEM ENC  
---------- ---------- -------- ---------- ------------------------------ ---------------- -------------- ------------ -------------- --- --- --- ---  
         1          2 ORCL              0 SYSTEM                                        7 17-2月 -08                                 YES NO  NO  
         1          2 ORCL              1 UNDOTBS1                                 462458 17-2月 -08                                 YES NO  NO  
         1          2 ORCL              2 SYSAUX                                     6677 17-2月 -08                                 YES NO  NO  
         1          2 ORCL              3 TEMP                                     464713 12-10月-11                                 NO  NO  YES  
         1          2 ORCL              4 USERS                                     10753 17-2月 -08                                 YES NO  NO  
         1          2 ORCL              6 TB1                                      474104 12-10月-11                                 YES NO  NO  
         1          2 ORCL              7 RMAN                                     478417 13-10月-11                                 YES NO  NO  
  
已选择7行。  

SQL> select * from rc_tablespace;

DB_KEY  DBINC_KEY DB_NAME         TS# NAME                           CREATION_CHANGE# CREATION_TIME  DROP_CHANGE# DROP_TIME      INC BIG TEM ENC
---------- ---------- -------- ---------- ------------------------------ ---------------- -------------- ------------ -------------- --- --- --- ---
1          2 ORCL              0 SYSTEM                                        7 17-2月 -08                                 YES NO  NO
1          2 ORCL              1 UNDOTBS1                                 462458 17-2月 -08                                 YES NO  NO
1          2 ORCL              2 SYSAUX                                     6677 17-2月 -08                                 YES NO  NO
1          2 ORCL              3 TEMP                                     464713 12-10月-11                                 NO  NO  YES
1          2 ORCL              4 USERS                                     10753 17-2月 -08                                 YES NO  NO
1          2 ORCL              6 TB1                                      474104 12-10月-11                                 YES NO  NO
1          2 ORCL              7 RMAN                                     478417 13-10月-11                                 YES NO  NO

已选择7行。


查询恢复目录中所记载的目标数据库的数据文件信息

[sql]
view plaincopyprint?

SQL> select DB_KEY,DBINC_KEY,DB_NAME,TS#,TABLESPACE_NAME,FILE#,NAME from rc_datafile;  
  
    DB_KEY  DBINC_KEY DB_NAME         TS# TABLESPACE_NAME                     FILE# NAME  
---------- ---------- -------- ---------- ------------------------------ ---------- ------------------------------------------------------------  
         1          2 ORCL              0 SYSTEM                                  1 /u01/app/oracle/oradata/orcl/system01.dbf  
         1          2 ORCL              1 UNDOTBS1                                2 /u01/app/oracle/oradata/orcl/undotbs01.dbf  
         1          2 ORCL              2 SYSAUX                                  3 /u01/app/oracle/oradata/orcl/sysaux01.dbf  
         1          2 ORCL              4 USERS                                   4 /u01/app/oracle/oradata/orcl/users01.dbf  
         1          2 ORCL              6 TB1                                     5 /u01/app/oracle/oradata/orcl/tb1.dbf  
         1          2 ORCL              7 RMAN                                    6 /u01/app/oracle/oradata/orcl/rman1.dbf  
  
已选择6行。  

SQL> select DB_KEY,DBINC_KEY,DB_NAME,TS#,TABLESPACE_NAME,FILE#,NAME from rc_datafile;

DB_KEY  DBINC_KEY DB_NAME         TS# TABLESPACE_NAME                     FILE# NAME
---------- ---------- -------- ---------- ------------------------------ ---------- ------------------------------------------------------------
1          2 ORCL              0 SYSTEM                                  1 /u01/app/oracle/oradata/orcl/system01.dbf
1          2 ORCL              1 UNDOTBS1                                2 /u01/app/oracle/oradata/orcl/undotbs01.dbf
1          2 ORCL              2 SYSAUX                                  3 /u01/app/oracle/oradata/orcl/sysaux01.dbf
1          2 ORCL              4 USERS                                   4 /u01/app/oracle/oradata/orcl/users01.dbf
1          2 ORCL              6 TB1                                     5 /u01/app/oracle/oradata/orcl/tb1.dbf
1          2 ORCL              7 RMAN                                    6 /u01/app/oracle/oradata/orcl/rman1.dbf

已选择6行。


查询恢复目录中所记载的存储脚本信息

[sql]
view plaincopyprint?

SQL> select * from rc_stored_script;  
  
    DB_KEY DB_NAME  SCRIPT_NAME     SCRIPT_COMMENT  
---------- -------- --------------- --------------------  
         1 ORCL     fullbak  

SQL> select * from rc_stored_script;

DB_KEY DB_NAME  SCRIPT_NAME     SCRIPT_COMMENT
---------- -------- --------------- --------------------
1 ORCL     fullbak


 

查询恢复目录中所记载的存储脚本内容

[sql]
view plaincopyprint?

SQL> select * from rc_stored_script_line;  
  
    DB_KEY SCRIPT_NAME           LINE TEXT  
---------- --------------- ---------- ------------------------------  
         1 fullbak                  1  {backup database; }  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: