数据库死锁

  • 死锁的解决办法(1)
    1. 执行下面SQL,先查看哪些表被锁住了:

      select b.owner,b.object_name,a.session_id,a.locked_mode
      from v$locked_object a,dba_objects b
      where b.object_id = a.object_id;
    2. 查处引起死锁的会话

      select b.username,b.sid,b.serial#,logon_time
      from vlocked_object a,vsession b
      where a.session_id = b.sid order by b.logon_time;
      -- 这里会列出SID
    3. 查出SID和SERIAL#:

      查V$SESSION视图:

      SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID';
      -- 这一步将得到PADDR
    4. 查V$PROCESS视图:

      SELECT SPID FROM V$PROCESS WHERE ADDR='刚才查到的PADDR';
      -- 这一步得到SPID
    5. 杀死进程

      • 在数据库中,杀掉ORACLE进程:

        ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';
      • 如果在ORACLE中不能杀死进程,我们只能到操作系统中,使用操作系统命令杀死进程

        KILL -9  “刚才查出的SPID”

        在WINDOWS平台,可以是偶那个orakill。

  • 也可以根据对象模糊匹配直接查询死锁的session信息
    SELECT vl.session_id || ',' || b.serial#, ao.object_name, b.*
    FROM vlocked_object vl, all_objects ao, vsession b
    WHERE vl.object_id = ao.object_id
    AND vl.session_id = b.sid
    AND b.status = 'ACTIVE' --session状态根据需要添加
    AND ao.object_name LIKE 'object_name';
    在数据库中,杀掉进程:
    ALTER SYSTEM KILL SESSION '查出的SID, 查出的SERIAL#';
  • 死锁的解决办法(2)
    1. 查询死锁的对象:

      select username,lockwait,status,machine,program from v$session where sid in
      (select session_id from v$locked_object);
    2. 查询死锁语句:

       select sql_text from v$sql where hash_value in
      (select sql_hash_value from v$session where sid in
      (select session_id from v$locked_object)); SELECT s.lockwait,s.status,s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS
      FROM VLOCKED_OBJECT l,VSESSION S
      WHERE l.SESSION_ID=S.SID and s.STATUS='ACT\IVE';
      alter system kill session '25,16823' IMMEDIATE;
      alter system kill session ‘sid,serial#’ IMMEDIATE;

MySQL 数据库死锁的更多相关文章

  1. mysql数据库死锁的产生原因及解决办法

    这篇文章主要介绍了mysql数据库锁的产生原因及解决办法,需要的朋友可以参考下   数据库和操作系统一样,是一个多用户使用的共享资源.当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同 ...

  2. MySQL数据库死锁分析

    背景说明: 公司内部一套自建分布式交易服务平台,在POC稳定性压力测试的时候出现了数据库死锁.(InnoDB引擎)由于保密性,假设是app_test表死锁了. 现象: 发生异常:Deadlock fo ...

  3. 记一次线上MySQL数据库死锁问题

            最近线上项目报了一个MySQL死锁(DealLock)错误,虽说对业务上是没有什么影响的,由于自己对数据库锁这块了解不是很多,之前也没怎么的在线上碰到过.这次刚好遇到了,便在此记录一下 ...

  4. Mysql数据库死锁分析相关概念

    参考博客: mysql死锁问题分析(https://www.cnblogs.com/LBSer/p/5183300.html) mysql insert锁机制(http://yeshaoting.cn ...

  5. 关于在项目中遇到MySQL数据库死锁的问题

    在MySQL中, 当一个事务去更新某条数据, 还没有提交的时候, 第二个事务去更新该数据, 则会出现等待获取锁超时异常: >> Lock wait timeout exceeded; tr ...

  6. mysql数据库死锁的解决方案

    1. 查询锁表信息    show OPEN TABLES where In_use > 0;2. 查看当前数据库锁表的情况    SELECT * FROM information_schem ...

  7. Mybatis-update - 数据库死锁 - 获取数据库连接池等待

    最近学习测试mybatis,单个增删改查都没问题,最后使用mvn test的时候发现了几个问题: update失败,原因是数据库死锁 select等待,原因是connection连接池被用光了,需要等 ...

  8. MySQL 性能优化-数据库死锁监控

    MySQL性能优化-数据库死锁监控 by:授客 QQ:1033553122 1)表锁定 通过检查 table_locks_waited 和 table_locks_immediate 状态变量来分析表 ...

  9. 一个项目中mysql数据库经常死锁的问题解决记录

    1.问题描述 此项目为一个物流系统,需要使用PDA对货物进行入库.备货.出货等操作,在系统开发测试过程中,经常发现死锁问题. 有这样一种业务场景:仓库对备货单上货进行扫码备货后,点击"完成& ...

随机推荐

  1. Java开源生鲜电商平台-搜索模块的设计与架构(源码可下载)

    Java开源生鲜电商平台-搜索模块的设计与架构(源码可下载) 说明:搜索模块针对的是买家用户,在找菜品找的很费劲下的一种查询方面.目前也是快速的检索商品. 对于移动端的APP买家用户而言,要求的速度在 ...

  2. SpringCloud实战7-Config分布式配置管理

    分布式环境下的统一配置框架,已经有不少了,比如百度的disconf,阿里的diamand 官方文档对spring Cloud Config的描述如下:: Spring Cloud Config为分布式 ...

  3. json & pickle 序列化

    #!/usr/bin/python # -*- coding: utf-8 -*- # 序列化: 例如把字典写进文件 info = { 'name': 'alex', 'age': 22 } f = ...

  4. Elasticsearch笔记二之Curl工具基本操作

    Elasticsearch笔记二之Curl工具基本操作 简介: Curl工具是一种可以在命令行访问url的工具,支持get和post请求方式.-X指定http请求的方法,-d指定要传输的数据. 创建索 ...

  5. CyclicBarrier简介

    CyclicBarrier简介 CyclicBarrier和CountDownLatch不同,是当await的数量达到了设定的数量之后,才继续往下执行 CyclicBarrier数的是调用了Cycli ...

  6. BZOJ_2502_清理雪道_有源汇上下界最小流

    BZOJ_2502_清理雪道_有源汇上下界最小流 Description        滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道), ...

  7. BZOJ4554: [Tjoi2016&Heoi2016]游戏 luoguP2825 loj2057

    题面描述:尽可能多的放置符合要求的炸弹. 分析: 在i,j处放置炸弹,则在第i行,上一个硬石头之后,下一个硬石头之前,第j列,上一个硬石头之后,下一个硬石头之前,不能再次放置炸弹. 首先,这个题,一看 ...

  8. 【英国毕业原版】-《伯明翰城市大学毕业证书》BCU一模一样原件

    ☞伯明翰城市大学毕业证书[微/Q:865121257◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归 ...

  9. Windows上安装配置SSH教程(4)——WinSCP+OpenSSH 使用公钥自动登陆

    -------------------- 知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html -------------------- 重要 ...

  10. 一副美丽而庞大的SQL TUNING计划美图

    最近因为很忙,一直忙着开发公司的产品和客户的事情,杂七杂八,忙的不亦乐乎,所以,好久没有来这里写东西,这两天为客户优化了一个系统,优化前CPU持续冲顶爆满,导致系统卡死,应用系统不能正常使用,其中有个 ...