故障诊断:备库LGWR常见的library cache lock案例分析

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我们的文章会在微信公众号Oracle规复实录和博客网站( www.htz.pw )同步更新 ,接待关注收藏,也接待大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。
随着Oracle ADG(Active Data Guard)技术的不停成熟,越来越多的企业客户选择将只读类业务迁徙到容灾环境(即ADG只读库)中运行。这样做不但可以减轻主库的压力,还能更好地利用备库资源,提高整体系统的可用性和容错本领。然而,固然ADG只读库和生产主库的数据是一致的,但由于两者在架构和实现机制上存在一些差别,导致很多客户在实际使用只读库时会遇到各种异常问题,影响了业务体验。
本文将团结实际案例,普通易懂地介绍在使用ADG只读库时常见的一些“坑”,并分析背后的原因,帮助大家更好地理解和规避这些问题。
1,现象描述

本案例来至于于朋友分享,数据库版本为19c,故障现象为备库每天早上8点40左右,备库的LGWR都会被阻塞。从而其他应用因为请求不到instance lock后被LGWR阻塞,LGWR此时出现library cache lock等待事故。客户第二天重现的时候收集了systemstate dump,下面内容根据systemstate dump举行分析。
2,分析过程

[code]LGWR PROCESS STATE OBJECTROCESS 14: LGWR  ----------------------------------------  SO: 0x3d21de9858, type: 2, owner: (nil), flag: INIT/-/-/0x00 if: 0x3 c: 0x3   proc=0x3d21de9858, name=process, file=ksu.h LINE:12721, pg=0  (process) Oracle pid:14, ser:2, calls cur/top: 0x3ec22fda30/0x3ec22fda30            flags : (0x6) SYSTEM            flags2: (0x0),  flags3: (0x10)             intr error: 0, call error: 0, sess error: 0, txn error 0            intr queue: empty    ksudlp FALSE at location: 0  (post info) last post received: 0 0 26              last post received-location: ksa2.h LINE:285 ID:ksasnd              last process to post me: 0x3da1e98788 1 0              last post sent: 0 0 259              last post sent-location: kgl.h LINE:8873 ID:kgllkdl: post after freeing latch              last process posted by me: 0x3da1eb2980 171 0    (latch info) wait_event=0 bits=0x0    Process Group: DEFAULT, pseudo proc: 0x3d21ec8180    O/S info: user: oracle, term: UNKNOWN, ospid: 172824     OSD pid info: Unix process pid: 172824, image: oracle@FMS11DG (LGWR)    Short stack dump: ksedsts()+465
继续阅读请点击广告
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-6-19 21:06 , Processed in 0.097852 second(s), 30 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表