第一章 ADG基本知识

article/2025/9/26 18:08:28

在这里插入图片描述
Oracle Data Guard 配置可以包含一个主数据库和多达 30 个目标。
备用数据库是主数据库的事务一致副本。
当主数据库是 CDB 时,代理配置中的所有备用数据库也必须是 CDB。
备用数据库的类型如下:

物理备用数据库

提供物理上相同的主数据库副本,其磁盘上的数据库结构与主数据库逐块相同。包括索引在内的数据库模式是相同的。物理备用数据库通过重做应用与主数据库保持同步,重做应用恢复从主数据库接收到的重做数据并将重做应用到物理备用数据库。

逻辑备用数据库

包含与生产数据库相同的逻辑信息,尽管数据的物理组织和结构可以不同。逻辑备库通过 SQL Apply 与主库保持同步,它将从主库接收到的 redo 中的数据转换为 SQL 语句,然后在备库上执行 SQL 语句。

快照备用数据库

快照备用数据库是完全可更新的备用数据库。

与物理或逻辑备用数据库一样,快照备用数据库从主数据库接收和归档重做数据。与物理或逻辑备用数据库不同,快照备用数据库不应用它接收到的重做数据。在先丢弃对快照备用数据库所做的任何本地更新之后,将快照备用数据库转换回物理备用数据库之前,不会应用快照备用数据库接收到的重做数据。

快照备用数据库最适用于需要物理备用数据库的临时、可更新快照的场景。例如,您可以使用 Oracle Real Application Testing 选项捕获主数据库上的数据库负载,然后在快照备用数据库上重放它以进行测试。因为快照备用数据库接收到的重做数据在转换回物理备用之前不会应用,所以从主数据库故障中恢复所需的时间与需要应用的重做数据量成正比。

当代理配置由 CDB 组成时,所有代理操作都在根级别执行,而不是在单个可插拔数据库 (PDB) 级别执行。

要管理多租户环境,您必须具有该CDB_DBA角色。

角色更改后,代理会打开新主节点的所有活动实例。代理还打开快照备用、逻辑备用和物理备用的第一个实例的所有活动实例(如果之前的物理备用已打开以供读取)。

代理还会在它打开的所有实例上打开所有 PDB。

Oracle Data Guard 服务
Oracle Data Guard 使用重做传输服务和应用服务来管理重做数据的传输、重做数据的应用以及对数据库角色的更改。

重做运输服务

控制重做数据从生产数据库到一个或多个归档目的地的自动传输。

申请服务

重做数据直接从备用重做日志文件应用,因为它们是使用实时应用填充的。如果未配置备用重做日志文件,则重做数据必须首先在备用数据库中存档,然后才能应用。

角色转换

使用切换或故障转移操作将数据库的角色从备用数据库更改为主数据库,或从主数据库更改为备用数据库。

重做传输服务控制重做数据从生产数据库到一个或多个归档目的地的自动传输。

重做传输服务执行以下任务:

将重做数据从主系统传输到配置中的备用系统

管理解决由于网络故障导致存档重做日志文件中的任何间隙的过程

自动检测备用系统上丢失或损坏的归档重做日志文件,并自动从主数据库或另一个备用数据库检索替换归档重做日志文件。

1.2.2申请服务
应用服务自动将重做数据应用到备用数据库上,以保持与主数据库的一致性。

重做数据从主数据库传输并写入备用数据库上的备用重做日志。应用服务还允许对数据进行只读访问。

物理和物理的主要区别逻辑备用数据库是应用服务应用归档重做数据的方式:

1.2.3角色转换
使用 Oracle Data Guard,您可以使用切换或故障切换操作来更改数据库的角色。

Oracle 数据库以两种角色之一运行:主数据库或备用数据库。

切换是一种主数据库与其备用数据库之一之间的角色反转。切换确保没有数据丢失。这通常用于主系统的计划维护。在切换期间,主数据库转换为备用角色,备用数据库转换为主角色。

故障转移是指主数据库不可用。只有在主数据库发生故障时才会执行故障转移,并且故障转移会导致将备用数据库转换为主要角色。数据库管理员可以将 Oracle Data Guard 配置为确保没有数据丢失。


http://chatgpt.dhexx.cn/article/ScqtPRsQ.shtml

相关文章

完成端口使用总结

前言 本文不是全面介绍完成端口的,只是简单介绍了一下完成端口和几个常用概念。本文主要关注完成端口关闭时资源释放问题。 基础介绍 完成端口——可能是Win32下最复杂的一种I/O模型,Win32下最复杂的内核对象。它通过指定数量的线程对重叠I/O请求进行管理,以便为已经完成的…

WinSock完成端口I/O模型

关于重叠I/O,参考《WinSock重叠I/O模型》;关于完成端口的概念及内部机制,参考译文《深度探索I/O完成端口》。 完成端口对象取代了 WSAAsyncSelect 中的消息驱动和 WSAEventSelect 中的事件对象,当然完成端口模型的内部机制要比 WS…

Windows 完成端口编程

Windows 完成端口编程 本文为转载, 原文地址: http://xingzhesun.blogbus.com/logs/3925649.html Table of Contents 1 基本概念 2 OVERLAPPED数据结构 3 完成端口的内部机制 3.1 创建完成端口 3.2 完成端口线程的工作原理 3.3 线程间数据传递 3.4 线程的安全退出 1 基本…

完成端口IOCP详解

本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中……酝酿了两年之后,终于决定开始动笔了,但愿还不算晚….. 这篇文档我非常详细并且图文并茂的介绍了…

Win socket编程--IOCP完成端口模型

引言 要想编写一个高性能的服务器应用程序,必须实现一个高效的线程模型。让太少或者太多的服务器线程来处理客户的请求,都可能导致性能问题。例如,如果一个服务器创建单个线程来处理所有的请求,那么客户端可能长期等待而得不到响…

深度探索I/O完成端口

引言 要想编写一个高性能的服务器应用程序,必须实现一个高效的线程模型。让太少或者太多的服务器线程来处理客户的请求,都可能导致性能问题。例如,如果一个服务器创建单个线程来处理所有的请求,那么客户端可能长期等待而得不到响…

Windows中I/O完成端口机制详解

Windows中I/O完成端口机制详解 引言 要想编写一个高性能的服务器应用程序,必须实现一个高效的线程模型。让太少或者太多的服务器线程来处理客户的请求,都可能导致性能问题。例如,如果一个服务器创建单个线程来处理所有的请求,那么…

c++使用完成端口实现服务器的高性能并发

如何使用c,借助完成端口完成大并发服务器的搭建,是今天要讨论的问题,套路如下: 套路总结一下: 创建完成端口 依据CPU核数创建一定数量的线程 线程中不断调用GetQueuedCompletionStatus检查完成端口状态,分别给予处理 创建一个…

C#高性能大容量SOCKET并发完成端口例子(有C#客户端)完整实例源码

遥望星空 好好干,有前途! 博客园首页新随笔联系管理订阅 随笔- 1082 文章- 0 评论- 151 C#高性能大容量SOCKET并发(转) C#高性能大容量SOCKET并发(零):代码结构说明 C#高性能大容量SOCKET并发(一…

完成端口学习笔记(一):完成端口+控制台 实现文件拷贝

最近在整理手里一个项目的后台服务端归档程序,重新梳理了一下有关“完成端口”的知识,发现还是有很多模棱两可的地方,下面记录一下再次学习的点滴,该篇博文还会有后续的补充章节,不知道什么时间会再补充^_^。 IO概念 还…

Socket编程模型之完成端口模型

转载请注明来源:http://blog.csdn.net/caoshiying?viewmodecontents 一、回顾重叠IO模型 用完成例程来实现重叠I/O比用事件通知简单得多。在这个模型中,主线程只用不停的接受连接即可;辅助线程判断有没有新的客户端连接被建立,如…

完成端口(IOCP)详解[2/2](转载)

版权声明:本文为CSDN博主「PiggyXP」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/piggyxp/article/details/6922277 五 使用完成端口的基本流程 说了这么多的废话&a…

Windows io完成端口

Windows 提供一种称为I/O完成端口(I/O Completion Port)机制,能够让I/O的完成处理交由一个专门的线程池来完成,而线程池的线程数量是一个可配置的参数。这种做法将I/O请求的发起动作与完成处理分离到了不同的线程中。 I/O完成端口是内核对象。个人的感觉…

完成端口(Completion Port)详解

http://blog.csdn.net/piggyxp/article/details/6922277 手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ----- By PiggyXP(小猪) 前 言 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔&#xf…

完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三

手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ----- By PiggyXP(小猪) 前 言 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中……酝酿了两年之后&…

树同构-树哈希

树同构-树哈希 题目描述 题解 对于无根树,由于数据范围较小,可以直接以每个点为根dfs一次,维护其树哈希的值,然后用并查集维护 (若数据范围大一些,可以以树的重心跑dfs) 代码实现 #include&…

2.3 树的同构(树,c)

树的同构 树的同构输入格式:输出格式:输入样例1(对应图1):输出样例1:输入样例2(对应图2):输出样例2: 题意理解输入两棵二叉树的信息,判断是否同构(对应图1) 求解思路二叉…

03-树1 树的同构

题目 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2 现给…

『树同构的判定(树Hash)』CF718D:Andrew and Chemistry

题目描述 题解 这道题目的难点在于如何判断树的同构,这就是所谓的树的哈希。 我们假设需要求解以x为根的子树的hash值,我们可以将子树的hash值存储到vector内,排序以后用map来判断重复。这个写法十分简单。具体如下: int dfs(i…

数据结构之树的同构

目录 前言 题意理解 求解思路 二叉树表示 程序框架搭建 读数据建二叉树 二叉树同构判别 前言 本篇主要讲有关二叉树的同构判断。 题意理解 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则称这两棵树是“同构”的。 例如: 左图…