Oracle区别ADG与DG案例详解
在上云后的Oracle数据灾备场景中,我们经常听到DBA迁移工程师讲到“在这个项目中用ADG进行数据实时备份,ADG比DG更好!”。究竟ADG作Oracle数据灾备的优势在什么地方?
一、ADG主要解决了DG时代读写不能并行的问题
【Oracle区别ADG与DG案例详解】DG时代的数据同步方式如采用Redo Log的物理方式,则数据库同步数据快、耗用资源低,但存在一个大问题。
Oracle 11G以前的Data Guard物理备份数据库,可以以只读的方式打开数据,但这时日志的数据同步过程就停止了。而如果日志的数据同步处于执行过程中,则数据库就不能打开。也就是日志读、写两个状态是互相排斥的。而Active Data Guard则是主要解决这个问题。
二、Oracle具有闪回数据库的功能,避免删表等误操作造成无法挽回
当主数据库打开并处于活动状态时,事务处于处理状态,生成Redo Log数据,并将其传送到备用的数据库中,正常情况下,可以做到秒级的数据同步。但如果在主用数据库上执行一个错误的命令,如drop database,则所有备用数据库中的数据也会被删除。
Oracle DG提供了易于使用的方式来避免这种用户错误。DBA可以在主数据库、备用数据库中同时使用闪回数据库功能,以快速将数据库恢复到一个较早的时间点上,从而取消这个误操作。
另外,Oracle还提供了延时执行备份数据库同步的功能,这样又是另一种方式防止误操作。
三、Oracle的DG、RAC一般是联合使用
RAC主要解决系统应用的故障,它不提供数据故障的快速、自动恢复,它还提供数据库应用的伸缩能力,提供应用级的保护。
文章图片
DG只提供数据的备份、恢复能力,提供数据级的保护。
文章图片
四、建议使用DG做数据实时同步,而不是第三方的磁盘copy工具
原因三点:
- DG具有延时写入数据功能,可以避免误操作,而第三方工具没有。
- DG传输的数据量更小,而第三方工具的所需的带宽更高。
- 实战中的坑:有些第三方工具的磁盘同步最小单元与Oracle的最小磁盘单元不同,造成异常故障时,备份数据库无法启用,这非常吓人。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 对称加密和非对称加密的区别
- 人如果没梦想,和咸鱼有什么区别(自媒体时代把握住就能咸鱼翻身)
- ps -aux和ps -ef区别
- 概率论/统计学|随机变量 的 分布函数 与 概率密度函数 的区别
- java之static、static|java之static、static final、final的区别与应用
- oracle|oracle java jdk install
- 性能测试中QPS和TPS的区别
- performSelectorOnMainThread:withObject:waitUntilDone:参数设置为NO或YES的区别
- unity探究UGUI的Image中sprite和overrideSprite的区别