日期:2014-05-17  浏览次数:20777 次

catalog疑問
oracle 10g,只有一个数据库并且设置了controlfile的自动备份,请问RMAN备份恢复的时候有必要建立catalog库吗?为什么?谢谢!!!

------解决方案--------------------
1.1 CATALOG数据库

因为RMAN自动维护备份和恢复所需要的各种信息,所以RMAN必须把这些以某种形式保存。RMAN支持两种形式保存这些信息,数据库的控制文件或创建一个单独的数据库来保存RMAN的信息。 

当选择把RMAN的信息存储在控制文件时,控制文件的丢失时将导致备份将不能进行恢复。所以若采用RMAN做备份,推荐一定采用RMAN CATALOG数据库来单独存放备份信息。这个单独的数据库(称为CATALOG数据库)只需要很小的空间,既可以和被备份的数据库(E10K)放在同一主机上,也可以单独放在另一台主机上(如果条件允许,推荐放在一台单独的主机上来确保最大的可恢复性)。

备份CATALOG数据库:因为CATALOG数据库包含了所有的备份信息,所以该数据库本身也是需要通过某种方法进行备份,但因为该数据库很小(一年内可能才增加十几二十兆),所以既可以对它进行冷备份,也可以进行逻辑的输出(EXPORT)。

配置CATALOG数据库:


用dbassist创建数据库。 


在该数据库创建RMAN数据库用户: 
create user rman identified by rman default tablespace ts_rman 

temporary tablespace temp;

grant connect ,resource , RECOVERY_CATALOG_OWNER to rman.


连接到目标数据库和CATALOG数据库 

rman target system/manager@target_tnsname rcvcat rman/rman@catalog_tnsname 


创建CATALOG用户的表: 

rman>create catalog


登记目标数据库: 

rman>register database

这样就可以利用该RMAN数据库来备份目标数据库了。


------解决方案--------------------
其实你库少的话,没必要使用catalog, 毕竟需要一定的成本.

但是基于controlfile,那么你就要把controlfile备份好.

起码也要configure controlfile autobackup on吧.
------解决方案--------------------
备份好control file就不必要新建一个catalog 库来进行管理

如果catalog和生产库之间有足够的带宽,又有机器,当然也可以做catalog
------解决方案--------------------
backup catalog既可以存储在控制文件中,也可以存储在rman recover catalog中,但若控制文件损坏的话,恢复会很麻烦的
------解决方案--------------------
建议使用catalog备份:
1.防止controlfile因为存储备份信息变的很大
2.controlfile存储的备份信息默认是7天,catalog更灵活.
3.rman备份信息通过catalog可以更灵活的迁移到其它系统.
...

引用楼主 yyhakusu 的帖子:
oracle 10g,只有一个数据库并且设置了controlfile的自动备份,请问RMAN备份恢复的时候有必要建立catalog库吗?为什么?谢谢!!!

------解决方案--------------------
引用楼主 yyhakusu 的帖子:
oracle 10g,只有一个数据库并且设置了controlfile的自动备份,请问RMAN备份恢复的时候有必要建立catalog库吗?为什么?谢谢!!!

------解决方案--------------------
引用楼主 yyhakusu 的帖子:
oracle 10g,只有一个数据库并且设置了controlfile的自动备份,请问RMAN备份恢复的时候有必要建立catalog库吗?为什么?谢谢!!!

------解决方案--------------------
把控制文件备好就OK了.

catalog没必要, 你又不是N套库.

成本比较高,也划不着,如果有空闲的机器可以考虑.