网站首页 > 资源文章 正文
不当人工操作造成的锁等待事件
据数据显示:医院分钟级非空闲等待(锁等待)主因集中于两大领域,本次主要分享不当的人工操作。
1、不当的人工操作:开发人员操作、建索引、报表统计、备份系统……
2、程序质量不佳(代码、结构)造成的锁等待事件80%集中于长事务长事务造成、缺失索引造成……
(一)人工不当操作造成的阻塞事件特征
- 通常表现为由运维或开发人员操作开发\运维管理工具引起
- 报表统计---产生全表/全区扫描
- 创建\重构索引---锁表
- 数据导入\导出---锁表
- 数据备份---锁表
- 更易造成长时间的应用程序卡慢、乃至应用失效事件
- 无法通过业务运行趋势进行早期预测
(二)使用全景软件发现并定位不当人工操作造成的阻塞问题
真实案例1
(1)问题发现:登录全景软件——问题溯源模块,发现2021-12-0817时左右,系统产生了持续40分钟左右的阻塞问题。
问题溯源界面说明:问题溯源界面是全景软件根据内置触发算法生成的,用于记录突发问题及溯源信息的功能模块。不同颜色的方格表示不同问题种类,横纵坐标以小时/日期的方式展示了问题发生的时间,问题方格中的数字表示问题持续的分钟数(该小时内)。
(2)阻塞关系溯源:通过点击“阻塞链图”,展示阻塞与被阻塞的逻辑关系,发现是由PID为861的进程阻塞了PID为583的进程。
(3)进程信息查看:通过进一步下钻发现,阻塞会话PID861由PlsqlDeveloper发起。这是开发人员使用的PL/SQL开发工具。相关人员在使用PL/SQL开发工具,执(begin语句是plsql工具会自动额外执行的语句)行SQL语句,其中有一条语句对z_lcfujian表上产生的锁,该锁会一直存在直到事务结束才会释放。这就造成了锁存在的时间比较长,当有其他会话去访问该表时,就产生了锁等待事件,这是造成此次应用堵塞事件的根本原因。
真实案例2
(1)问题发现:登录全景软件——问题溯源模块,发现2021-11-13 12时左右,系统产生了持续7分钟左右的阻塞问题。
(2)阻塞关系溯源:通过点击“阻塞链图”,展示阻塞与被阻塞的逻辑关系,发现是由PID为997的进程阻塞了PID为1039、900、543、380、204、88、756的进程。
(3)进程信息查看:通过进一步下钻发现,阻塞会话PID8997由Microsoft Windows Operating System发起。这是开发人员使用的SqlServer管理工具。相关人员在使用执行SQL语句,其中有一条语句对mz_patient_mi表上产生的锁,该锁会一直存在直到事务结束才会释放,这就造成了锁存在的时间比较长。当有其他会话去访问该表时,就产生了锁等待事件,这是造成此次应用堵塞事件的根本原因。
真实案例3
(1)问题发现:登录全景软件——问题溯源模块,发现2021-11-0312时左右,系统产生了持续37分钟左右的阻塞问题。
(2)阻塞关系溯源:通过点击“阻塞链图”,展示阻塞与被阻塞的逻辑关系,发现是由PID为724的进程阻塞了PID为746的进程;PID763的进程阻塞了PID为802的进程。
(3)进程信息查看:通过进一步下钻发现,阻塞会话PID724,763由Microsoft SQLServerManagement Studio发起的数据库备份任务,数据库在执行备份任务时,会对涉及到的表上锁,此时如果有涉及到相关表的业务执行时,会遇到阻塞。
问题处置建议
对于此类不当人工操作造成的阻塞问题,通常有如下建议:
(1)通知相关程序使用者,结束该事务或由数据库管理员杀掉此进程,阻塞即可解除。
(2)尽量避免在业务时间段进行备份作业,最好将此类任务放在夜间非业务时间段执行。
(3)使用行政手段,加强管理。规范开发人员在核心系统上操作行为,如无必要开发人员不应在业务高峰期进行开展影响代码逻辑的操作,尤其是慎重在生产环境执行加锁的操作。类似的行为和操作在不久前曾造成郑大一附院系统停机两小时,800万经济损失,相关信息可参见媒体或百度搜索,因此,务必重视。
下期分享
医院业务软件健康管理实战案例分享(二)
---程序质量造成的锁等待事件
猜你喜欢
- 2024-09-09 Oracle 查询命令合集:从新手到专家的指南
- 2024-09-09 数据迁移分享(数据迁移要注意什么)
- 2024-09-09 Oracle监听常见问题及解决办法(oracle19c监听)
- 2024-09-09 数据库工程师的岗位职责与任职要求有哪些?
- 2024-09-09 Oracle学习笔记(oracle入门教程)
- 2024-09-09 不用发送比特币,安华让你的数据库免受勒索
- 2024-09-09 慢性sql正在吃掉你的程序性能(sql执行存储过程语句)
- 2024-09-09 有什么办法可以查看Oracle SQL执行计划?这里告诉你五个方法!
- 2024-09-09 系统部署-(三)数据库ORACLE数据还原
- 2024-09-09 Oracle性能调优——查看执行计划(oracle 执行计划查看)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)