Oracle-主备切换问题(BUG-31747989)

news2024/12/24 3:52:21

背景:

        用户在Oracle Rac 19.6版本通过switchover方式进行主备切换,在备切主完成之后,进行open的过程中,状态长时间无法完成疑似hang住。

问题:

​        Oracle Rac 19.6版本通过switchover方式进行主备切换,切换完成之后进行open,状态长时间无法完成疑似hang住,后台日志显示Sleep 160 seconds and then try to clear SRLs in 7 time(s)

问题分析:

        查看当前会话的等待情况,数据库的会话都被SID=1的会话所等待,会话(SID=1)当前为P00H并行恢复进程,等待事件为row cache lock,正在被SID=2440的会话所堵塞

        查看SID=2440的会话,当前为P00X并行恢复进程,等待事件为cursor:pin s wait on x,正在被会话SID=1所堵塞,两个会话出现相互等待的情况

        怀疑是并行恢复出现了bug,尝试将并行进程的初始化参数parallel_min_servers设置为0,然后重新open,问题还是继续出现

ALTER SYSTEM SET parallel_min_servers=0 SCOPE=BOTH;

        接下来尝试另一种方法,将SID=1的会话kill掉,因为从分析来看,该会话是主要的堵塞源头

​​alter system kill session '1,53726';

        会话查杀完成之后,数据库open完成,从alert日志看,当时并行恢复进程正在做的是undo initialization recovery

问题原因:

        事后,在Oracle的mos上查找相关的bug,发现了文章After Switch /Failover Primary Instance Open hangs Because Of SRL Cleanup (Doc ID 2710349.1)描述的BUG-31747989与当前的案例匹配,在Oracle19.2之后的版本,switchover/failover之后open主库hangs clearing SRL由未公开的BUG 31747989所引发        

        Oracle官方给出的解决方式有两个,一个是应用oneoff补丁31747989进行解决,这个补丁目前发现在较新的RU补丁版本已经被包含,从侧面也说明低版本RU补丁的潜在风险

        另一种方式是通过设置隐含参数_min_undosegs_for_parallel_fptr=0进行规避

​alter system set "_min_undosegs_for_parallel_fptr"=0 scope=both sid='*' 

        查看这个隐含的含义,我们可以推测隐含参数规避的方式通过禁用undo segment的首次并行恢复

NAME                                 DESCRIPTION
-------------------------------- ------------------------------------------- 
_min_undosegs_for_parallel_fptr    minimum undo segments for parallel first-pass recovery

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

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

相关文章

100个开源手写人工智能算法(持续更新中)

你是否曾经对开源框架中算法的运行原理感到好奇?又是否曾经想过使用自己写的算法来进行机器学习? 现在,向您推荐一款基于 Python 语言的开源手写机器学习算法项目! https://github.com/yuluxingchen/AI/ 这个项目中预计将包含了…

【10 浅学jsp】

浅学 jsp 一、jsp1. jsp介绍2. JSP执行流程3. JSP的本质还是Servlet4. JSP语法4.1 注释4.2 代码块4.3JSP表达式4.4JSP声明 5. JSP指令page 指令include 包含指令包含 其他页面taglib 引入外部标签库 6. JSP细节6.1 pageContext 页面域对象 7. Servlet四大域对象小结8. MVC模型 …

利用MFC实现一个托盘功能

文章目录 1.将主窗口隐藏起来,并移除任务栏图标显示2. 制作系统托盘3. 右键托盘得到信息4. 选择信息栏触发事件5. 添加开机自启动与关闭开机自启动OnSetPowerBoot与OnCancelPowerBoot 右键点击托盘,弹出如下的图标 1.将主窗口隐藏起来,并移除…

Qt开发技术:Q3D图表开发笔记(三):Q3DSurface三维曲面图介绍、Demo以及代码详解

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/130264470 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子网络科技博…

怎么批量把heic格式转化jpg,3招快速解决

怎么批量把heic格式转化jpg?heic是一种新型的图像文件格式,是苹果独家搞出来的一个图片格式,它小巧玲珑,而且图像质量超好,专门给iOS11系统用户用的。这种格式比老JPEG更厉害,不仅图片质量好,而…

如何减少电脑内存占用或优化内存?

内存(Memory)是计算机一个重要的组成部件,也称为内存储器或主存储器。它可以暂时存放CPU中运算的数据,以及与硬盘等外部存储器交换的数据,是CPU和硬盘之间的桥梁。若电脑内存占用过高,这会影响到电脑运行的速度,那该如…

Redis的哈希槽分区

目录 1. 一致性算法分区的缺点2. 哈希槽分区3. Redis为什么是16384个槽 1. 一致性算法分区的缺点 可以参考一致性哈希算法分区这篇文章 2. 哈希槽分区 Redis集群中内置了16384个哈希槽。redis会根据服务器节点数量大致均等的将哈希槽映射到不同的节点 当写入一条数据&#x…

Java版本的工程项目管理系统源代码之工程项目管理系统面临的挑战

​ ​工程项目管理系统是指从事工程项目管理的企业(以下简称工程项目管理企业)受业主委托,按照合同约定,代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 ​系统定义 工程项目管理企业不直接与该工程项目的总承包…

UE4/5多人游戏详解(六、多人游戏插件的菜单,创建会话设置和加入)

目录 简单的菜单 创建新的c类: 这里可能出现的报错: 菜单设置: 代码: UI创建: C类中创建按钮的指针: 子系统创建 创建会话函数: 创建会话后前往大厅: 重载函数 变量添加…

Java 线程

线程:线程是进程的组成部分,一个进程可以拥有多个线程,而一个线程必须拥有一个父进程。线程可以拥有自己的堆栈,自己的程序计数器和自己的局部变量,但不能拥有系统资源。它与父进程的其他线程共享该进程的所有资源。 …

PowerShell install Docker+docker-compoer

docker 前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 …

Linux搭建SVN服务器详细教程

前言 本文讲解 Linux 系统下如何搭建 SVN 服务器,详细说明各配置项的功能,最终实现可管控多个项目的复杂配置。 SVN 是 subversion 的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,实现最终集…

【转】使用Midjourney绘制小漫画

原帖地址:【Midjourney教程】设计麻瓜也能15分钟一篇小漫画 Midjourney能帮我画漫画,话不多说,下方成品图 Part 1 你想画什么 画漫画当然要有故事情节,你总得确定,你要画个啥?也就是专业人士说的画面分镜,当然咱们是“野狐禅”,就不扯的太细,太细我也不会… 由于只…

软考中级软件评测师备考攻略

软件评测师属于软考中级,考试虽然没有软考高级难度大,但是会比软考初级要难,所以想要通过软件评测师考试还是需要花时间去用心备考的。 一、软件评测师职业前景: 随着互联网技术的不断发展,软件评测师的市场需求也会…

【CocosCreator入门】CocosCreator组件 | Canvas(画布)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中的Canvas能够将游戏物体渲染到屏幕上。 目录 一、组件介绍 二、渲染模式 三、组件属性 四、组件使用 五、脚本示例 一、组件介绍 Canvas组件是Cocos Creator中重要的组件之一。在…

【Socket】之TCP数据报套接字

1. 介绍下API 1.1 ServerSocket API 这是创建TCP服务端Socket的API。 构造方法方法说明ServerSocket(int port)创建一个服务端流套接字Socket,并绑定到指定端口 普通方法方法说明ServerSocket.accept()开始监听指定端口(创建时绑定的端口&#xff09…

Spring学习——Nginx

Nginx概述 Nginx介绍 Nginx是一款轻量级的web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网…

Python学习之DateTime

文章目录 前言一、pandas是什么?二、使用步骤1.引入库2.使用date.today()打印日期3.Python当前日期和时间:now() today()总结 4.如何使用 Strftime()格式化日期和时间输出1. 首先,我们将看到一个简单的如何格式化年份的步骤。通过一个例子来理…

【微服务笔记18】微服务组件之Gateway实现服务限流(计数器算法、漏桶算法、令牌桶算法)

这篇文章,主要介绍微服务组件之Gateway实现服务限流(计数器算法、漏桶算法、令牌桶算法)。 目录 一、服务限流 1.1、几种限流算法 (1)计数器算法 (2)漏桶算法 (3)令…

叮咚,你的耳鼻喉专科医院营销策略快来查收

进入后疫情时代以来,人们对健康意识的不断提高,医疗行业也开始卷起来了,通过各种渠道来宣传和推广医院,吸引更多的患者。那么今天就以耳鼻喉专科医院为主,聊聊这类医院该怎么在Z时代做好营销。 医院营销可以分为线上和…