Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3556557
  • 博文数量: 109
  • 博客积分: 10011
  • 博客等级: 上将
  • 技术积分: 2457
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-18 19:04
文章分类

全部博文(109)

文章存档

2011年(1)

2010年(10)

2009年(36)

2008年(62)

我的朋友

分类: Oracle

2008-10-22 14:50:40

 
今天我将公司多个数据库服务器的RMAN信息通过配置CATALOG数据库进行了管理,以下是我对CATALOG数据库的简单说明,以及一些操作步骤进行罗列,忘对广大网友做同样的工作有所帮助!
The Recovery catalog 是在分布式数据库管理中的一种管理模式。
它包含了一些原来在目标数据库控制文件中存储的RMAN元数据。下图是RECOVERY CATALOG的原理图:
 
注:最左侧的TARGET数据库可以有很多,它们都可以通过一个CATALOG数据库进行管理。
 
具体的概念我就不多说了。有兴趣的朋友可以查看ORACLE在线文档。
 
建立CATALOG数据库步骤很简单。
create catelog database in 10.8.1.80 (这是一台专门CATALOG数据库,推荐放在独立于其他数据库服务器的主机,有助于数据库容灾。) 
   step1:建立一个独立的表空间
        connect to the 10.8.1.80 and create the tablespace
        sql:CREATE TABLESPACE rman_ts 
            DATAFILE  '/www/db2/oradata/bbstest/rman_catelog.dbf'
            SIZE 200M
            EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
   step2:创建一个CATALOG用户,专门管理CATALOG信息。
        create user rman
        sql:SQL> CREATE USER rman_db01 IDENTIFIED BY rman_db01
              2> DEFAULT TABLESPACE rman_ts
              3> QUOTA UNLIMITED ON rman_ts;
   step3:给用户授予recovery_catalog_owner and connect and resource权限
        grant roles and privileges to the user 
       sql: 
            SQL> GRANT recovery_catalog_owner TO rman_db01;
            SQL> GRANT connect, resource TO rman_db01;
   step4:通过rman_db01用RMAN登陆到10.8.1.80数据库。建立CATALOG表空间
        login the os and invoke the rman commend interprter ,create the catelog.
        [oracle@localhost ~]$rman catalog   log =catalog.log
        create catalog tablespace rman_ts;
        exit;
   step5:通过RMAN登陆到目标数据库。
        connect to the 10.8.1.111 as sysdba and perform all the backup and recovery operations
        [oracle@mis ~]$rman target  connect catalog
   step6:把10.8.1.111注册到80的CATALOG上。
         RMAN> register database;
   step7:把其他的数据库用同样的方式注册到80的CATALOG上。
 
以后就可以只在一个catalog数据库上做多个目标数据库的RMAN操作了
我现在就通过一个RUN做一个数据库全备。
先登陆到10.8.1.80这台机器。运行一下脚本:
  run {
 allocate channel ch1 device type disk maxpiecesize=10g;
 sql 'alter system archive log current';
 change archivelog all crosscheck;
 backup full database tag=mis_9i_fullbk
 format '/db1/rman/%d_db_%t_%s_%p' plus archivelog format '/db1/rman/%d_arch_%t_%s_%p' delete all input;
 backup current controlfile
 format '/db1/rman/%d_ctlfile_%t_%s_%p';
 release channel ch1;
  }
 
做完一个全备之后,你会发现在CATALOG数据库表中有很多关于这次备份的备份信息。
CATALOG数据库中的表具体做什么,本人认为不必太多关系,因为这些在数据字典中以后有记录了。可以通过一些视图找到。。
 
是不是很简单!
阅读(1667) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~