张胜鸿的程序人生(QQ9017197)

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!...

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

创建恢复目录

1、创建表空间

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

表空间已创建。


2、创建用户

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

用户已创建。

3、授权

SQL> grant connect,resource,recovery_catalog_owner to rman;

授权成功。

4、连接到恢复目录

[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数据库

RMAN> create catalog;

恢复目录已创建

6、连接

[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、注册

RMAN> register database;

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

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



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

创建脚本

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

已创建脚本 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;

删除脚本

RMAN> delete script fullbak;

已删除脚本: fullbak

显示脚本内容

RMAN> print script fullbak;

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

列出所有脚本

RMAN> list script names;

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


    目标数据库 ORCL 的脚本

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



管理恢复目录

卸载:RMAN> unregister database;

同步:RMAN> resync catalog;

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

删除:RMAN> drop catalog;



查询恢复目录

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

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> 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 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 * from rc_stored_script;

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

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

SQL> select * from rc_stored_script_line;

    DB_KEY SCRIPT_NAME           LINE TEXT
---------- --------------- ---------- ------------------------------
         1 fullbak                  1  {backup database; }

阅读更多
个人分类: 备份恢复
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭