数据库管理-第217期 Oracle的高可用-02(20240704)
数据库管理217期 2024-07-04
- 数据库管理-第217期 Oracle的高可用-02(20240704)
- 1 GDS简介
- 2 GDS架构
- 2.1 全局数据服务池
- 2.2 全局数据服务域
- 2.3 全局服务管理
- 2.4 全局数据服务目录
- 2.5 Oracle通知服务
- 3 GDS简图
- 3.1 负载均衡
- 3.2 只读服务失败转移
- 3.3 多主复制
- 3.4 ADG/OGG负载均衡
- 总结
数据库管理-第217期 Oracle的高可用-02(20240704)
作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问,OceanBase观察团成员,青学会MOP技术社区(青年数据库学习互助会)技术顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭
上一期提了一嘴应用连续性,Oracle数据库其实提供了多种方案来解决应用连续性的问题,本期介绍第一个,GDS。最早接触GDS其实是在Oracle Sharding之中,GDS可以用于Sharding也可以用于解决应用连续性的问题。
1 GDS简介
数据库是整合信息技术基础设施以提高业务效率的关键部分。大多数数据库需要维护本地和远程副本,原因为:
- 业务连续性和灾难恢复
- 高可用性
- 针对本地客户端的性能优化
- 内容本地化和缓存
- 遵守当地法律
在任何一组数据库副本中,由于高负载或高网络延迟,一些数据库可能查询响应时间较慢,而能够提供较快响应时间的其他数据库可能利用不足。跨数据库副本的最佳查询性能和资源利用率需要一个工作负载管理解决方案,该解决方案可以跨副本提供客户端连接和工作负载请求的动态负载平衡。
许多企业使用自主开发的解决方案来跨数据库副本进行工作负载管理。这些解决方案无法提供关键功能,如运行时负载平衡和副本之间的可靠数据库服务故障切换,因为它们没有与Oracle软件完全集成。
Oracle数据库提供了一个强大的工作负载管理功能,称为数据库服务(Database services)。数据库服务是一个或多个数据库实例的命名表示。数据库服务允许您对数据库工作负载进行分组,确保客户端请求路由到提供服务的最佳实例,并在发生计划内或计划外实例中断时,通过透明地将客户端连接故障转移到幸存实例来提供高可用性。
Oracle Global Data Services(GDS,全局数据服务)通过被称为Global Data Services Configuration(全局数据库服务配置)实现跨副本数据库的Oracle数据库服务模型。
全局数据服务配置对于数据库客户端来说就像一个虚拟的多实例数据库。它通过全局服务提供客户端访问,全局服务在功能上类似于单实例或Oracle Real Application Clusters(Oracle RAC)数据库提供的本地数据库服务。本地和全局服务都提供负载平衡、高可用性和资源管理。全局服务和本地服务之间的本质区别在于,全局服务跨越多个数据库的实例,而本地服务跨越单个数据库的实例。
全局数据服务配置及其全局服务是使用GDSCTL命令行界面创建和管理的,该命令行界面类似于用于管理Oracle RAC数据库及其服务的SRVCTL命令行接口。
全局数据服务配置可以由托管在异构或非异构服务器平台上的多实例或单实例Oracle数据库的任意组合组成。Oracle Data Guard、Oracle GoldenGate或任何其他数据库复制技术可用于同步全局数据服务配置中的数据库。
Global Data Services是跨复制数据库进行自动工作负载管理的高效解决方案,无论是与许多广泛分布的数据库和客户端一起使用,还是与单个数据库、本地副本和少数客户端一起使用。
2 GDS架构


2.1 全局数据服务池
Global Data Services pool(全局数据服务池)是GDS配置中由一个数据库命名的自己提供的一组唯一的全局服务,同时属于同一个管理域。将GDS配置数据库划分为多个池简化了服务管理,并允许由不同的管理员管理每个池,从而提供更高的安全性。
2.2 全局数据服务域
Global Data Services region(全球数据服务域)是GDS配置中数据库和数据库客户端的命名子集,它们共享网络邻近度,使得域成员之间的网络延迟通常低于不同域成员之间。一个域通常对应于局域网或城域网(LAN或MAN)。例如,托管一个或多个GDS配置数据库的数据中心和地理位置接近该数据中心的数据库客户端可能属于同一域。
一个域可以包含多个全局数据服务池,并且这些池可以跨越多个域。
出于高可用性的目的,GDS配置中的每个域都应该具有指定的buddy region(伙伴域),该域包含Global Service Managers(全局服务管理),如果本域中的全局服务管理变得不可用,则伙伴域的全局服务管理可以提供对GDS配置的持续访问。
2.3 全局服务管理
Global Service Managers(全局服务管理)是全局数据服务的核心组件,在GDS配置中提供服务级别的负载平衡、故障切换和服务的集中管理。全局数据服务客户端使用全局服务管理来执行所有GDS配置操作。
全局服务管理器类似于Oracle RAC数据库中的远程监听,不同之处在于全局服务管理程序为多个数据库提供服务。全局服务管理执行以下操作:
- 充当域监听,客户端使用该监听连接到全局服务
- 为客户端提供连接时负载平衡
- 管理跨GDS配置域的全局服务
- 从GDS配置中的数据库收集性能指标,并监控配置域之间的网络延迟
- 创建运行时负载平衡建议并将其发布到客户端连接池
- 监控数据库实例和全局服务的可用性,并在失败时通知客户端。
全局服务管理与一个且仅与一个GDS配置相关联。GDS配置中的每个域必须至少有一个全局服务管理。建议在每个域配置多个全局服务管理,以提高可用性和性能。GDS配置中的每个全局服务管理都管理该配置支持的所有全局服务。
2.4 全局数据服务目录
Global Data Services Catalog(全局数据服务目录)是存储全局数据服务配置和该配置提供的所有全局服务的配置数据的存储库。
一个目录只与一个GDS配置相关联。目录必须位于12c或更高版本的数据库中,并且该数据库可以位于相关GDS配置的内部或外部。对于大规模GDS配置,建议将GDS目录托管在GDS配置中的数据库之外。GDS目录可以与RMAN或Oracle Enterprise Manager的目录一起托管。
Oracle强烈建议使用Oracle RAC、Oracle Data Guard和Oracle Clusterware等高可用性技术来增强全局数据服务目录所在数据库的可用性。
2.5 Oracle通知服务
GDS客户端使用Oracle Notification Service(ONS,Oracle通知服务)接收来自全局服务管理的运行时负载平衡建议和高可用性事件。
Oracle通知服务(ONS)服务器与每个全局服务管理器位于同一位置。一个域内的所有此类ONS服务器都是互连的。全局服务的客户端在其域及其伙伴域内订阅ONS服务器网络,并从这些ONS服务器网接收FAN通知。
3 GDS简图
3.1 负载均衡

3.2 只读服务失败转移


3.3 多主复制


3.4 ADG/OGG负载均衡

总结
本期简单介绍了GDS,全局数据服务,可以用于应用连续访问数据库。
老规矩,知道写了些啥。
相关文章:
数据库管理-第217期 Oracle的高可用-02(20240704)
数据库管理217期 2024-07-04 数据库管理-第217期 Oracle的高可用-02(20240704)1 GDS简介2 GDS架构2.1 全局数据服务池2.2 全局数据服务域2.3 全局服务管理2.4 全局数据服务目录2.5 Oracle通知服务 3 GDS简图3.1 负载均衡3.2 只读服务失败转移3.3 多主复制…...
搭建基础库~
前言 项目中会用到工具库、函数库以及一些跟框架绑定的组件,如果这些基础模块每个项目都实现一套,维护起来那真的头大,你说呢😉 搭建流程 准备工作 创建文件夹myLib、安装Git以及pnpm 目录大概就系这样子: myLib ├…...
深入了解Linux中的udhcpc:动态主机配置协议客户端
目录 什么是udhcpc?安装udhcpc配置网络接口使用udhcpc获取IP地址配置静态IP地址自定义udhcpc脚本高级选项udhcpc常见问题及排查方法1. 无法获取IP地址2. DNS配置不正确3. IP地址冲突4. 无法连接到默认网关5. 无法执行自定义脚本 在Linux系统中,网络配置是…...
O2OA(翱途) 开发平台之HTTP端口规划
O2OA(翱途) 开发平台[下称O2OA开发平台或者O2OA]采用相对灵活的系统架构,支持三种服务器运行的方式。本篇主要阐述合并服务运行独立服务运行代理端口运行三种服务器运行方式。 一、先决条件: 1、O2Server服务器正常运行,系统安装部署请参考文…...
以创新思维驱动下的盲盒小程序:重塑用户体验
一、引言 在数字化浪潮的推动下,小程序以其便捷、高效、无需下载安装的特性,迅速成为移动互联网的新宠。其中,盲盒小程序以其独特的玩法和惊喜感,吸引了大量用户的关注和参与。然而,随着市场竞争的加剧,如…...
设计资料:520-基于ZU15EG 适配AWR2243的雷达验证底板 高速信号处理板 AWR2243毫米波板
基于ZU15EG 适配AWR2243的雷达验证底板 一、板卡概述 本板卡系北京太速科技自主研发,基于MPSOC系列SOC XCZU15EG-FFVB1156架构,搭载两组64-bit DDR4,每组容量32Gb,最高可稳定运行在2400MT/s。另有1路10G SFP光纤接口、1路40G…...
晋级国赛!卓翼飞思技术引领,助力辽宁赛区机器人及人工智能大赛圆满收官
近日,第二十六届中国机器人及人工智能大赛—辽宁赛区选拔赛在大连海事大学圆满收官。本次大赛吸引来自辽宁工业大学、大连理工大学等知名高校的10余支队伍参与,充分展现各高校在机器人及人工智能领域的深厚实力和创新精神。其中,由卓翼飞思实…...
react ts 封装3D柱状图,支持渐变
留档,以防忘记 bar3D.tsx import React, { useEffect, useRef, useState } from react; import * as echarts from echarts; import echarts/lib/chart/bar; import echarts/lib/chart/pictorialBar; import echarts/lib/component/grid; import echarts/lib/comp…...
css---before和after伪元素
1.什么是伪元素 伪元素不是真正的页面元素,html没有对应的元素,但是其所有用法和表现行为与真正的页面元素一样,可以对其使用如页面元素一样的CSS样式,表面上看上去貌似是页面的某些元素来展现,实际上CSS样式展现的行…...
下载后端返回的图片,而不是打开图片
使用 window.location.href 和 window.open 后都是打开图片,原因是,当浏览器发现是浏览器支持的文件类型,例如 jpg、png、svg 等,默认是浏览器打开。 解决 fetch createObjectURL fetch 转换为 blob 对象 createObjectURL() 静…...
ELISA实验前,需要做好哪些准备?
进行ELISA试剂盒实验前,需要进行周密的准备工作以确保实验的顺利进行和实验的准确性。那么,具体应该做哪些准备呢?欣博盛生物为您总结了一些关键的准备工作步骤: 1. 阅读说明书 仔细阅读ELISA试剂盒的说明书,了解试剂…...
浅谈 Linux 中的 core dump 分析方法
文章目录 一、什么是 core dump二、发生 core dump 的原因1. 空指针或非法指针引起 core dump2. 数组越界或指针越界引起的 core dump3. 数据竞争导致 core dump4. 代码不规范 三、core dump 分析方法1. 启用 core dump2. 触发 core dump2-1. 因空指针解引用而崩溃2-2. 通过 SI…...
自研直播系统-直播系统实战
文章目录 1 流媒体基础本文教程下载地址1.1 流媒体1.2 流式传输方式1.2.1 顺序流式传输1.2.2 实时流式传输 1.3 流媒体传输协议1.3.1 rtmp协议1.3.2 HLS协议1.3.3 RTSP协议1.3.4 视频流的对比 1.4 视频编码(codec)1.5 分辨率的规范分辨率簡介:1.5.2 分辨率單位 1.6 …...
python数据分析入门学习笔记
目录 一、 数据分析有关的python库简介 (一)numpy (二)pandas (三)matplotlib (四)scipy (五)statsmodels (六)scikit-learn 二、 数据的导入和导出 三、 数据筛选 四、 数据描述 五、 数据处理 六、 统计分析 七、 可视化 八、 其它是编译过程中的一个阶段,它在编译器进行实际编译之前对源代码进行处理。预处理器提供了一系列的指令,用于条件编译、文件包含、宏定义等操作。以下是一些常见的预处理器指令: 宏定义ÿ…...
MySQL—创建查看删除备份恢复数据库
创建数据库 创建数据库 LLF_DB01CREATE DATABASE LLF_DB01删除数据库DROP DATABASE LLF_DB01创建一个使用utf8字符集的数据库并带校对规则的数据库CREATE DATABASE hsp_db03 CHARACTER SET utf8 COLLATE utf8_bin 查看、删除数据库 显示所有的数据库SHOW DATABASES显示数据库…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
【堆垛策略】设计方法
堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...
归并排序:分治思想的高效排序
目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰冯诺伊曼在1945年提出。其核心思想包括: 分割(Divide):将待排序数组递归地分成两个子…...
