Oracle 恢复目录

来源:互联网 发布:淘宝网游专营店类目 编辑:程序博客网 时间:2024/05/07 22:30
Oracle 恢复目录基本操作

1、在大多数情况下,rman并不需要使用恢复目录,恢复目录实际上是一个可选的组件。恢复目录用来存储来自rman备份的历史备份信息,与数据库控制文件的rman信息不同,恢复目录的数据不是定期的进行清除,因此,恢复目录会保存比控制文件更多的历史信息。

2、使用恢复目录的优点:

(1)  如果要使用存储的rman脚本,就必须使用恢复目录。

(2) 恢复目录提供存储全企业rman信息的单一存储库,它可以更方便,灵活的集中存储企业的备份信息。

(3) 由于可以在当前时间之外的时间报告目标数据库的信息,所以恢复目录使得报告起来更灵活。

(4)  使用恢复目录可以保留某些默认的数据库rman通道配置信息。

3、创建恢复目录

3.1 配置恢复目录的数据库

     针对维护一年以内的恢复目录记录的恢复目录数据库,Oracle建议如下:

     表空间名称                                     大小需求

     SYSTEM                                        90M
     TEMP                                            5M
     UNDO                                           5M
     RECOVERY CATALOGSCHEMA                 每个注册的数据库15M
     ONLINE REDOLOGS                        每个联机重做日志1M

3.2 创建用于恢复目录的用户账户

     在创建用户账户时,我们需尽量避免使用system作为默认表空间。将新创建的表空间作为用户的默认表空间,并指定用户的unlimitedquota。

    创建用户账户后须授予的角色:

    connect
    resource
    recovery_catalog_owner

eg:GRANT connect,resource,recovery_catalog_owner TOrcat_user;

4 创建恢复目录模式对象

     当使用target参数连接目标数据库,再使用catalog参数连接恢复目录数据库模式,然后在rman提示符下执行createcatalog命令,此时可以选择使用tablespace参数来定义在其中创建rman模式对象的表空间。步骤如下:

      (1)  使用rman连接到恢复目录

             RMAN  catalog=rcat_user/rcat_password

       (2)  在rman提示符下执行下面的create catalog命令:

              create catalog tablespace catalog_tbs;

5、在恢复目录中注册数据库

     在完成了以上的准备工作后,就可以使用恢复目录注册数据库,使用恢复目录执行数据库的rman备份操作前必须注册数据库。注册过程如下:

     (1)  使用rman同时连接注册数据库和恢复目录

            set ORACLE_SID=main_db

            RMAN target=backup_admin/backupuserpassword

            CATALOG=rcat_user/rcat_password@recover

      (2)  使用恢复目录注册数据库

           RMAN>Register database;

      (3)  在rman提示符下来验证成功注册的数据库。

           RMAN>Report Schema;  

6、删除恢复目录

    如同可以创建恢复目录模式,你也可以删除恢复目录模式。使用dropcatalog命令可以删除恢复目录模式。当删除恢复目录模式,包含在模式中的所有信息都会丢失,因此在删除模式之前应该考虑备份恢复目录模式数据库。

7、向恢复目录中添加rman备份。
    如果在没有恢复目录的情况下执行了RMAN备份,并且希望在后面将这些备份添加到恢复目录中,则可以使用catalog命令。我们可以将数据文件副本、备份集片、归档日志备份、甚至整个备份目录添加到目录中。方法如下:

    (1)  添加数据文件副本

          RMAN>CATALOG DATAFILECOPY'D:/ORACLE/ORA102/DATABASE/system01.dbf';

    (2)  添加归档日志

          RMAN>CATALOG ARCHIVELOG 'D:/ORACLE/ORA102/DATABASE/arch_988.arc';

    (3)  添加备份集片

         RMAN>CATALOG BACKUPPIECE'D:/ORACLE/ORA102/DATABASE/backup_820.bkp';

    (4)  添加整个备份目录

         RMAN>CATALOG START WITH'D:/ORACLE/ORA102/DATABASE/';

注意:当添加整个备份目录时,目录路径结尾必须加上反斜杠后缀,否则Oracle将遍历'D:/ORACLE/ORA102/下的所有可能的DATABASE目录组合。如:'D:/ORACLE/ORA102/DATABASE_12目录下的文件也将被添加。

8、恢复目录中取消数据库注册

     可在RMAN中使用unregisterdatabase命令来取消数据库注册。如果希望取消已存在的数据库注册,只要连接到数据库和恢复目录,并执行unregisterdatabase命令即可:

    RMAN>unregister database;
   如果数据库已删除,并且希望从恢复目录中删除该数据库,则大多数情况下只需要知道希望取消注册的数据库的名称。如希望取消注册OLDROB数据库。则可连接到恢复目录执行以下命令:

   RMAN>Unregister database OLDROB;

   当恢复目录中有多个以相同名称注册的数据库时,就需要知道希望取消注册的数据库的DBID,然后在run代码块中运行unregisterdatabase命令,同时使用set dbid命令,操作如下:

    rman CATALOGrman/rman@catdb

   RMAN>RUN

     SET DBID 241455533 #specifies the database by DBID

        UNREGISTER  DATABASE ROBOLD  NOPROMPT;

    }

转自:http://blog.csdn.net/minruicjdx/article/details/6008117

================================================
以下来自另一文
================================================

用不用catalog数据库,信息都会放在控制文件。
catalog目录数据库可存放详细历史信息和脚本,在维护多个数据库时通过它便于管理和查询。

backup catalog的内容:
备份信息
镜像拷贝信息
归档日志文件信息
目标数据库的物理结构信息
RMAN永久性配置信息
工作脚本

catalog的好处;
多个目标数据库信息存储在一个catalog数据库
一个目标数据库的多个incarnation信息
历史信息
报告目标数据库非当前时间的信息

创建catalog

1.在catalog数据库创建表空间
create tablespace cata datafile '/u01/oradata/shady/catalog_01.dbf'size 1024M segment space management auto extent management localuniform;

2.在catalog数据库创建catalog owner(即创建用户)
create user cata identified by cata default tablespace cata quotaunlimited on cata;

3.授权
grant connect,resource to cata
grant recovery_catalog_owner to cata;

4.创建catalog
rman catalog cata/cata@pitts //pitts是一个目录数据库的标识
rman>create catalog tablespace cata;

5.连接目标数据库和目录数据库,注册到目录数据库
rman target sys/sys@XXWZ
rman>connect catalog cata/cata@pitts
rman>register database;

catalog数据库的维护之同步
控制文件记录保留时间:control_file_record_keep_time参数
同步做下面的工作:
创建一个控制文件的快照;
对比快照和catalog;
更新catalog中没有或改变的信息。

部分同步:除同步数据库物理结构外,即备份相关信息。
全同步:同步数据库物理结构。

当你执行一些特定的命令,如backup时,RMAN会执行自动同步。
你也可以手工执行全同步用resync catalog命令。
rman>resync catalog;

查看数据库incarnation信息
rman>list incarnation;
设置要恢复的incarnation
rman>reset database incarnation 2;
rman>restore database
rman>recover database

catalog视图(必须要用cata用户登录才能看到)
rc_database
rc_datafile
rc_stored_script
rc_stored_script_line
rc_tablespace

catalog的存储脚本
创建脚本
create script leve0backup  //创建全局脚本create globalscript leve0backup
comment 'Script to Backup' //脚本注释
{
backup incremental level 0
format 'd:\backup\%d_%s_%p'
fileperset 5
(database include current controlfile)
sql 'alter system archive log current';
}

执行脚本
rman>run {execute script leve0backup;}

修改脚本
rman>replace script leve0backup{
backup incremental level 0
format 'd:\backup\%d_%s_%p'
fileperset 3
(database include current controlfile)
sql 'alter system archive log current';
}

删除脚本
rman>delete script leve0backup;

显示脚本内容
rman>print script leve0backup;
或rman>print global script leve0backup;

把脚本保存到文件
rman>print script leve0backup to file'd:\script\leve0backup.rman';

本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2011-08/40851.htm

================================================
以下来自另一文
================================================

使用恢复目录是可选的,因为Oracle可以使用控制文件存储RMAN信息库数据。但是,Oracle建议采用恢复目录。下面我们以例子的形式介绍Oracle的恢复目录(recoverycatalog)。

1、创建表空间,用于存储RMAN信息
SQL> create tablespace rmantbs
  datafile'E:\app\Administrator\oradata\invmt\rman01.dbf'
  size 200M
  autoextend on
  next 100M
  extent managementlocal
  autoallocate
  segment space managementauto
  /

Tablespace created.

2、创建恢复目录模式
SQL> create user rmanadmin identified byrmanadmin
  default tablespacermantbs
  temporary tablespacetemptbsgrp
  quota unlimited onrmantbs
  /
 
User created.

3、进行必要的授权
rman拥有者rmanadmin需要查询和维护恢复目录的权限,能过授予用户rrmanadmin角色recovery_catalog_owner来完成。如下:
SQL> grant recovery_catalog_owner to rmanadmin
  /

Grant succeeded.

4、恢复目录的连接
可用如下的连接方式
(1)使用connect catalog命令连接
SQL> host rman

Recovery Manager: Release 11.1.0.6.0 - Production on 星期日 11月 411:51:12 2012
Copyright (c) 1982, 2007, Oracle.  All rightsreserved.

RMAN> connect catalogrmanadmin/rmanadmin@invmt
connected to recovery catalog database

RMAN>
(2)在写入rman命令时连接
SQL> host rman catalogrmanadmin/rmanadmin@invmt

Recovery Manager: Release 11.1.0.6.0 - Production on 星期日 11月 411:53:29 2012
Copyright (c) 1982, 2007, Oracle.  All rightsreserved.
connected to recovery catalog database

RMAN>
如果恢复目录和目标数据库不是一个数据库,那么,还需要连接到目标数据库。连接方法如下:
RMAN> connect target sys/aaa@invmt
connected to target database: INVMT (DBID=1918690421)

RMAN>
说明:此连接是在连接恢复后,再连接目标数据库。也可以用下面的方式:
SQL> host rman catalog rmanadmin/rmanadmin@invmttarget invmt
Recovery Manager: Release 11.1.0.6.0 - Production on 星期日 11月 411:59:39 2012
Copyright (c) 1982, 2007, Oracle.  All rightsreserved.

target database Password:
connected to target database: INVMT (DBID=1918690421)
connected to recovery catalog database

RMAN>
我这里使用的是同一个数据库,两个数据库方法一样。这里要注意一下,在实际应用千万不要把恢复目录建在目标数据库上,如果是这样,万一出现了介质故障,将同时丢失恢复目录和目标数据库。

5、创建恢复目录
如果要使用恢复目录存储RMAN的元数据,那么必须在恢复目录的拥有者(rmanadmin)模式下创建恢复目录。如下:
RMAN> create catalog;
recovery catalog created

6、注册数据库
为了使RMAN完成其工作,需要注册想要备份和恢复的目标数据库,注册就是在恢复目录中进行数据库的登记。注册后,RMAN可自动获取目标数据库的相关元数据,并把它保存在它拥有的模式中。如下:
RMAN> register database;

database registered in recovery catalog
starting full resync of recovery catalog
full resync complete

转自:http://blog.163.com/donfang_jianping/blog/static/136473951201210411402032/
0 0
原创粉丝点击