Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1117981
  • 博文数量: 231
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 16:35
个人简介

学无止境

文章分类

全部博文(231)

文章存档

2014年(7)

2013年(103)

2011年(11)

2010年(53)

2009年(57)

分类: Oracle

2013-09-16 14:34:53

catalog恢复目录是专门用来存储rman repository的数据库,当控制文件损坏时,通过恢复目录中控制文件的备份来恢复数据库,并且采用恢复目录可以对多个数据库进行备份和恢复。在实际生产环境中,如果只是少量数据库,通常直接使用controlfile作为catalog来进行备份,但是带来的问题就是,当控制文件损坏时,catalog也就损坏了,所以对controlfile的备份就显得极其重要,并且就算有控制文件的备份,恢复工作也具有一定的复杂性。如果数据库系统较多,可以专门使用一个数据库作为catalog database。
 
创建catalog database的方法:
1.创建一个数据库
  可以通过手动建立,也可以通过dbca建立。这个数据库甚至可以是一个现有存在的数据库,既对外工作,也作为catalog数据库。
 
2.创建catalog database的一个表空间,用于存储rman repository
  表空间大小可以不用多大,初始大小100M即可,如果建立在文件系统上之后可以每次让数据文件扩展10M。
 
  SQL> CREATE TABLESPACE rman_tbs DATAFILE '/oracle/oradata/rman_tbs01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M;
 
3.创建RMAN repository用户,用户名通常取为rman,也可是其他名字
 
  SQL> CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE rman_tbs QUOTA UNLIMITED ON rman_tbs;
 
4.分配给改用户回复目录的权限
 
  SQL> GRANT RECOVERY_CATALOG_OWNER TO rman;
 
5.将表空间注册到catalog中
 
  $rman catalog rman/rman@catalogdb
  RMAN> CREATE CATALOG TABLESPACE rman_tbs;
 
6.将要管理的数据库注册到catalog database中
 
  $rman target sys/oracle@orcl catalog rman/rman@catalogdb
  RMAN> register database;
 
7.测试备份是否可以进行
 
  RMAN> backup database;
 
  需要注意的是,无论是在catalog database一端上执行target database的备份还是在target database数据库一端上执行备份,备份集始终是备份到target database的系统上,像上面的命令没有指定具体路径格式的备份命令,默认备份集放在target database的db_recovery_file_dest目录下,名称也是自动生成的。
  这样可能会存在一个问题,该目录大小是由db_recovery_file_dest_size参数设置的,如果超过这个限制,备份有可能失败,会报ORA-19809和ORA-19804的错误。

 

阅读(955) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~