Oracle ADG相关介绍

文章目录

  • 一、ADG原理
    • 1、ADG介绍
    • 2、ADG搭建流程
  • 二、ADG相关参数
  • 三、增量修复

在这里插入图片描述

一、ADG原理

1、ADG介绍

Oracle ADG(Advanced Data Guard)是Oracle数据库的一项高可用和灾难恢复技术,它通过将数据保持在物理备库中来提供数据保护和容灾能力。

ADG是建立在Oracle Data Guard技术之上的,它使用物理备库作为数据的保护副本。当主库发生故障时,ADG可以自动地将备库切换为可读写模式,从而保证系统的连续性。并且,ADG还可以通过实时传输日志(Redo Log)来将备库与主库同步,以增加数据的可用性和一致性。

ADG的原理如下:

  1. 建立主备库:首先,需要配置一个主库和一个备库。主库是用来处理用户请求的数据库,而备库是主库的一个副本。

  2. 启动日志传输:主库会将产生的Redo Log交给Data Guard Broker,然后Data Guard Broker会将这些日志传输给备库。这样,备库就能够实时地同步主库的数据变化。

  3. 数据保护模式:备库可以处于不同的保护模式中,包括最大性能模式、最大可用性模式和最大保护模式。不同的模式可以提供不同的数据保护级别和容灾能力。

  4. 故障切换:当主库发生故障或计划维护时,ADG可以自动地将备库切换为可读写模式,从而保证系统的连续性。一旦主库恢复正常,ADG还可以自动地将备库切换回只读模式。

  5. 监测和管理:ADG通过Data Guard Broker来监测和管理主备库的状态。Data Guard Broker是一个集中管理工具,可以实时地监控主备库的同步状态、处理故障切换以及进行备库的维护和管理。

Oracle ADG是一种基于Oracle Data Guard的高可用和灾难恢复技术,它通过实时传输日志将主库和备库保持同步,并提供自动故障切换和集中管理功能,以提供数据保护和容灾能力。

2、ADG搭建流程

ADG(Advanced Data Guard)是Oracle数据库的一个功能,用于实时数据复制和灾难恢复。下面是ADG搭建的详细流程:

  1. 确认环境要求:首先,要确保主库和备库的硬件和操作系统满足Oracle ADG的最低要求。此外,还需要确认数据库版本和Patch级别一致。

  2. 确认网络连接:主库和备库之间需要建立可靠的网络连接。确保网络连接的稳定性和带宽满足数据复制的需求。可以使用私有网络或专用链路来确保数据传输的可靠性和安全性。

  3. 配置主库和备库的参数:在主库中,需要启用redo log文件归档和归档传输功能。在备库中,需要启用redo apply功能。相关参数包括LOG_ARCHIVE_CONFIG、DB_RECOVERY_FILE_DEST和FAL_SERVER等。

  4. 创建主库的备份:在主库上进行全备份,并将备份文件传输到备库。可以使用Oracle RMAN工具进行备份,然后通过网络传输备份文件到备库。

  5. 在备库上恢复数据库:在备库上使用Oracle RMAN工具,将主库的备份文件恢复到备库上。这将建立备库的初始数据。

  6. 配置数据保护模式:在主库和备库上配置数据保护模式。常用的模式包括最大性能模式(Maximum Performance)、最大可用性模式(Maximum Availability)和最大保护模式(Maximum Protection)。根据需求选择适合的模式。

  7. 启动数据传输:在主库上启动数据传输,将主库的归档日志传输到备库上。可以使用Oracle Data Guard Broker进行配置和管理。

  8. 启动备库的应用进程:在备库上启动MRP(Managed Recovery Process)进程,开始将归档日志应用到备库上。

  9. 验证复制的正确性:在主库上进行一些数据操作,确保数据可以正确地同步到备库。可以使用SQL语句和Oracle Data Guard Broker进行验证。

  10. 配置ADG增量修复:在ADG环境中,可以启用ADG增量修复功能,用于在备库上修复主库上的物理块损坏或数据丢失。

ADG搭建的流程包括准备环境、配置参数、创建备份、恢复数据库、配置数据保护模式、启动数据传输和验证复制的正确性。通过正确的配置和管理,可以建立可靠的主备关系,并提供实时数据复制和灾难恢复的能力。

二、ADG相关参数

在Oracle数据库中,有一些与Oracle ADG(Advanced Data Guard)相关的参数可以用来配置和管理ADG功能。以下是一些常用的ADG参数的详细介绍:

  1. LOG_ARCHIVE_DEST_n:这个参数用于指定归档日志的目标位置。在ADG中,通常需要将归档日志传输给备库以保持数据同步。可以通过设置LOG_ARCHIVE_DEST_n参数来指定备库的位置。其中,n表示一个整数,可以使用多个LOG_ARCHIVE_DEST_n参数指定多个备库。

  2. LOG_ARCHIVE_CONFIG:这个参数用于指定归档日志的配置。可以通过设置这个参数来指定在哪个归档目标上将日志发送给备库,以及应用归档日志的验证选项。通过配置LOG_ARCHIVE_CONFIG参数,可以灵活地控制归档日志的传输和应用。

  3. LOG_ARCHIVE_MAX_PROCESSES:这个参数用于指定归档日志传输的最大并行进程数。可以通过设置这个参数来增加归档日志传输的并行度,从而提高数据同步的速度。建议将LOG_ARCHIVE_MAX_PROCESSES设置为与实际系统的处理能力相匹配的适当值。

  4. LOG_ARCHIVE_FORMAT:这个参数用于指定归档日志的命名格式。可以通过设置这个参数来定义归档日志的文件名规则。其中,%t表示日志序列号,%s表示日志序列号的后缀,%r表示数据库的线程号。

  5. DB_UNIQUE_NAME:这个参数用于指定数据库的唯一名称。在ADG中,可以通过设置这个参数来区分不同的主备库。主库和备库必须有不同的DB_UNIQUE_NAME。这样,ADG才能正确地识别数据库的角色和状态。

  6. FAST_START_FAILOVER_TARGET:这个参数用于指定ADG故障切换的目标时间。可以通过设置这个参数来控制当主库发生故障时,ADG自动切换为备库的时间。建议将FAST_START_FAILOVER_TARGET设置为一个合理的值,以满足业务的需求。

通过合理地配置和管理这些参数,可以实现高可用和灾难恢复的目标。需要注意的是,参数的具体配置和使用可能会根据实际的环境和需求而有所不同。建议在使用这些参数时参考官方文档或咨询Oracle的支持人员。

三、增量修复

ADG(Advanced Data Guard)是Oracle数据库的一个功能,用于实时数据复制和灾难恢复。ADG增量修复是ADG的一个重要特性,用于在备库上修复主库上发生的物理块损坏或数据丢失。

ADG增量修复的原理是,在主库上发生数据损坏或丢失时,备库会自动从主库获取相应的增量日志,并应用到备库上进行修复。这样可以保证主库和备库之间的数据一致性,并且减少了数据修复的时间。

ADG增量修复的流程如下:

  1. 检测主库上的物理块损坏或数据丢失。Oracle数据库会使用校验和和数据自愈机制来检测数据的完整性。

  2. 当发现物理块损坏或数据丢失时,主库会生成一个增量日志,记录被损坏或丢失的物理块的修改操作。

  3. 备库会通过网络传输获取增量日志。Oracle数据库会使用Redo Transport Services来传输增量日志。

  4. 备库将增量日志应用到备库上,进行逐块修复。Oracle数据库会使用数据库恢复流程来应用增量日志,并将被修复的物理块恢复到与主库一致的状态。

  5. 当修复完成后,备库将与主库保持一致,并可用于故障切换或灾难恢复。

ADG增量修复的好处是可以实现实时的数据修复和恢复,减少了故障恢复的时间窗口。同时,由于是增量修复,只需要传输和应用增量日志,减少了网络带宽的使用和数据库的负载。

需要注意的是,ADG增量修复需要在ADG环境中正确配置和启用。还需要保证主库和备库之间的网络连接和传输是稳定和可靠的。此外,增量日志的传输和应用速度也会受到网络带宽和数据库负载的影响,需要根据实际情况进行调整和优化。

ADG增量修复是Oracle ADG的一个重要特性,用于实时数据修复和灾难恢复。通过自动获取增量日志,并将其应用到备库上,可以保证主库和备库之间的数据一致性,并提供故障切换和灾难恢复的能力。

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

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

相关文章

StringBuffer StringBuilder

String 为什么StringBuilder是线程不安全的?StringBuffer是线程安全的? - Jacian - 博客园 (cnblogs.com) StringBuilder 线程安全的可变字符学序列 速度快 StringBuffer 线程不安全的可变字符序列 创建StringBuilder对象 new StringBuilder&…

c++面试一

1.#include使用 在C/C中&#xff0c;#include 预处理指令用于包含头文件&#xff0c;这些头文件通常包含了函数声明、宏定义以及其他的声明和定义。#include 指令后面跟着的文件名可以使用双引号 "" 或尖括号 <> 来指定&#xff0c;它们之间有一些区别。 双引…

Qt QWiget 实现简约美观的加载动画 第三季

&#x1f603; 第三季来啦 &#x1f603; 这是最终效果: 只有三个文件,可以直接编译运行 //main.cpp #include "LoadingAnimWidget.h" #include <QApplication> #include <QVBoxLayout> #include <QGridLayout> int main(int argc, char *argv[]…

设计并实现一个并发安全的LRU(Least Recently Used,最近最少使用)缓存结构

文章目录 前言实战演示写在最后 前言 相信很多人都使用过LinkedHashMap&#xff0c;LinkedHashMap中的removeEldestEntry可以删除老旧的元素&#xff0c;我们可以以此来实现一个LRU缓存结构&#xff0c;并结合java中JUC包中的各种多线程锁机制来保证多线程安全。 以下是我遇见…

【前端素材】推荐优质后台管理系统Dashmin平台模板(附源码)

一、需求分析 后台管理系统在多个层次上提供了丰富的功能和细致的管理手段&#xff0c;帮助管理员轻松管理和控制系统的各个方面。其灵活性和可扩展性使得后台管理系统成为各种网站、应用程序和系统不可或缺的管理工具。 后台管理系统是一种具有多层次结构的软件系统&#xf…

邀请函 | 2024年数据技术嘉年华集结号已吹响,期待您参会!

龙腾四海内&#xff0c;风云际会时&#xff0c;2024年中国数据嘉年华如约而至。从起初小范围的网友聚会&#xff0c;到如今面向全国各地从业者、爱好者的年度集会&#xff0c;纵使岁月更迭&#xff0c;我们初心依旧。我们在各自最好的年华里共同见证了中国数据库行业的蓬勃发展…

Linux下的IO多路复用

文章目录 一. IO的概念和分类1. IO操作的原理&#xff1a;二. I/O多路复用使用场景和作用1. 问题&#xff1a; 一台网络服务器需要接收100台客户端的连接和数据通信&#xff0c;应该如何设计和实现&#xff1f;2. I/O多路复用机制&#xff1a; 三. Select poll epollselectpoll…

【前端素材】推荐优质后台管理系统Modernize平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理和控制网站、应用程序或系统后台操作的软件工具&#xff0c;通常由授权用户&#xff08;如管理员、编辑人员等&#xff09;使用。它提供了一种用户友好的方式来管理网站或应用程序的内容、用户、数据等方面的操作&#xff0c;并且通常…

光学3D表面轮廓仪微纳米三维形貌一键测量

光学3D表面轮廓仪(白光干涉仪)利用白光干涉原理&#xff0c;以0.1nm分辨率精准捕捉物体的表面细节&#xff0c;实现三维显微成像测量&#xff0c;被广泛应用于材料学领域的研究和应用。 了解工作原理与技术 材料学领域中的光学3D表面轮廓仪&#xff0c;也被称为白光干涉仪&am…

SpringBoot -【SmartInitializingSingleton】基础使用及应用场景

SmartInitializingSingleton 在继续深入探讨 SmartInitializingSingleton接口之前&#xff0c;让我们先了解一下 Spring Framework 的基本概念和背景。Spring Framework 是一个开源的 JavaEE&#xff08;Java Enterprise Edition&#xff09;全栈&#xff08;full-stack&#x…

力扣 724. 寻找数组的中心下标

思路&#xff1a; 创建两个变量sum和sum1&#xff0c;sum代表左边元素的和&#xff0c;sum1代表右边元素的和 然后假设从数组下标0开始&#xff0c;一直到最后一个作为中心下标 如果sumsum1&#xff0c;返回此时的中心下标 如果所有下标循环完了&#xff0c;发现没有return…

Apipost 数据模型功能API数据重复利用起来

在Apipost数据模型中用户可以预先创建多个数据模型&#xff0c;并在API设计过程中重复利用这些模型来构建API 创建数据模型 在左侧导航点击「数据模型」-「新建数据模型」在右侧工作台配置数据模型参数 引入数据模型 在API设计预定义响应期望下点击引用数据模型&#xff0c;…

操作系统——处理机调度

文章目录 进程调度0.概念1.调度分类高级调度低级调度中级调度七状态模型调度对比 2.进程调度进程调度的时机进程调度的方式进程的切换方式调度器/调度程序闲逛进程 3. 调度算法的评价指标CPU利用率系统吞吐量周转时间等待时间响应时间 4. 调度算法先来先服务(FCFS)短作业优先(S…

【软件测试】--功能测试1

一、测试介绍 什么是软件&#xff1f; 控制计算机硬件工作的工具。 什么是软件测试&#xff1f; 使用技术手段验证软件是否满足需求 软件测试的目的&#xff1f; 减少软件缺陷&#xff0c;保证软件质量。 测试主流技能 1、功能测试 2、自动化测试 3、接口测试 4、性能测试 ​…

MySQL-事务,properties文件解析,连接池

1.事务机制管理 1.1 Transaction事务机制管理 默认情况下是执行一条sql语句就保存一次&#xff0c;那么比如我们需要三条数据同时成功或同时失败就需要开启事务机制了。开启事务机制后执行过程中发生问题就会回滚到操作之前&#xff0c;相当于没有执行操作。 1.2 事务的特征 事…

【初始RabbitMQ】延迟队列的实现

延迟队列概念 延迟队列中的元素是希望在指定时间到了之后或之前取出和处理消息&#xff0c;并且队列内部是有序的。简单来说&#xff0c;延时队列就是用来存放需要在指定时间被处理的元素的队列 延迟队列使用场景 延迟队列经常使用的场景有以下几点&#xff1a; 订单在十分…

Anaconda下安装torch-geometric

主要流程参考&#xff1a;https://blog.csdn.net/weixin_45671036/article/details/130617637 https://blog.csdn.net/weixin_43756314/article/details/130225038?ops_request_misc&request_id&biz_id102&utm_term%E5%80%9F%E5%8A%A9anaconda%20%E5%AE%89%E8%A3%…

配置vscode,使其可以运行C++11特性的代码(如vector)

配置vscode&#xff0c;使其可以运行C11特性的代码 封面引用自配置教程的B站视频&#xff0c;非常详细的视频&#xff0c;感谢视频作者的贡献。 文章目录 配置vscode&#xff0c;使其可以运行C11特性的代码Step 1: 基础配置Step 2: 调整Code Runner的配置Step 3: 更改tasks.jso…

一文7个步骤教你搭建测试web测试项目实战环境

​今天小编&#xff0c;给大家总结下web 测试实战的相关内容&#xff0c;一起来学习下吧&#xff01; web项目实战可按顺序依次为&#xff1a;【搭建测试环境】、【需求评审】、【编写测试计划】、【分析测试点.编写测试用例】、【用例评审】、【执行用例提bug】、【测试报告】…

undo日志详解

一、undo日志介绍 上一节详细的说了redo日志&#xff0c;redo日志的功能就是把增删改操作都记录着&#xff0c;如果断电导致内存中的脏页丢失&#xff0c;可以根据磁盘中的redo日志文件进行恢复。redo日志被设计出来是为了保证数据库的持久性&#xff0c;undo日志设计出来是为…