您的位置:首页 > 数据库 > Oracle

oralce RAC 归档日志的方式及RMAN备份方法

2012-12-07 15:06 429 查看
在RAC数据库中,RMAN备份的时候需要找到所有的归档日志,如何让RMAN发现所有的归档日志呢?
下面是几个常用的方法:
1、最简单就是使用OCFS了,但是目前只能限于WINDOWS和Linux上面,当然UNIX上也有相应的cluster filesystem,但是都是要付费的,OCFS是免费的,一直听说Oracle要发布Solaris上面的OCFS,但是到现在还没有消息。
如果如用OCFS作为归档日志存放地,那么每个节点的实例都把归档日志放到同一个OCFS上面,这样RMAN备份就可以
RMAN>backup archivelog all delete all input format '.......';
因为RMAN可以发现所有的归档日志。
 
2、使用UNIX使用NFS,WINDOWS使用网络驱动器方式。这样也可以做到,在一个节点上RMAN就能发现所有的归档日志了。
 
3、使用cross-instance archival方式,比如有两个RAC实例:rac1和rac2
rac1和rac2的 log_archive_dest_1='location=c:\arch'
可以设置
rac1的 log_archive_dest_2='service=rac2 arch'
rac2的 log_archive_dest_2='service=rac1 arch'
类似standby数据库的设置,这样也可以做到每个节点都有所有的归档日志。
 
4、归档日志就存放在本地的硬盘上面,这也,任何节点只有它自己的归档日志。
 
处理结果:
对于方式1、2 RMAN备份归档日志很简单,只需要分配一个通道就可以了,并且备份完成后RMAN可以删除所有节点上的归档日志。
 
对于3,虽然可以只用一个通道就可以备份说有的归档日志,但是RMAN删除的时候不会把所有归档日志删除,而是保留每个实例通过log_archive_dest_2得到归档日志。不过这样也有一个好处:在数据库recover的时候,不用res
4000
tore归档日志。
 
对于4,如果没有带库,要使用下面的方法来备份归档日志:
run
{
  allocate channel type d1 type disk connect 'sys/sys@rac1';
  allocate channel type d2 type disk connect 'sys/sys@rac2';
  backup archivelog all delete all input format '........';
  release channel d1;
  release channel d2;
}
转自:http://blog.sina.com.cn/s/blog_70bb81860100n7ca.html
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle RAC RMAN 归档日志