Oracle 容灾方案选择
最近公司在搞数据库容灾这方面的东西,实施的项目会比较多,而我们实施的项目中大多数据是标准模板搭建的,基本上都是Oracle rac 2、3节点asm磁盘管理。
在考虑Oracle数据库的容灾方案选择上,首先调研一下,我们的需求
要实现秒级数据丢失即RPO要求~0,小时级别的切换时间,即业务要在一小时之内恢复
实现从深圳到长沙的数据容灾。
这里我们调研了一下方案选择,大都是数据库复制技术来实现,总体分如下几类:
1.数据库原生容灾方案:
Data Guard方案,在Oracle MAA架构绝对是重量级的存在,RMAN保证数据安全,DG报账业务连续。原理是使用日志传输的方案实现主备库的数据同步。11g之后支持ADG,备库只读打开,报表查询都可以在备库上做,减轻主库的负担,而且稳定性较高。确定可能是没有一个友好的操作界面吧。
2.GoldenGate方案:传输的是SQL语句,带宽占用较低。主要用于异构数据库的迁移场景,在容灾方案上用的不多,配置起来比较复杂,可靠性没有DG好。
3.其他方案:
一般是通过解析日志,然后复制到备库进行应用,与OGG方式类似。商业软件如美创、英方等一般都有易用的UI界面,基本上都支持一键切换,适合于一些技术实力较弱的用户。其实我个人还是不想用这种方案的,价格太高,原理实现不透明,出问题基本上只有厂家进行技术支持了。
基于我们公司现状,Oracle rac asm用的比较多,也有一定的Oracle技术实力,从深圳到长沙的容灾我们打算选用Data Guard来做我们的容灾方案。
Dataguard大致设置如下:
1.主库Oracle rac 2节点,备库单机
2.配置LGWR传输,备库实时应用,网络情况良好情况下基本上不会怎么丢数据
3.切换时间能够控制在1分钟左右,业务量大时切换时间可能会稍慢,容灾决策比较重要,一般也不在乎这几分钟了。