当前位置: 首页 > news >正文

ORACLE RAC ADG备库报错ORA-04021: timeout occurred while waiting to lock object

问题:核心的灾备 RAC ADG 备库,这两天频繁重启,并且报如下错误,通过查看MOS,发现是个BUG

ADG备库的ALERT错误日志如下:
Errors in file /u01/app/oracle/diag/rdbms/hxxxsz/hxxxsz1/trace/hxxxsz1_lgwr_69711.trc:
ORA-04021: timeout occurred while waiting to lock object
Mon Dec 16 16:26:15 2024
ORA-01555 caused by SQL statement below (SQL ID: 87gaftwrm2h68, Query Duration=899 sec, SCN: 0x05cf.7a01a7dc):
select o.owner#,o.name,o.namespace,o.remoteowner,o.linkname,o.subname from obj$ o where o.obj#=:1
LGWR (ospid: 69711): terminating the instance due to error 4021
Mon Dec 16 16:26:15 2024
System state dump requested by (instance=1, osid=69711 (LGWR)), summary=[abnormal instance termination].
System State dumped to trace file /u01/app/oracle/diag/rdbms/hxxxsz/hxxxsz1/trace/hxxxsz1_diag_69557_20241216162615.trc
Mon Dec 16 16:26:15 2024
ORA-1092 : opitsk aborting process
Mon Dec 16 16:26:16 2024
License high water mark = 1321
Instance terminated by LGWR, pid = 69711
USER (ospid: 42412): terminating the instance
Instance terminated by USER, pid = 42412
Mon Dec 16 16:26:23 2024
Starting ORACLE instance (normal)
************************ Large Pages Information *******************
Per process system memlock (soft) limit = UNLIMITED


解决方案:

1. 查看隐藏参数:
SELECT ksppinm, ksppstvl, ksppdesc FROM   x$ksppi x, x$ksppcv y WHERE   x.indx = y.indx AND  ksppinm ='_adg_parselock_timeout';

KSPPINM
--------------------------------------------------------------------------------
KSPPSTVL
--------------------------------------------------------------------------------
KSPPDESC
--------------------------------------------------------------------------------
_adg_parselock_timeout
0
timeout for parselock get on ADG in centiseconds

2. 执行以下语句:
alter system set "_adg_parselock_timeout"=500 scope=both sid='*';

参考MOS内容如下:

ORA-04021: timeout occurred while waiting to lock object : DR Instance terminated by LGWR (Doc ID 2183882.1)

Applies to:
Oracle Database - Enterprise Edition - Version 11.2.0.3 and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Information in this document applies to any platform.


Symptoms

DR database crashed with below errors..

Client address: (ADDRESS=(PROTOCOL=<protocol>)(HOST=<hostname>)(PORT=<port>))
WARNING: inbound connection timed out (ORA-3136)
Wed Jul 13 13:43:24 2016
Errors in file /<path>/diag/rdbms/<db_name>/<oracle_sid>/trace/<oracle_sid>_lgwr_<pid>.trc:
ORA-04021: timeout occurred while waiting to lock object
LGWR (ospid: 31312): terminating the instance due to error 4021
Wed Jul 13 13:43:24 2016
System state dump requested by (instance=1, osid=31312 (LGWR)), summary=[abnormal instance termination].
System State dumped to trace file /<path>/diag/rdbms/<db_name>/<oracle_sid>/trace/<oracle_sid>_diag_<pid>.trc
Wed Jul 13 13:43:25 2016
License high water mark = 318
Instance terminated by LGWR, pid = 31312
USER (ospid: 20898): terminating the instance
Instance terminated by USER, pid = 20898
Wed Jul 13 13:43:39 2016
Starting ORACLE instance (normal)

Cause

Bug 16717701 - ADG SHOULD GET THE INSTANCE PARSE LOCK WITH A TIMEOUT  ------> Superseded By Bug fix Bug 17018214

Bug 11712267 - ACTIVE DATA GUARD DATABASE HUNG ON 'LIBRARY CACHE: MUTEX X' WAIT EVENT

LGWR trace file (RXEPRR1_lgwr_31312.trc)

*** 2016-07-13 13:43:24.498
*** SESSION ID:(6709.1) 2016-07-13 13:43:24.498
*** CLIENT ID:() 2016-07-13 13:43:24.498
*** SERVICE NAME:(SYS$BACKGROUND) 2016-07-13 13:43:24.498
*** MODULE NAME:() 2016-07-13 13:43:24.498
*** ACTION NAME:() 2016-07-13 13:43:24.498

error 4021 detected in background process
ORA-04021: timeout occurred while waiting to lock object
kjzduptcctx: Notifying DIAG for crash event
----- Abridged Call Stack Trace -----
ksedsts()+1296<-kjzdicrshnfy()+364<-ksuitm()+1688<-ksbrdp()+4296<-opirip()+1680<-opidrv()+748<-sou2o()+88<-opimai_real()+276<-ssthrdmain()+316<-main()+316<-_start()+380
----- End of Abridged Call Stack Trace -----

Solution

Issue matches with bug 11712267 and bug 16717701

Since two bugs are matching with the case,

You can try with option (1) . As per Bug 11712267

change the cursor_sharing to force on Active dataguard (ADG).

Monitor your environment for sometime.

If it crashes again then follow with the option (2)
Option (2):

As per bug description

LGWR can request DBINSTANCE lock in X mode without any timeout which can lead to a hang / deadlock.

Both fixes are already included in 11.2.0.4 but the fix is DISABLED by default.
== > To ENABLE the fix one has to set == > "_adg_parselock_timeout" > to the number of centi-seconds == > LGWR should wait before backing off and retrying the request.

Value should be in centi seconds. == > I Don't think there is really any hard fast rule for a value - at default (0) it will not timeout.
A value representing a few seconds seems reasonable - if LGWR has been stuck for say 5 seconds waiting it seems reasonable guess it is not going to get the lock.

The param just causes it to abort the current attempt and retry If you want to play safe can start with a higher value then decrease later.
A higher value will just mean more sessions blocked for longer in case of the deadlock situation.
500 Seems reasonable , but I have no data to base it on.

There should be a statistic "ADG parselock X get attempts" If it gets set too small that value would likely increase a lot due to keep timing out and retrying.

This is a dynamic parameter

Follow option (1) .

change the cursor_sharing to force on ADG


If issue re-appears then follow option (2) as below

Please set "_adg_parselock_timeout" to 500 == >

SQL > alter system set "_adg_parselock_timeout"=500 scope=both sid='*';

相关文章:

ORACLE RAC ADG备库报错ORA-04021: timeout occurred while waiting to lock object

问题&#xff1a;核心的灾备 RAC ADG 备库&#xff0c;这两天频繁重启&#xff0c;并且报如下错误&#xff0c;通过查看MOS&#xff0c;发现是个BUG ADG备库的ALERT错误日志如下&#xff1a; Errors in file /u01/app/oracle/diag/rdbms/hxxxsz/hxxxsz1/trace/hxxxsz1_lgwr_69…...

CAPL如何设置或修改CANoe TCP/IP协议栈的底层配置

在CANoe中创建网络节点作为以太网主机时,可以给其配置独立的TCP/IP Stack。 配置的协议栈有一些底层配置参数可以在界面上设置或修改,比如: MTU上图中MTU显示500只是图形界面显示错误,正确值是1500。 TCP延迟确认这些参数也可以通过CAPL动态配置,甚至CAPL还可以配置很多界…...

git使用教程(超详细)-透彻理解git

一.核心基础 核心概念有六个 首先请把与svn有关的一切概念暂时从你的脑海中移除掉&#xff0c;我们要重新认识本文所讲述的所有概念。 1.worktree worktree是一个目录&#xff0c;你在这里对文件进行增加、删除、修改。也就是我们常说的工作区。在git中worktree必须要与一个…...

【2024 Dec 超实时】编辑安装llama.cpp并运行llama

首先讲一下环境 这是2024 年12月&#xff0c;llama.cpp 的编译需要cmake 呜呜呜 网上教程都是make 跑的。反正我现在装的时候make已经不再适用了&#xff0c;因为工具的版本&#xff0c;捣鼓了很久。 ubuntu 18 conda env内置安装。 以下是可以完美编译llama.cpp的测试工具版…...

Docker介绍、安装、namespace、cgroup、镜像-Dya 01

0. 容器简介 从生活上来说&#xff0c;容器是一种工具&#xff0c;可以装东西的工具&#xff0c;如衣柜、背包、行李箱等等。 从IT技术方面来说&#xff0c;容器是一种全新的虚拟化技术&#xff0c;它提高了硬件资源利用率&#xff0c;结合k8s还可以让企业业务快速横向扩容、业…...

docker 搭建自动唤醒UpSnap工具

1、拉取阿里UpSnap镜像 docker pull crpi-k5k93ldwfc7o75ip.cn-hangzhou.personal.cr.aliyuncs.com/upsnap/upsnap:4 2、创建docker-compose.yml文件&#xff0c;进行配置&#xff1a; version: "3" services:upsnap:container_name: upsnapimage: crpi-k5k93ldwf…...

3D一览通在线协同设计,助力汽车钣金件设计与制造数字化升级

汽车行业已迎来智能化的汹涌浪潮&#xff0c;在此背景下&#xff0c;零部件制造商唯有积极应对&#xff0c;以智能制造为核心驱动力&#xff0c;方能跟上行业发展步调&#xff0c;在激烈的市场竞争中抢占先机。作为整车制造不可或缺的核心组件之一&#xff0c;汽车钣金件亦需紧…...

基于Matlab实现三维地球模型(源码)

利用MATLAB强大的图形处理能力和数学计算功能构建的可视化应用。这个模型允许用户在三维空间中观察地球&#xff0c;并且能够动态地旋转地球模型&#xff0c;同时还可以模拟卫星在其周围的运动轨迹&#xff0c;为学习地球科学、天文学以及航天工程等领域提供了一个直观的教学工…...

【Tomcat】第五站:Servlet容器

Tomcat启动后&#xff0c;获取到项目当中所有的servlet的WebServlet中的配置信息。将配置信息和类对象都写入一个map集合当中。 map就是一个key-value类型的集合。 在MyTomcat中我们获取到了类对象和注解值。 Tomcat与请求连通 1. ServletConfigMapping 1. 创建一个config包…...

CTF 攻防世界 Web: FlatScience write-up

题目名称-FlatScience 网址 index 目录中没有发现提示信息&#xff0c;链接会跳转到论文。 目前没有发现有用信息&#xff0c;尝试目录扫描。 目录扫描 注意到存在 robots.txt 和 login.php。 访问 robots.txt 这里表明还存在 admin.php admin.php 分析 在这里尝试一些 sql…...

【SpringBoot中MySQL生成唯一ID的常见方法】

SpringBoot中MySQL生成唯一ID的常见方法 在Spring Boot中&#xff0c;为MySQL生成唯一ID有多种方式&#xff0c;每种方式都有其特定的概念、优越点和使用场景。以下是详细的说明和代码示例&#xff1a; UUID 概念: UUID&#xff08;Universally Unique Identifier&#xff0…...

使用Flink CDC实现 Oracle数据库数据同步的oracle配置操作

使用Flink CDC实现 Oracle数据库数据同步的oracle配置操作&#xff0c;包括开启日志归档和用户授权。 flink官方参考资料&#xff1a; https://nightlies.apache.org/flink/flink-cdc-docs-master/zh/docs/connectors/flink-sources/oracle-cdc/ 操作步骤&#xff1a; 1.启用…...

c++作业7

模拟一个游戏场景 有一个英雄&#xff1a;初始所有属性为1 atk,def,apd,hp 游戏当中有以下3种武器 长剑Sword&#xff1a; 装备该武器获得 1atx&#xff0c;1def 短剑Blade&#xff1a; 装备该武器获得 1atk&#xff0c;1spd 斧头Axe&#xff1a; 装备该…...

vue 上传组件 vxe-upload 实现拖拽调整顺序

vue 上传组件 vxe-upload 实现拖拽调整顺序&#xff0c;通过设置 drag-sort 参数就可以启用拖拽排序功能 官网&#xff1a;https://vxeui.com/ 图片拖拽排序 <template><div><vxe-upload v-model"imgList" mode"image" multiple drag-sor…...

Windows 环境实战开源项目GFPGAN 教程

GFPGAN GFPGAN&#xff08;Generative Facial Prior-GAN&#xff09;是由腾讯ARC&#xff08;Applied Research Center&#xff09;开发的一种实用的真实世界人脸修复算法。它专门设计用于人脸图像的生成和优化&#xff0c;尤其在低质量人脸图像的超分辨率恢复方面表现出色。以…...

UE5 做简单的风景观光视频

A、思路 新建摄像机&#xff0c;关卡序列&#xff0c; 镜头试拍录制器&#xff0c;新建镜头轨道&#xff0c;拖入摄像机&#xff0c; 变换&#xff0c;设置多个关键帧&#xff0c;改变摄像机在场景中的位置&#xff0c; 完成后&#xff0c;导出即可。 B、参考图...

k8s服务搭建与实战案例

Kubernetes&#xff08;K8s&#xff09;作为一个开源的容器编排平台&#xff0c;广泛应用于现代的云原生应用架构中。以下是一些常见的 **Kubernetes 实战案例**&#xff0c;包括从基础部署到高级应用场景的使用。通过这些案例&#xff0c;可以更好地理解 K8s 的运作原理和最佳…...

JavaScript学习难点

一、语法的灵活性 动态类型&#xff1a; JavaScript 是一种动态类型语言&#xff0c;这意味着变量的类型可以在运行时改变。这与静态类型语言&#xff08;如 Java、C&#xff09;形成鲜明对比&#xff0c;在静态类型语言中&#xff0c;变量的类型在编译时就已经确定。 例如&am…...

Qt WORD/PDF(一)使用 QtPdfium库实现 PDF 预览

文章目录 一、简介二、下载 QtPdfium三、加载 QtPdfium 动态库四、Demo 使用 关于QT Widget 其它文章请点击这里: QT Widget 姊妹篇: Qt WORD/PDF&#xff08;一&#xff09;使用 QtPdfium库实现 PDF 操作 Qt WORD/PDF&#xff08;二&#xff09;使用 QtPdfium库实现…...

解决创建laravel项目,使用国外镜像超时,国内镜像缺包的问题

解决创建laravel项目&#xff0c;使用国外镜像超时&#xff0c;国内镜像缺包的问题 一、前言二、切换镜像三、创建最新版本四、创建指定版本 一、前言 最近想下载 laravel 框架看看&#xff0c;但也遇到了些麻烦&#xff0c;这里做个记录。 二、切换镜像 先查看镜像源&#…...

数字孪生技术的测试方法论:虚拟与现实的同步

对于软件测试从业者而言&#xff0c;数字孪生技术的崛起正引发一场深刻的范式革命。测试的对象已从传统的、边界清晰的软件系统&#xff0c;演变为一个由物理实体、动态数字模型、实时数据流以及控制闭环构成的复杂异构系统。这一转变将测试工作的核心&#xff0c;从验证“功能…...

Excel数据合并工具软件:一键汇总无压力

办公经常收到多份表格需要合并&#xff0c; Excel合并常踩坑。 单元格合表没用。 表头丢了更闹心。 为啥用它&#xff1f; 之前工具处理合并单元格失效、表头无法保留。 这款刚好补上短板。 核心功能 Excel数据合并工具。 省心好用。 核心就一事&#xff1a; 多Excel…...

Wan2.2-I2V-A14B一文详解:适配CUDA 12.4与550.90.07驱动的稳定部署方案

Wan2.2-I2V-A14B一文详解&#xff1a;适配CUDA 12.4与550.90.07驱动的稳定部署方案 1. 镜像概述与核心价值 Wan2.2-I2V-A14B是一款专为文生视频任务优化的私有部署镜像&#xff0c;针对RTX 4090D 24GB显存显卡和CUDA 12.4环境进行了深度适配。这个镜像的最大特点是开箱即用&a…...

FireRedASR Pro效果展示:长难句识别准确,抗噪能力惊艳

FireRedASR Pro效果展示&#xff1a;长难句识别准确&#xff0c;抗噪能力惊艳 1. 语音识别新标杆 在嘈杂的会议室里&#xff0c;一段夹杂着咳嗽声和键盘敲击的录音正在播放。令人惊讶的是&#xff0c;FireRedASR Pro几乎一字不差地将这段对话转换成了文字&#xff0c;连专业术…...

3个时间序列数据增强策略让模型突破性能瓶颈:实战指南

3个时间序列数据增强策略让模型突破性能瓶颈&#xff1a;实战指南 【免费下载链接】Time-Series-Library A Library for Advanced Deep Time Series Models for General Time Series Analysis. 项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library 在…...

Go OAuth2授权码流程:实现Web应用用户认证的终极指南

Go OAuth2授权码流程&#xff1a;实现Web应用用户认证的终极指南 【免费下载链接】oauth2 Go OAuth2 项目地址: https://gitcode.com/gh_mirrors/oa/oauth2 Go OAuth2授权码流程是现代Web应用用户认证的完整解决方案&#xff0c;为开发者提供了安全、标准化的身份验证机…...

4个维度解析多网盘协同工具:提升云资源管理效率 | 网盘直链下载助手

4个维度解析多网盘协同工具&#xff1a;提升云资源管理效率 | 网盘直链下载助手 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移…...

VisualCppRedist AIO:一站式解决Windows运行库问题的终极方案

VisualCppRedist AIO&#xff1a;一站式解决Windows运行库问题的终极方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 问题场景&#xff1a;运行库缺失如何让…...

终极指南:如何深度调试AMD Ryzen处理器实现性能最大化

终极指南&#xff1a;如何深度调试AMD Ryzen处理器实现性能最大化 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…...

如何高效使用MRiLab数值磁共振成像仿真平台:面向开发者的创新应用指南

如何高效使用MRiLab数值磁共振成像仿真平台&#xff1a;面向开发者的创新应用指南 【免费下载链接】MRiLab A Numerical Magnetic Resonance Imaging (MRI) Simulation Platform 项目地址: https://gitcode.com/gh_mirrors/mr/MRiLab MRiLab是一款专业的数值磁共振成像仿…...