Oracle ADG的基本概念

2023-11-09 07:01
文章标签 oracle 基本概念 adg

本文主要是介绍Oracle ADG的基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Oracle DataGuard 是 Oracle 自带的数据同步功能,其基本原理是将日志文件从源数据库传输到目标数据库,并在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级别的高可用性方案

DataGuard 可以提供 Oracle数据库的容灾、数据保护、故障恢复等,实现数据库快速切换与灾难恢复。在生产数据库保证“事务一致性” 时,使用生产库的物理全备份创建备库,备库会通过生产库传输过来的归档日志或重做条目自动维护备用数据库。

DataGuard 数据同步技术的优势为:

  1. Oracle内置功能,与每个Oracle新版本的新特性完全兼容,且不需要另外付费。
  2. 配置管理简单,不需要熟悉其他第三方的软件产品。
  3. 物理Standby数据库支持任何类型的数据对象和数据类型。
  4. 逻辑Standby数据库处于打开状态,可以在保持数据同步的同时执行查询等操作。
  5. 在最大保护模式下,可确保数据的零丢失。

1 DataGuard架构

Oracle DataGuard由一个primary 数据库(生产数据库)及一个或多个standby数据库(最多9个)组成。组成DataGuard的数据库通过Oracle Net连接,并且可以分布于 没的地域,只要各库之间可以相互通信即可。

  • Primary 数据库。 DataGuard包含一个primary 数据库,此库被大部分应用访问,可以是单实例数据库,也可以是RAC。
  • Standby 数据库。 Standby数据库是primary的复制(事务上一致)。在同一个DataGuard中可以最多创建9个standby数据库。一旦创建完成,DataGuard通过应用primary数据库的redo自动维护每个standby数据库。Standby可以是单实例数据库也可以是RAC结构。

2 备库类型

Standby数据库有两种:逻辑standby和物理standby。

  • 逻辑standby。通过接收primary数据库的redo log并转换为SQL语句,然后在standby数据库上执行SQL语句实现同步。
  • 物理standby。通过接收并应用primary数据库的redo log以介质恢复的方式实现同步,不仅文件的物理结构相同,连块在磁盘上的存储位置都是一模一样的。

3 DataGuard服务

  • 重做传输服务(Redo Transport Services)。控制redo日志的传输到一个或多个归档目的地。
  • 日志应用服务(Log Apply Services)。应用redo日志到standby数据库,以保持与primary数据库的事务一致。
  • 角色转换服务(Role Transitions)。DataGuard有两种角色primary 和 standby,角色转换就是让数据库在这两个角色切换,切换分为两种:switchover 和 failover。
    switchover:转换primary数据库与standby数据库。switchover可以确保不会丢失数据。
    failover:当primary出现故障并不能及时恢复时,调用failover将一个standby转换为新的primary数据库。在最大保护模式或最高可用性模式下可以保证不会丢失数据。

4 保护模式

4.1 最大保护模式

最大保护模式为主数据库提供最高水平的数据保护 ,确保一个全面的零数据丢失 的灾难恢复解决方案。在最大保护模式下运行时,重做记录由日志写入进程从主库同步地传输到备库,直到确认事务数据在至少一个备用服务器上的磁盘上可用时,才在主库上提交事务。该模式下,主库和备库完全一致,主库事务提交前,备库必须收到全部日志数据,如果因网络等原因导致日志无法传送时,将引起严重的性能问题,导致主节点宕机。此时备库不能正常关闭,必须保持和主库一致的模式,如果强行采用abort方式关闭备库,可能引发主库挂起。推荐至少配置2个备库,因为如果其中一个不能从主库接收日志,主库还可以继续运行。要保证备库的监听正常,保证主库到备库的连接正常。

4.2 最大可用模式

最大可用模式拥有仅次于主数据库数据可用性,并提供零数据丢失和防止单组故障。如同最大保护模式一样,重做数据由日志写入进程从主数据库同步地传输到备用数据库,直到确认事务数据在备用服务器的磁盘上可用时,事务才在主数据库上完成。 不过,这种模式下,如果最后参考的备用数据库变为不可用,例如网络连接异常,处理将在主数据库上继续进行。备库与主库相比,可能暂时落后,但当它再次变为可用时,备用数据库将自动同步,而不会丢失数据。由于同步重做传输,这种模式可潜在地影响响应时间和吞吐量。可以通过配置一个低延迟网络,并为它分配足够应用高峰事务负载的带宽来将这种影响减到最小。
最大可用模式适用于想要在生产站点上出现严重中断时确保获得零数据丢失保护,但不想让生产数据库受网络/备用服务器故障影响的企业。为防止备库发生网络故障,最好设置reopen参数,即使出现网络故障,也不会引发主库挂起,这时主库将从最大可用模式切换到最大性能模式。正常情况下运行在最大保护模式下,在主库和备库之间网络断开或连接不正常时,自动切换到最大性能模式,主节点操作继续,但这种自动切换是否及时是否高效,当前行内并无实际检验,因此在网络不好的情况下,也可能会有较大的性能影响。

4.3 最大性能模式

最大性能模式是默认的保护模式。与最大可用模式相比,提供了稍微少一些的主库数据保护,但提供了更高的性能。这种模式下,当主库处理事务时,重做数据由日志写入进程异步传输到备用数据库上。在任何情况下,均先完全主库上的写操作,主库的提交操作不等待备库确认接收。如果任意备用数据库变为不可用,则处理将在主库上继续进行,对性能只有很小的影响或没有影响。在主库出现故障的情况下,可能有一些主库上提交了的事务没有传输到备库上。如果网络有足够的吞吐量跟上重做流量高峰,则丢失的事务将非常少或者为零。
当主库的可用性和性能比丢失少量数据的风险更重要时,应该使用最大性能模式。这种模式还适合于WAN上的DataGuard部署,在WAN中,网络的内存延迟可能限制同步重做传输的适用性。在创建DataGuard时,默认创建的是最大性能模式,需要使用其他模式时必须再进行切换。该模式下,利用ARCn进程异步传送日志,无数据同步检查,可能丢失数据,但是能获得主库的最佳性能。

这篇关于Oracle ADG的基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/374600

相关文章

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计