Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(1):Oracle Dataguard 概述

news2025/1/4 19:17:15

Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(1):Oracle Dataguard 概述

目录

  • Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(1):Oracle Dataguard 概述
    • 一、Oracle Dataguard 概念
    • 二、Oracle Dataguard 基本原理
    • 三、Oracle Dataguard 的特点
    • 四、Oracle Dataguard 的功能
    • 五、Oracle Dataguard 进程结构
    • 六、重做应用和 SQL 应用
        • 1、物理备用数据库:重做应用
        • 2、逻辑备用数据库:SQL 应用
        • 3、实时应用
    • 七、Oracle Dataguard 数据保护模式
        • 1、最大保护
        • 2、最高可用性
        • 3、最高性能

一、Oracle Dataguard 概念

Dataguard 是保证企业数据的高可用性(high availability,HA)、数据保护(data protection)与灾难恢复(disaster recovery)的集成化灾难恢复解决方案。

Dataguard 针对生产数据库创建一个或多个同步备份,由一个生产数据库和若干个备用数据库组成,形成一个独立的、易于管理的数据保护方案。

二、Oracle Dataguard 基本原理

1、当某次事务更改生产数据库中的数据时,Oracle 在联机重做日志文件(redo log)中记录此次更改。

2、在 Dataguard 中,除了把日志记录到本地的联机日志文件和归档日志文件中,还通过网络,把日志信息发送到远程的备用数据库服务器上。

备用日志文件写入过程可以实时同步(最大保护模式),以实现零数据丢失。也可以是异步的(最大可用性模式),以减少对网络带宽的压力。或者通过归档日志文件的批量传输模式(最大性能模式),以减少对生产系统的性能影响。

3、当备份数据库接收到日志信息时,Dataguard 可以自动利用日志信息实现数据的同步。

4、当主数据库打开并处于活动状态时,备份数据库可以执行恢复操作。如果主数据出现了故障,备用数据库即可以被激活并接管生产数据库的工作。

在这里插入图片描述

图1 Oracle Dataguard 结构

三、Oracle Dataguard 的特点

1、需要有冗余的服务器硬件。

2、需要冗余的存储设备,主机和备机都需要同样的存储空间。

3、安装配置较复杂,需要更多的配置步骤。

4、管理与维护成本高,该模式对维护人员的要求较高。

5、具备一定的容灾特性,当主机数据库不可用,可以把数据库系统切换到备机上,具备容灾的功能。

6、备机可以用作只读查询,备机可以切换到只读状态供报表之类的查询操作,减轻主机的压力。

四、Oracle Dataguard 的功能

Oracle Dataguard 包括一个生产数据库,也称为主数据库,以及一个或多个备用数据库,这些备用数据库是与主数据库在事务上一致的副本。

Dataguard 利用重做数据保持这种事务一致性。当主数据库中发生事务时,则生成重做数据并将其写入本地重做日志文件中。并且将重做数据传输到备用站点上,并应用到备用数据库中,从而使备用数据库与主数据库保持同步。

Dataguard 允许管理员选择将重做数据同步还是异步地发送到备用站点上。

备用数据库的底层技术是 Dataguard 重做应用(物理备用数据库)和 Dataguard SQL 应用(逻辑备用数据库)。

物理备用数据库在磁盘上拥有和主数据库逐块相同的数据库结构,并且使用 Oracle 介质恢复进行更新。逻辑备用数据库是一个独立数据库,它与主数据库包含相同的数据。它使用 SQL 语句进行更新。

Dataguard 简化了主数据库和选定的备用数据库之间的转换和故障切换,从而减少了由计划停机和计划外故障所导致的总停机时间。

为了获得更简便的可管理性,Dataguard 还提供了一个分布式管理框架(称为 Dataguard Broker),它不但自动化了 Dataguard 配置的创建、维护和监控,并对这些操作进行统一管理。管理员可以使用 Oracle Enterprise Manager 或 Broker 自己的专用命令行界面(DGMGRL) 来利用 Broker 的管理功能。

在这里插入图片描述

图2 Oracle Dataguard 结构组件

五、Oracle Dataguard 进程结构

Oracle Dataguard 的进程结构如图3所示:

在这里插入图片描述

图3 Oracle Dataguard 进程结构

在主数据库上,Oracle Dataguard 使用日志写入器进程(LGWR)或归档器进程(ARCH)收集事务重做数据,并将其传输到备用数据库中。使用获取存档日志进程(FAL)提供一个客户服务器机制,用于在主数据库和备用数据库之间出现通信中断之后将存档日志发送到备用数据库中,以实现自动填充间隔和重新同步。

在备用数据库上,Oracle Dataguard 使用远程文件服务器(RFS)进程从主数据库接收重做记录。使用管理恢复进程 (MRP)将重做信息应用到物理备用数据库中。使用逻辑备用进程(LSP)将经过 SQL 转换的重做信息应用到逻辑备用数据库中。

如果启用了 Dataguard Broker,Oracle Dataguard 还使用 Dataguard Broker Monitor(DMON)进程将主数据库和备用数据库作为一个统一的配置进行管理和监控。

六、重做应用和 SQL 应用

一旦创建了备用数据库,Dataguard 自动将主数据库重做数据传输给备用系统,然后将重做数据应用到备用数据库中,从而使备用数据库保持为与主数据库在事务上一致的副本。

Dataguard 提供了两种方法将这些重做数据应用到备用数据库中,并使之与主数据库在事务上保持一致。这些方法与 Data guard 支持的两种类型的备用数据库对应:

(1)重做应用,用于物理备用数据库。

(2)SQL 应用,用于逻辑备用数据库。

就从主数据库进行的数据传输而言,这两种类型的备用数据库之间没有差别。一旦重做数据到达备用服务器,这两种类型的备用数据库在将重做数据应用到备用数据库的方式上就存在差异了。

1、物理备用数据库:重做应用

通过使用 Oracle 介质恢复应用从主数据库接收到的重做数据,物理备用数据库与主数据库保持同步。它在物理上与主数据库逐块相同,因而数据库模式(包括索引)是相同的。

重做应用的工作过程:主数据库上的日志切换将触发备用数据库上的日志切换,从而使备用数据库上的归档器进程将当前的备用重做日志文件归档到备用数据库上的一个存档日志中。随后,Dataguard 重做应用使用一个专用进程(称为管理的恢复进程:MRP)读取存档日志,并将重做数据应用到物理备用数据库中。如果启用了实时应用,则 MRP 将在 RFS 进程写满当前的备用重做日志文件时直接从其中读取重做数据。

2、逻辑备用数据库:SQL 应用

尽管数据的物理组织和结构可能不同,但逻辑备用数据库包含与主数据库相同的逻辑信息。SQL 应用技术将从主数据库接收到的重做数据转换成 SQL 语句,然后在备用数据库上执行 SQL 语句,以使逻辑备用数据库与主数据库保持同步。从而,在将 SQL 应用到逻辑备用数据库上的同时,可以访问逻辑备用数据库来进行查询和报表操作。

SQL 应用的工作过程:SQL 应用使用许多并行的执行服务器和后台进程,它们将来自主数据库的更改应用到逻辑备用数据库中。读取器进程从存档日志(如果启用了实时应用,也可以是备用重做日志)中读取重做记录。准备器进程将块更改转换成表更改或逻辑更改记录(LCR)。构造器进程对来自各个 LCR 的已完成事务进行组合。分析器进程检查完成的事务,辨明不同事务之间的相关性。协调器进程(也称为逻辑备用进程,即 LSP)负责将事务分配给应用进程、监控事务之间的相关性以及批准将更改提交给逻辑备用数据库。应用器进程将已指定事务的 LCR 应用到数据库中,并在协调器指示提交事务时提交。

3、实时应用

实时应用可以在将重做数据一写到备用重做日志中时,就将重做数据应用到备用数据库中(无论采用重做应用还是 SQL 应用)。实时应用特性允许备用数据库与主数据库保持密切同步,从而启用最新和实时报表。同时,这一特性也可减少转换时间和故障切换时间,进而降低计划内和计划外业务停机时间。

要启用物理备用数据库的实时应用,应使用以下命令在物理备用数据库上启动恢复:

ALTER DATABASE RECOVER MANAGED STANDY DATABASE USING CURRENT LOGFILE;

要启用逻辑备用数据库的实时应用,应使用以下命令在逻辑备用数据库上启动应用进程:

ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

七、Oracle Dataguard 数据保护模式

Oracle Dataguard 提供三种数据保护模式(最大保护、最高可用性、最高性能)来平衡成本、可用性、性能和事务保护。在主数据库上执行下面的 SQL 语
句可用于设置三种数据保护模式:

ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {PROTECTION | AVAILABILITY | PERFORMANCE}; 

下表从数据丢失风险的角度概述了各种模式的适用性。

保护模式在出现灾难时数据丢失的风险重做传输机制
最大保护零数据丢失;双重故障保护LGWR SYNC
最高可用性零数据丢失;单故障保护LGWR SYNC
最高性能最小数据丢失 — 通常从 0 到几秒LGWR ASYNC 或 ARCH
1、最大保护

最大保护模式为主数据库提供了最高水平的数据保护,从而确保一个全面的零数据丢失的灾难恢复解决方案。当在最大保护模式下运行时,重做记录由日志写入器(LGWR)进程从主数据库同步地传输到备用数据库,并且直到确认事务数据在至少一个备用服务器上的磁盘上可用时,才在主数据库上提交事务。

这种模式必须配置至少两个备用数据库,从而提供双重故障保护。当最后参与的备用数据库不可用时,主数据库上的处理将停止。这就确保了当主数据库与其所有备用数据库失去联系时,不会丢失事务。

由于重做传输的同步特性,这种最大保护模式可能潜在地影响主数据库响应时间。可以通过配置一个低延迟网络,并为它分配足够应付高峰事务负载的带宽来将这种影响减到最小。需要这种最大保护模式的企业有股票交易所、货币交易所、金融机构等。

2、最高可用性

最高可用性模式拥有仅次于最高水平的主数据库数据可用性。如同最大保护模式一样,重做数据由 LGWR 从主数据库同步地传输到备用数据库,直到确认事务数据在备用服务器的磁盘上可用时,事务才在主数据库上完成。不过,在这种模式下,如果最后参与的备用数据库变为不可用,处理将在主数据库上继续进行。

备用数据库与主数据库相比,可能暂时落在后面,但当它再次变为可用时,备用数据库将自动同步,而不会丢失数据。
由于同步重做传输,这种保护模式可潜在地影响响应时间和吞吐量。可以通过配置一个低延迟网络,并为它分配足够应付高峰事务负载的带宽来将这种影响减到最小。

最高可用性模式适用于想要在生产站点上出现严重中断时(假定没有其他故障)确保获得零数据丢失保护,但不想让生产数据库受网络/备用服务器故障影响的企业。

3、最高性能

最高性能模式是默认的保护模式。它与最高可用性模式相比,提供了稍微少一些的主数据库数据保护,但提供了更高的性能。在这种模式下,当主数据库处理事务时,重做数据由 LGWR 进程异步传输到备用数据库上。另外,也可以将主数据库上的归档器进程(ARCH)配置为在这种模式下传输重做数据。

在任何情况下,均先完成主数据库上的写操作,主数据库的提交操作不等待备用数据库确认接收。如果任意备用目标数据库变为不可用,则处理将在主数据库上继续进行,这对性能只有很小的影响或没有影响。

不过在这种情况下,数据库告警日志将记录错误消息,并可以通过 Enterprise Manager 相应地设置告警。 在主数据库出现故障的情况下,可能有一些在主数据库上提交了的事务没有传输到备用数据库中。如果网络有足够的吞吐量来跟上重做流量高峰,则丢失的事务将非常少或者为零。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2270224.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mapbox基础,测面功能实现

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️Turf 框架二、🍀测面功能实现1. ☘️实现思路2. ☘️代码样例一、🍀…

基于下垂控制的构网变换器功率控制【微电网变流器】【Simulink】

目录 主要内容 理论研究 整体模型 PQ计算模块 功率控制模块 PWM反馈模块 结果一览 下载链接 主要内容 该仿真针对微电网中分布式电源接入后产生的谐波影响,除了污染网络外,还会恶化微电网变流器输出电流,为了消除谐波影响&a…

2025差旅平台推荐:一体化降本30%

医药行业因其高度专业化的特点,同时在运营过程中又极为依赖供应链和销售网络,因此差旅管理往往成为成本控制的重要环节。本期,我们以差旅平台分贝通签约伙伴——某知名药企为例,探讨企业如何通过差旅一体化管理,在全流…

【漫话机器学习系列】027.混淆矩阵(confusion matrix)

混淆矩阵(Confusion Matrix) 混淆矩阵是机器学习中评估分类模型性能的一种工具,特别是在多类别分类问题中。它通过对比模型预测结果和真实标签,帮助我们理解模型的分类效果。 1. 混淆矩阵的结构 混淆矩阵通常是一个二维表格&am…

【AIGC】 ChatGPT实战教程:如何高效撰写学术论文引言

💥 欢迎来到我的博客!很高兴能在这里与您相遇! 首页:GPT-千鑫 – 热爱AI、热爱Python的天选打工人,活到老学到老!!!导航 - 人工智能系列:包含 OpenAI API Key教程, 50个…

redis的学习(二)

4 哈希表 哈希类型中的映射关系通常称为field-value,⽤于区分Redis整体的键值对(key-value), 注意这⾥的value是指field对应的值,不是键(key)对应的值, 4.1 操作命令 hset&#xff…

IT运维的365天--024 闲置路由器关闭了dhcp,如何知道它的IP是啥

有时候各种原因,我们关闭了路由器的Dhcp,比如需要获取的无线IP和有线同一个网段的情况。时间久了,如果没做标记,大部分时候就会忘了路由器原来设置的是什么IP,没有路由器的对应IP,自然也无法进路由器后台去…

统信系统设置代理的问题

统信系统设置代理的问题 问题表现方式一方式二 问题表现 统信系统下有系统代理和应用代理两个代理。设置系统代理时,git不能经过代理拉取代码。但是设置应用代理时,可以用git通过代理拉代码。 这是系统代理,在这里设置 ip 端口,…

U盘提示格式化?原因、恢复方案与预防措施全解析

一、U盘提示格式化现象概述 在日常使用U盘的过程中,我们有时会遇到一个令人头疼的问题——U盘插入电脑后,系统却弹出一个提示框,告知我们U盘需要格式化才能访问。这个提示往往伴随着数据的潜在丢失风险,让我们不禁为之心焦。U盘提…

Hack The Box-Starting Point系列Responder

答案 When visiting the web service using the IP address, what is the domain that we are being redirected to?(当使用IP地址浏览网站时,我们被重定向到了哪个站点?) unika.htbWhich scripting language is being used on …

网络物理互连

案例简介 美乐公司为新创建公司,公司现需要架设网络,需要下属分公司通过路由器与外网服务器联通,请使用Packet Tracer, 按照任务要求完成实验。实验中需配置设备或端口的IP地址。 1、绘制拓扑图 2、配置ip地址 3、配置路由ip R0 …

GDB:条件断点:判断相等时使用一个等号还是两个等号

GDB&#xff1a;条件断点&#xff1a;判断相等时使用一个等号还是两个等号 这其实是一个特别简单的问题&#xff0c;网上不同的人分享的也不一样&#xff0c;有的例子用“”&#xff0c;有的例子用“”。 用最简单的helloworld来实验一下&#xff1a; #include <stdio.h&…

TypeScript 常用类型

文章目录 1. 类型注解2. 原始类型3. 数组类型4. 联合类型5. 类型别名6. 函数类型7. 对象类型8. 接口类型8.1 接口声明8.2 接口继承 9. 元组类型10. 类型断言11. 字面量类型12. 枚举类型12.1 数字枚举12.2 字符串枚举 13. any 类型14. typeof 运算符 1. 类型注解 前言&#xff1…

路由基本配置实验

路由器用于实现不同类型网络之间的互联。 路由器转发ip分组的基础是路由表。 路由表中的路由项分为直连路由项、静态路由项和动态路由项。 通过配置路由器接口的ip地址和子网掩码自动生成直连路由项。 通过手工配置创建静态路由项。 热备份路由器协议允许将由多个路由器组…

在Ubuntu 18.04.6 LTS安装OpenFace流程

修改配置:将gcc8&#xff0c;g8作为默认选项 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 100 sudo update-alternatives --config gcc sudo update-alternatives --install /usr/bin/g g /usr/bin/g-8 100 sudo update-alternatives --config g 查…

通过 4 种方式快速将音乐从 iPod 传输到 Android

概括 在 iPod 上听音乐很酷&#xff0c;但是当您拥有最新的 Android 手机时&#xff0c;也许您想在新手机上欣赏 iPod 音乐。那么&#xff0c;你的计划是什么&#xff1f;如何将音乐从 iPod 传输到 Android&#xff1f; 如果您担心这个问题&#xff0c;请看看下面的方法。他们…

Golang学习历程【第五篇 复合数据类型:数组切片】

Golang学习历程【第五篇 复合数据类型&#xff1a;数组&切片】 1. 数组&#xff08;Array&#xff09;1.1 数组的定义1.2 初始化数组1.3 数据的循环遍历1.4 多维数组 2. 切片&#xff08;Slice&#xff09;2.1 切片声明、初始化2.2 基于数组创建切片2.2 切片的长度(len)和容…

PDF预览插件

PDF预览插件 可用于当前页面弹窗形式查看,可增加一些自定义功能 pdf预览插件 代码块: pdfobject.js <div class="pdfwrap"><div class="item"><h3>笑场</h3><div class="tags"><p>李诞</p><i&…

Chrome 浏览器下载安装教程,保姆级教程

大家好&#xff0c;今天我们来聊一聊如何在国内下载和安装最新版本的 Chrome 浏览器。由于众所周知的原因&#xff0c;Google 的网站在国内是被屏蔽的&#xff0c;因此很多朋友在下载 Chrome 浏览器 时会遇到困难。其实&#xff0c;不必担心&#xff0c;今天我将为大家带来一份…

Java开发 PDF文件生成方案

业务需求背景 业务端需要能够将考试答卷内容按指定格式呈现并导出为pdf格式进行存档&#xff0c;作为紧急需求插入。导出内容存在样式复杂性&#xff0c;包括特定的字体&#xff08;中文&#xff09;、字号、颜色&#xff0c;页面得有页眉、页码&#xff0c;数据需要进行表格聚…