数据库管理-第216期 Oracle的高可用-01(20240703)

数据库管理216期 2024-07-03

  • 数据库管理-第216期 Oracle的高可用-01(20240703)
    • 1 MAA简介
    • 2 MAA等级
      • 2.1 BRONZE
      • 2.2 SILVER
      • 2.3 GOLD
      • 2.4 PLATINUM
    • 3 业务延续性
    • 总结

数据库管理-第216期 Oracle的高可用-01(20240703)

作者:胖头鱼的鱼缸(尹海文)
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为代表的集中式数据库是没有高可用的,至少是没有跨机房高可用的,只有分布式数据库(具体说的哪种就不知道了)才有全面的高可用。那么我们花几期来看看,Oracle数据库有哪些高可用来保障数据库的安全。

1 MAA简介

Oracle Maximum Availability Architecture,MAA,Oracle最大高可用架构。为Oracle数据库提供体系结构、配置和生命周期最佳实践,以满足您对本地部署、Oracle公共云中的Oracle数据库的高可用服务级别,loud@Customer,或由本地部署数据库和云数据库组成的混合数据库体系结构。
image.png

2 MAA等级

2.1 BRONZE

image.png
BRONZE是级别最低的MAA架构,使用Restart(即安装GI)的单实例数据库,加上有效的备份,这是实现相对简单且成本较低的Oracle数据库高可用解决方案。但是其问题是如果数据库出现故障,需要通过备份恢复数据库,则一般需要较长的时间且丢失部分数据的概率比较大。在数据库需要维护升级时,数据库会不可用。
image.png
这里需要使用Oracle企业版,并使用下面的组件:
image.png

2.2 SILVER

image.png
SILVER级别,其实就是将BRONZE级别中的单实例数据库替换为Oracle RAC集群,并针对RAC可能出现的故障切换配置应用延续性。这里就可以使用滚动升级的方式来避免升级过程中对数据库服务的影响,但是灾难恢复后同规模恢复难度要略大于BRONZE级别,且同样存在丢失部分数据的可能性。
image.png
需要使用组件如下:
image.png
RAC在集群内高可用高性能的基础上还提供了数据库的横向扩展能力。

注:支用Oracle ZDLRA(零丢失备份一体机)可实现BRONZE和SILVER级别的零数据丢失。

2.3 GOLD

image.png
image.png
image.png
image.png
image.png
GOLD级别是在SILVER级别上,添加物理备库,即(Active) Data Guard。该级别在提供跨数据中心高可用的基础上,还提供读写分离能力,灾备数据库提供查询和报表能力。使用Far Sync架构还能实现不依赖于Oracle ZDLRA的零数据丢失。使用Fasts Start Failover(FSFO)还可以实现跨集群的自动失败转移。还可以实现多数据中心,多套ADG以实现类似于两地三中心的高可用架构。
image.png
需要使用组件如下:
image.png

在我接触的生产环境中一般使用的是GOLD级别的MAA架构。

2.4 PLATINUM

image.png
PLATIUM级别则是通过Oracle GoldenGate(OGG)来实现跨数据中心的逻辑数据同步,在数据中心内依然使用RAC+ADG来实现高可用。同时得益于逻辑复制,两个数据中心的主数据库都可以提供读写操作能力,可以极大提升数据库硬件利用率、降低数据延迟、减少丢失数据的概率。在这个级别几乎可以实现RTO/RPO=0,升级操作对业务无感。
image.png
需要使用组件如下:
image.png

我个人认为这个级别需要维护的组件比较多,该架构适用于财大气粗且业务非常重要的场景。

3 业务延续性

除了数据库的高可用性以为,应用程序连接到数据库的高可用性也是非常重要的,特别是在故障转移后,数据库连接地址产生变化,应用程序需要无感知连接到正确的数据库还需要进行一番努力,这一部分放在后面几期介绍。

总结

本期简单介绍了Oracle数据库的MAA最大高可用架构。
老规矩,知道写了些啥。

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

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

相关文章

cs224n作业4

NMT结构图:(具体结构图) LSTM基础知识 nmt_model.py: 参考文章:LSTM输出结构描述 #!/usr/bin/env python3 # -*- coding: utf-8 -*-""" CS224N 2020-21: Homework 4 nmt_model.py: NMT Model Penchen…

雨量监测站:守护大地的晴雨表

雨量监测站是一种专门用于测量和记录降雨量的设施。它通常由雨量计、数据采集器、传输装置和数据处理系统组成。雨量计负责感应雨滴的接触,通过一定的机制将降雨量转化为电信号或数字信号。数据采集器则负责收集这些信号,并将其传输至数据处理系统进行分…

FastAPI+vue3+Primeflex教学20240706,渲染阶乘案例

子绝父相 相对定位是相对于自己原本的位置定位。 绝对定位,如果父元素设置了相对定位,则相对于父元素进行绝对定位,否则相对于最近的设置了相对定位的元素进行绝对定位,或者相对于根元素进行绝对定位。 定位有四个方向&#xff0…

38 IO流

目录 C语言的输入和输出流是什么CIO流stringstream的简单介绍 1. C语言的输入与输出 C语言中我们用到的最频繁的输出方式是scanf和printf,scanf:从标准输入设备(键盘)读取数据,并将值存在变量中。printf:…

高级计算机体系结构--期末教材复习

Chap2 性能评测和并行编程性能评测并行编程为什么需要三次 barrier改进方法 Chap3 互连网络交换和路由二维网格中 XY 路由 死锁、活锁及饿死死锁避免的方法:虚通道、转弯模型二维网格中最小 西向优先、北向最后和负向优先算法转弯模型:超立方体的部分自适…

安装 tesseract

安装 tesseract 1. Ubuntu-24.04 安装 tesseract2. Ubuntu-24.04 安装支持语言3. Windows 安装 tesseract4. Oracle Linux 8 安装 tesseract 1. Ubuntu-24.04 安装 tesseract sudo apt install tesseract-ocr sudo apt install libtesseract-devreference: https://tesseract-…

绝区贰--及时优化降低 LLM 成本和延迟

前言 大型语言模型 (LLM) 为各行各业带来了变革性功能,让用户能够利用尖端的自然语言处理技术处理各种应用。然而,这些强大的 AI 系统的便利性是有代价的 — 确实如此。随着 LLM 变得越来越普及,其计算成本和延迟可能会迅速增加,…

ctfshow web 36d 练手赛

不知所措.jpg 没啥用然后测试了网站可以使用php伪达到目的 ?filephp://filter/convert.base64-encode/resourcetest/../index.<?php error_reporting(0); $file$_GET[file]; $file$file.php; echo $file."<br />"; if(preg_match(/test/is,$file)){inclu…

如何处理 PostgreSQL 中由于表连接顺序不当导致的性能问题?

文章目录 一、理解表连接和连接顺序二、识别由于表连接顺序不当导致的性能问题三、影响表连接顺序的因素四、解决方案手动调整连接顺序创建合适的索引分析数据分布和优化查询逻辑 五、示例分析手动调整连接顺序创建索引优化查询逻辑 六、总结 在 PostgreSQL 中&#xff0c;表连…

论文回顾 | CVPR 2021 | How to Calibrate Your Event Camera | 基于图像重建的事件相机校准新方法

论文速览 | CVPR 2021 | How to Calibrate Your Event Camera | 基于图像重建的事件相机校准新方法 1 引言 在计算机视觉和机器人领域,相机校准一直是一个基础而又重要的问题。传统的相机校准方法主要依赖于从已知校准图案中提取角点,然后通过优化算法求解相机的内参和外参。这…

Vue表单输入绑定v-model

表单输入绑定 在前端处理表单时&#xff0c;我们常常需要将表单输入框的内容同步给Javascript中相应的变量。手动连接绑定和更改事件监听器可能会很麻&#xff0c;v-model 指令帮我们简化了这一步骤。 <template><h3>表单输入绑定</h3><hr> <inpu…

Ubuntu基本环境配置

#Jdk 安装 #--查看 已安装 的jdk软件 java -version # 安装jdk软件(如果有选择请选 y) sudo apt install openjdk-11-jdk # 自行学习 vi 或 vim 学习网址如下&#xff1a; # https://www.runoob.com/linux/linux-vim.html #-- 修改系统级 path : /etc/profile 文件 (注意要…

ElasticSearch 如何计算得分及一个不太成熟的使用

1.背景 最近在做 ES 相关东西&#xff0c;只最会在查询的时候给不同的字段设置不同的权重&#xff0c;但是得分具体怎么算的不太明白&#xff0c;花了4-5 天研究和总结了一下。这样不至于被别人问到“这个分数怎么算出来的&#xff1f;”&#xff0c;两眼一抹黑&#xff0c;不…

【vue组件库搭建05】vitePress中使用vue/antd/demo预览组件

一、vitepress使用vue及antd组件 1.安装antd之后在docs\.vitepress\theme\index.ts引入文件 // https://vitepress.dev/guide/custom-theme import { h } from vue import type { Theme } from vitepress import DefaultTheme from vitepress/theme import ./style.css impor…

Vue进阶(四十五)Jest集成指南

文章目录 一、前言二、环境检测三、集成问题汇总四、拓展阅读 一、前言 在前期博文《Vue进阶&#xff08;八十八&#xff09;Jest》中&#xff0c;讲解了Jest基本用法及应用示例。一切顺利的话&#xff0c;按照文档集成应用即可&#xff0c;但是集成过程中遇到的问题可能五花八…

基于Java的网上花店系统

目 录 1 网上花店商品销售网站概述 1.1 课题简介 1.2 设计目的 1.3 系统开发所采用的技术 1.4 系统功能模块 2 数据库设计 2.1 建立的数据库名称 2.2 所使用的表 3 网上花店商品销售网站设计与实现 1. 用户注册模块 2. 用户登录模块 3. 鲜花列表模块 4. 用户购物车…

【ARMv8/v9 GIC 系列 1.5 -- Enabling the distribution of interrupts】

请阅读【ARM GICv3/v4 实战学习 】 文章目录 Enabling the distribution of interruptsGIC Distributor 中断组分发控制CPU Interface 中断组分发控制Physical LPIs 的启用Summary Enabling the distribution of interrupts 在ARM GICv3和GICv4体系结构中&#xff0c;中断分发…

Windows上Docker的安装与初体验

Docker Desktop下载地址 国内下载地址 一、基本使用 1. 运行官方体验镜像 docker run -d -p 80:80 docker/getting-started执行成功 停止体验服务 docker stop docker/getting-started删除体验镜像 docker rmi docker/getting-started2. 修改docker镜像的存储位置 3. …

Django开发实战(1)- 认识django

1.django 使用MTV模式&#xff0c;其实与MVC本质一样&#xff1a; model&#xff1a;业务对象和关系映射&#xff08;ORM&#xff09; template&#xff1a;客户端页面展示 view&#xff1a;业务逻辑&#xff0c;根据需求调用 2.开发相关 √ python √ html&…

简单的手动实现spring中的自动装配案例

简简单单的实现一个spring中的自动装配和容器管理的小骚操作。 1&#xff0c;创建AutoSetBean.java 使用injectBeans静态方法&#xff0c;可以扫描指定包下的所有带MyInject注解的字段&#xff0c;如果在beans的Map中存在这个字段的实例化类&#xff0c;则执行装配。 import…