数据库管理-第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显示数据库…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
