数据库管理-第220期 Oracle的高可用-03(20240715)

news2024/9/21 16:32:18

数据库管理220期 2024-07-15

  • 数据库管理-第220期 Oracle的高可用-03(20240715)
    • 1 AC/TAC
    • 2 配置Service
    • 3 用户权限
    • 4 端口开放
    • 总结

数据库管理-第220期 Oracle的高可用-03(20240715)

作者:胖头鱼的鱼缸(尹海文)
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高可用系列主要想写的,前面通过MAA架构介绍了Oracle的各种基于物理复制或逻辑复制的高可用架构,而在系列第二期中介绍了GDS。虽然对业务是透明的,但是GDS运行在数据库架构之外如果出现异常影响较大,同时GDS本身需要一定的学习和维护成本。

1 AC/TAC

AC,Application Continuity,可译作业务连续性,是Oracle 12c引入的的一项功能,是Oracle Real Application Clusters (RAC)、Oracle RAC One Node 和 Oracle Active Data Guard 选件的一个特性。仅需进行极少的配置变更,无需修改业务应用代码即可实现在计划内维护和计划外事件发生事务中断后,通过恢复正在进行的数据库会话,对最终用户和应用程序屏蔽数据库级别的中断,提高了依赖Oracle数据库的应用程序的容错能力。这样,在应用看来中断只是一次稍有延迟的执行。通过AC,在补丁滚动升级、参数变更重启甚至是数据出现崩溃时,应用程序也不受影响。
TAC,Transparent Application Continuity,透明应用连续性,是TAF(Transparent Application Failover,透明应用程序故障转移,可以重放/继续查询)的延续。会透明地跟踪和记录会话和事务状态,以便在出现可恢复的中断之后恢复数据库会话。在TAF仅支持SELECT的基础上,扩展支持INSERT、UPDATE、DELETE操作。在不需要修改应用程序代码的情况下,允许为您的应用程序启用透明的应用程序连续性。应用程序透明性和故障转移是通过使用状态跟踪信息来实现的,这些信息在应用程序发出用户调用时被捕获。能够为数据库的日常维护提供方便,有效消除应用服务的停机时间顾虑能够有效应对数据库实例的机器、网卡、系统等突发异常事件;甚至能够让应用端透明地实现数据中心灾备冗余架构下的主备中心切换。

2 配置Service

下面是AC和TAC的在Service配置上的区别:
image.png
这里以TAC为例按照下面的RAC集群参考进行Service配置:
image.png

srvctl add service -db dbaas -pdb PDB1 -service tac_srv -preferred dbaas1,dbaas2 -available dbaas3,dbaas4 -failover_restore AUTO -failoverretry 30 -failoverdelay 10 -commit_outcome TRUE -failovertype AUTO -replay_init_time 1800 -retention 86400 -notification TRUE -drain_timeout 300 -stopoption IMMEDIATE

srvctl start service -db dbaas -service tac_srv

Service配置完成后pdb1对应的服务tac_srv会在dbaas1和dbaas2上运行,当dbaas1或dbaas2出现异常时,会根据节点负载情况从dbaas3或dbaas4启动对应服务,以满足配置的节点数量要求,避免出现性能问题。

3 用户权限

有些数据库函数在每次调用的时候都会返回新的值,这些函数称为可变函数,包括sysdate、systimestamp、local_timestamp、current_timestamp、sys_guid、sequence.nextval。
如果一个未完成的事务是由PL/SQL语句块组成,并且语句块中用到了可变函数,那么当 TAC在可用实例上尝试重放这个事务时,可变函数的返回值是变化了的,那么这个重放就会被拒绝。为 了在重放时能够使用原来的返回值,需要在数据库端对可变函数或对象赋KEEP权限:

GRANT KEEP DATE TIME TO [db user];
GRANT KEEP SYSGUID To [db_user];
ALTER SEQUENCE [sequence_name] KEEP;
--如果sequence还被其他数据库用户使用 ,  需要给这些用户赋与KEEP权限
GRANT KEEP SEQUENCE ON [db_user.sequence_name]TO [other_user];

4 端口开放

由于在srvctl创建服务时,添加了-notification TRUE参数,开启了FAN通知功能,在开通防火墙策略的时候,除了开放一般Oracle Net Listener标准监听(默认为1521/tcp)对应的端口以外,还需要开启Oracle Notification Services (ONS)服务(默认为6200/tcp)的端口。以确保应用程序能正确、及时的接受到来自于FAN (Fast Application Notification)的关于集群情况(如节点维护、故障、负载等)事件的通知。

总结

本期讲解了在RAC集群上配置TAC的操作及相关事项,下一期将讲解应用侧配置相关内容。
老规矩,知道写了些啥。

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

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

相关文章

量化发展历史简述,QMT/PTrade+恒生UFT、LDP极速柜台适用哪些情形?

量化发展简述 1.2004年萌发阶段:策略局限在量化择时,量化选股等; 光大保德信量化核 心基金 上投摩根阿尔法基 金 金融危机,海归引入。 2.2010量化元年:中低频交易为主,主要依靠套利、对冲、多因子策略等…

****react的antdesign 下拉组件ProFormSelect编辑首次不回显问题

1、使用valueEnum无法自动回显 2、要使用options会自动回显

AutoMQ 社区双周精选第十二期(2024.06.29~2024.07.12)

本期概要 欢迎来到 AutoMQ 第十一期双周精选!在过去两周里,主干动态方面,AutoMQ 跟进了 Apache Kafka 3.4.x BUG 修复,并进行了CPU & GC 性能优化,另外,AutoBalancing 的 Reporter 和 Retriever 也将支…

风险评估:IIS的安全配置,IIS安全基线检查加固

「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。 这一章节我们需…

51单片机5(GPIO简介)

一、序言:不论学习什么单片机,最简单的外设莫过于I口的高低电平的操作,接下来,我们将给大家介绍一下如何在创建好的工程模板上面,通过控制51单片机的GPIO来使我们的开发板上的LED来点亮。 二、51单片机GPIO介绍&#…

实验二:图像灰度修正

目录 一、实验目的 二、实验原理 三、实验内容 四、源程序和结果 源程序(python): 结果: 五、结果分析 一、实验目的 掌握常用的图像灰度级修正方法,包括图象的线性和非线性灰度点运算和直方图均衡化法,加深对灰度直方图的理解。掌握对比度增强、直方图增强的原理,…

C++相关概念和易错语法(21)(虚函数、协变、析构函数的重写)

多态的核心是虚函数&#xff0c;本文从虚函数出发&#xff0c;根据原理慢慢推进得到结论&#xff0c;进而理解多态 1.虚函数 先看一下下面的代码&#xff0c;想想什么导致了这个结果 #include <iostream> using namespace std;class A { public:virtual void test(){co…

书生实战营-LLM实战笔记

训练营非常好&#xff0c;有个github上的tutorial Tutorial/docs/L0/Linux/readme.md at camp3 InternLM/Tutorial GitHub 第1关卡 linux 的基础知识 https://github.com/InternLM/Tutorial/blob/camp3/docs/L0/Linux/readme.md#linuxinternstudio-%E5%85%B3%E5%8D%A1 非…

AIGC笔记--基于Stable Diffusion实现图片的inpainting

1--完整代码 SD_Inpainting 2--简单代码 import PIL import torch import numpy as np from PIL import Image from tqdm import tqdm import torchvision from diffusers import AutoencoderKL, UNet2DConditionModel, DDIMScheduler from transformers import CLIPTextMod…

【全面介绍Pip换源】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

产品经理-产品经理会在项目中遇到的几个问题(16)

项目中遇到了需求变更怎么办&#xff1f; 首先要弄清楚需求变更的原因是什么。如果是因为在迭代的过程中更好地理解了用户需求 进而产生了更好的需求则完全是正常的。如果是因为老板的需求 那就需要和老板沟通清楚&#xff0c;并且确保自己能理解老板的需求&#xff0c;而且这个…

【数据结构】高效解决连通性问题的并查集详解及Python实现

文章目录 1. 并查集&#xff1a;一种高效的数据结构2. 并查集的基本操作与优化2.1 初始化2.2 查找操作与路径压缩2.3 合并操作与按秩合并 3. 并查集的应用3.1 判断连通性3.2 计算连通分量 4. 并查集的实际案例4.1 图的连通性问题4.2 网络连接问题 5. 并查集的优缺点5.1 优点5.2…

哪些网站是获取独立站外链的最佳选择?

想要为独立站获取外链&#xff0c;有几个地方可以考虑&#xff0c;首先自然是最有效的博客和文章投稿网站&#xff0c;找那些与你的行业相关的博客和内容平台&#xff0c;撰写高质量的文章&#xff0c;里面自然地嵌入你的链接。这是最有价值的外链 然后不分其他&#xff0c;效…

ESP32-S3多模态交互方案在线AI语音设备应用,启明云端乐鑫代理商

随着物联网&#xff08;IoT&#xff09;和人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;嵌入式设备正逐渐变得智能化&#xff0c;让我们的家庭生活变得更加智能化和个性化。 随着大型语言模型的不断进步和优化&#xff0c;AI语音机器人设备能够实现更加智能、…

超越 Transformer开启高效开放语言模型的新篇章

在人工智能快速发展的今天&#xff0c;对于高效且性能卓越的语言模型的追求&#xff0c;促使谷歌DeepMind团队开发出了RecurrentGemma这一突破性模型。这款新型模型在论文《RecurrentGemma&#xff1a;超越Transformers的高效开放语言模型》中得到了详细介绍&#xff0c;它通过…

软件工程课设——成绩管理系统

软件工程课设——成绩管理系统 该文档是软件工程课程设计&#xff0c;成绩管理子系统的开发模块仓库。 功能分析 从面向的用户分&#xff0c;成绩管理子系统主要面向三类用户&#xff0c;即至少需要满足这三类用户的需求&#xff1a; 学生&#xff1a;学生是成绩管理系统的…

实现keepalive+Haproxyde 的高可用

需要准备五台实验机 一台客户机&#xff1a;test1 两台&#xff1a;一主一备的实验机&#xff1a;test2 test3 两台真实服务器&#xff1a;nginx1 nginx2 实验 首先在两台实验机上安装Haproxy 安装依赖环境&#xff0c;并将Haproxy的包进行解压处理 yum install -y pcre…

什么ISP?什么是IAP?

做单片机开发的工程师经常会听到两个词&#xff1a;ISP和IAP&#xff0c;但新手往往对这两个概念不是很清楚&#xff0c;今天就来和大家聊聊什么是ISP&#xff0c;什么是IAP&#xff1f; 一、ISP ISP的全称是&#xff1a;In System Programming&#xff0c;即在系统编程&…

vscode常用组件

1.vue-helper 启用后点击右下角注册&#xff0c;可以通过vue组件点击到源码里面 2.【Auto Close Tag】和【Auto Rename Tag】 3.setting---Auto Reveal Exclude vscode跳转node_modules下文件&#xff0c;没有切换定位到左侧菜单目录> 打开VSCode的setting配置&#xff…

Redis的使用(四)常见使用场景-缓存使用技巧

1.绪论 redis本质上就是一个缓存框架&#xff0c;所以我们需要研究如何使用redis来缓存数据&#xff0c;并且如何解决缓存中的常见问题&#xff0c;缓存穿透&#xff0c;缓存击穿&#xff0c;缓存雪崩&#xff0c;以及如何来解决缓存一致性问题。 2.缓存的优缺点 2.1 缓存的…