数据库出现死锁的解决方法参考

news2025/1/21 1:05:36

        死锁引起的原因一般是多个用户并发访问数据库导致的问题,或是因为某个进程挂死以后资源未释放导致的。通过onstat –p可查看deadlks项大于0即表示历史总计死锁次数。对于被锁的表进行操作的时候会出现-143 ISAM error: deadlock detected的错误。当其他会话访问此表出现死锁超时,出现:-154 ISAM error: Lock Timeout Expired
  通常情况下,死锁是由于应用设计和数据访问的规划没有优化而产生的,如发生的频率不大,可以忽略。

  处理方案:
  1、收集deadlock的信息
  onstat -g ppf查找当前dlks不为0的会话,获取partnum信息

  2、通过步骤1获取的partnum收集对应tblsnum
  onstat –k查看锁的使用和等待情况,通过tblsnum对应partnum

  3、通过onstat命令获取发生deadlock的SQL
  onstat –g sql 0,从结果中查找当前所有符合sql error code的SQL信息

  4、把table的锁粒度修改为更小的级别
  如修改页级锁为行级锁:
  alter table xxx lock mode(row);
  或
  通过onconfig修改DEF_TABLE_LOCKMODE为ROW重启生效

  5、调整数据库的隔离级别

set isolation to dirty read;
set isolation to commmited read last commited;

  6、缩短锁等待时间

set lock wait to n; (n秒)
set lock wait to not wait;

  7、分析SQL应用逻辑是否合理 主要从多个并发的SQL争用,分析是否有数据进行合理的水平切割

  8、根据SQL分析执行计划是否合理

set explain on avoid_excute;
;
set explain off;

系统自动生成explain.out文件

  9、根据步骤8产生的文件进行分析
  是否未合理使用索引导致执行计划出错,进一步引发了锁资源不能及时释放

  10、若索引合理,判断是否统计信息失效

update statistics medium for table xxx;

  重新搜集统计信息


更多信息内容请移步星瑞格官方社区,期待大家加入
Sinoregal Tech ForumAsk questions, share solutions, and get to know the Sinoregal community.icon-default.png?t=N7T8https://forum.sinoregal.cn/

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

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

相关文章

FANUC机器人基本保养概述

对于工业机器人来说,定期保养机器人可以延长机器人的使用寿命。对于FANUC机器人来说,FANUC机器人的常规保养周期可以分为日常、三个月、六个月、一年、两年、三年。以下是FANUC机器人的基本保养周期概览: 在实际生产应用中,可以参…

【ROS2】节点

文章目录 ROS2 节点示例:创建并运行成功一个节点1. 创建功能包2. 编写源文件、CMakeLists.txt、package.xml3. 编译功能包4. 设置环境变量5. 运行节点6. 查看节点 参考链接 ROS2 节点 机器人的每一项功能,都被称为是一个节点。 每个节点都是一个独立的…

vm16安装最新版本的ubuntu虚拟机,并安装g++的步骤记录

背景 低版本的ubuntu安装G一直不成功,干脆安装最新版的 官网下载 bing搜索ubuntu 下载完成 vm16新建虚拟机 一直下一步,安装完成 终端输入命令 sudo apt-get update ᅟᅠ       sudo apt install gcc ᅟᅠ      sudo apt install g

proteus数模转换器DAC0832的应用

proteus proteus,即EDA工具软件。Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是比较好的仿真单片机及外围器件的工具。虽然国内推广刚起步,但已受到…

全学科知网普刊征稿中!即日提交,月内即可见刊!

在当前的学术环境下,论文发表的压力日益增大。当您需要评职称、申请学位、结项课题或完成其他有期限的学术要求时,快速发表普刊能够确保您及时满足这些需求,提升您的职业竞争力,为您的职业发展需求打下坚实基础。 我处普刊现积极…

攻防世界-web-fileclude(二)

题目 解题 题目源码 WRONG WAY! <?php include("flag.php"); highlight_file(__FILE__); if(isset($_GET["file1"]) && isset($_GET["file2"])) {$file1 $_GET["file1"];$file2 $_GET["file2"];if(!empty($…

嵌入式C语言高级教程:实现基于STM32的智能灌溉系统

⬇帮大家整理了单片机的资料 包括stm32的项目合集【源码开发文档】 点击下方蓝字即可领取&#xff0c;感谢支持&#xff01;⬇ 点击领取更多嵌入式详细资料 问题讨论&#xff0c;stm32的资料领取可以私信&#xff01; 智能灌溉系统能够根据土壤湿度和天气预报自动调整灌溉计划&…

记一些CISP-PTE题目解析

0x01 命令执行 直接payload: 127.0.0.1 & whoami&#xff0c;发现可以成功执行whoami命令 然后ls …/ &#xff0c;发现有个key.php文件 尝试用cat命令查看 发现不行被拦截了。&#xff08;其实题目过滤了常用的查看文件的命令 &#xff09; 这里有两种思路&#xff0c;第…

汽车商城系统

文章目录 汽车商城系统一、系统演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 汽车商城系统 一、系统演示 汽车商城 二、项目介绍 该汽车商城系统主要分为前台和后台两大功能模块&#xff0c;共包含两种…

7 Days yo Die 七日杀服务器开服联机教程

1、购买后登录服务器&#xff08;百度搜索莱卡云&#xff09;game.lcayun.com 进入控制面板后会出现正在安装的界面&#xff0c;安装时长约5分钟左右 安装成功后你就可以看到我们的控制台界面 复制服务器ip地址打开游戏➡加入游戏 有两种方法加入游戏 第一种方法&#xff1a;…

JWT生成RSA密钥文档

JWT生成RSA密钥文档 创建jwt文件夹 创建jwt文件夹 进入文件夹 进入jwt文件夹&#xff0c;输入cmd&#xff0c;如图 3、生成公钥私钥 keytool -genkeypair -alias pdm -keyalg RSA -keypass Gacrnd#123 -keystore pdm.jks -storepass Gacrnd#123 -alias&#xff1a;密钥的别名…

Nginx 基于域名的虚拟主机的配置实验

目录 虚拟主机解释 实验介绍 修改配置文件 一&#xff1a;创建2个虚拟主机的网页根目录 二&#xff1a;修改2个虚拟主机的首页的内容 三&#xff1a;真实机器添加域名解析记录 四&#xff1a;测试 虚拟主机解释 Nginx的虚拟主机是指一台服务器上同时托管多个网站的能力。…

2024年5月发布的SparkyLinux 8使用的是Debian 13 trixie 的更新源

2024年5月发布的SparkyLinux 8使用的是Debian 13 trixie 的更新源&#xff0c;然后我改了清华对应的更新源&#xff0c;更新成功。纯粹是测试&#xff0c;具体应以官网信息为主。

DRF 纯净版创建使用

【一】介绍 &#xff08;1&#xff09;使用原因 在Django中&#xff0c;contrib 包包含了许多内置的app和中间件&#xff0c;如auth、sessions、admin等&#xff0c;这些app在创建新的Django项目时默认是包含在内的。然而&#xff0c;在开发RESTful API时&#xff0c;可能不需…

线下线上陪玩APP小程序H5搭建设计-源码交付,支持二开!

一、电竞陪玩系统APP的概念 电竞陪玩系统APP是一种专门为电子竞技玩家提供服务的平台。通过这个平台&#xff0c;玩家可以找到专业的电竞陪玩者&#xff0c;他们可以帮助玩家提升游戏技能&#xff0c;提供游戏策略建议&#xff0c;甚至陪伴玩家一起进行游戏。这种服务不仅可以提…

阿里云部署ChatGLM-6B及ptuning微调教程

一、模型部署 1.进入阿里云人工智能平台PAI。 2.申请免费试用。 3.打开交互式建模 PAI-DSW。 4.新建实例。 5.填写配置。 6.实例准备完成后点击打开。 7.打开实例后点击Teminal。 8.在Teminal中依次输入以下命令并执行。 apt-get update apt-get install git-lfs git lfs ins…

某票星球网图标点选验证码YOLOV8识别案例

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 图标点选验证码大家都不陌生了,我们来看下数据集 引言与个人想法 先说结论,本文采用的方法能够达到99的准确率,效果图如下 做图标点选其实方法有很多,有的…

活字格中如何打开指定文件夹

如何使用活字格打开指定文件夹 活字格是一款功能强大的电子表格软件&#xff0c;除了基本的表格计算功能之外&#xff0c;还提供了丰富的扩展功能&#xff0c;可以用来实现各种自动化操作。例如&#xff0c;我们可以使用活字格来打开指定的文件夹。 以下是具体的操作步骤&…

完整性验证器:迈向 Starknet 超高可扩展性的一大步

原文&#xff1a;https://www.starknet.io/en/content/the-integrity-verifier-a-leap-toward-starknet-hyperscaling&#xff1b;https://www.starknet.io/en/ecosystem/grant 编译&#xff1a;TinTinLand 核心观点 由 Herodotus 开发的完整性验证器&#xff0c;使开发者能够…

字节跳动后端青训营笔记:Go语言进阶

1.语言进阶&依赖管理 1.1 语言进阶 从并发编程的视角了解Go高性能的本质。 1.1.1 并发&并行 在单核CPU下&#xff0c;线程实际还是串行执行的。操作系统中有一个组件叫做任务调度器&#xff0c;它将CPU的时间片(window下最小约为15毫秒)分给不同的程序使用&#xff0…