实现读写分离的方法:1、利用Oracle自身组件,包括Physical方式支持的异步传输方式和logical方式支持的同步传输方式;2、利用第三方组件,包括Shareplex、RealSync和DDS,以及DSG RealSync同步软件。
本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。
Oracle读写分离实现的方式有很多种:
1 利用Oracle自身组件
DG方案
DG方案也叫ADG方案,英语全称Physical Standby(Active DataGuard)。支持恢复与只读并行,但由于并不是日志的逻辑应用机制,在读写分离的场景中最为局限 ,将生产机的logfiles传递给容灾机,通过Redo Apply技术来保障数据镜像能力,物理上提供了与生产数据库在数据块级的一致性镜像,也叫physical方式。Physical方式支持异步传输方式,但容灾机处在恢复状态,不可用;
Logical Standby
通过SQL Apply(即Log Miner)技术,将接收到的日志文件还原成SQL语句,并在逻辑备份数据库上执行,从而达到数据一致性的目的,也叫logical 方式。logical方式只支持同步传输方式,但容灾机可以处在read-only状态
Streams
实时将数据复制到另外一个库供读取。最灵活,但最不稳定。
2 选择商业化第三方的产品
老牌的Shareplex,还是本土DSG公司的RealSync和九桥公司的DDS,或是Oracle新贵GoldenGate,都是可供选择的目标。
随着GoldenGate被Oracle收购和推广,个人认为GoldenGate在容灾、数据分发和同步方面将大行其道。
DSG RealSync同步du软件的实现方案:
扩展知识:
读写分离的重点其实就是数据同步,能实现数据实时同步的技术很多,基于OS层(例如VERITAS VVR),基于存储复制(中高端存储大多都支持),基于应用分发或者基于数据库层的技术。因为数据同步可能并不是单一的DB整库同步,会涉及到业务数据选择以及多源整合等问题,因此OS复制和存储复制多数情况并不适合做读写分离的技术首选。
基于日志的Oracle复制技术,Oracle自身组件可以实现,同时也有成熟的商业软件。选商业的独立产品还是Oracle自身的组件功能,这取决于多方面的因素。比如团队的相应技术运维能力、项目投入成本、业务系统的负载程度等。
推荐教程:《Oracle视频教程》
以上是oracle怎么实现读写分离的详细内容。更多信息请关注PHP中文网其他相关文章!