前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle高可用,常用几点知识

Oracle高可用,常用几点知识

作者头像
希望的田野
发布2019-09-24 16:26:30
8490
发布2019-09-24 16:26:30
举报
文章被收录于专栏:信息化漫谈

我们帮助行业客户进行上云业务迁移,Oracle的业务数据迁移几乎成了必然遇到的问题。对Oracle的数据高可用,作为云架构师,应该说是必须懂。今天我们从入门开始,介绍一些常见的问题。

一、什么是DG、RAC

DG(Data Guard)数据卫士,它主要解决数据存储上的安全问题,简单来讲就是存储另外一份同步的数据冗余来保护数据,而且这种保护是动态的,秒级同步。DG很好地避免了服务器系统在数据存储上的单点故障。

RAC(Real Application Cluster)实时数据集群,则很好地解决了服务器的扩展问题,我们可以用X86服务器来增加服务器的访问节点。可以做到负载均衡或者是热备。

二、DG如何实现数据的冗余

Data Guard包括一个生产数据库以及若干个备用数据库,这些数据库只与主数据库在事务上保持一致。副数据库通过重做数据保持这种事务的一致性。

当主数据库发生变更、新增操作时,则生成重做数据并将其写入本地日志文件中。此时主数据库必须运行在归档模式,否则不会产生日志文件。副数据库将日志文件下载到本地,并应用到备用数据库中。此时DG可以选择是数据同步模式、还是异步模式。

三、DG最多可以实现多少副数据库?

最近做的一个项目,副数据库达到了两个,一个在公有云端,另一个在本地的客户私有云。

实现DG可以实现最多九份副数据库,也就是可以实现最多九份只读数据库,或九处不同地方的数据库备份。

DG主、副数据库运行的底层操作系统、DBMS数据库版本要求一致。如两边都是RedHat 6.8、Oracle 12G。

四、DG副本数据有两种不同的数据重写方式

1、Redo Log物理写数据模式。

Redo Log、SQL。Redo Log是物理重写,就也就直接往副数据库的块里写数据,直接复制块。而SQL是逻辑重写,在副数据库里写标准语句,insert数据等。

因为Redo Log是物理重写,如果此时副数据库正在执行写操作,Oracle数据库是无法正常打开的。为了解决该问题,实现主副数据库的读写分离功能,Oracle支持闪回功能,也就是读数据时,Oracle置为只读模式(此时同步数据无法写入),而当有物理数据写入时,Oracle置为写模式。

在Oracle 11G版本开始,DG提升了Redo Log的功能,数据库可以在Read Only模式下继续Redo写数据。

2、SQL逻辑写数据模式。

SQL模式不需要锁定副数据库,任何时侯都可以往副数据库里进行数据的读/写操作。

SQL采用逻辑重写数据的方式,insert、update等标准SQL语句重写数据,看上去挺美好。但有弊端,使用该模式有些数据类型、语句有操作上的限制,不能保证数据库完全一致。

3、真实场景我们如哪种模式?

几个项目中,用到Redo Log物理写数据的更多。为了保证数据的一致性,这是很关键的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信息化漫谈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档