ORA-00060: Deadlock detected 分析

今天,在做OGG巡检时,发现存在一个死锁,于是进行查明。
alert日志:

< Mon Sep 21 15:42:58 CST 2015
< ORA-00060: Deadlock detected. More info in file /home/oracle/oracle/admin/pg51101/udump/pg51101_ora_13480.trc.
< Mon Sep 21 15:43:00 CST 2015
< ORA-00060: Deadlock detected. More info in file /home/oracle/oracle/admin/pg51101/udump/pg51101_ora_26564.trc.
< Mon Sep 21 15:48:38 CST 2015
< Thread 1 advanced to log sequence 492286 (LGWR switch)
<   Current log# 6 seq# 492286 mem# 0:

trace文件:
*** 2015-09-21 15:43:00.424
*** ACTION NAME:(SQL  - ) 2015-09-21 15:43:00.424
*** MODULE NAME:(PL/SQL Developer) 2015-09-21 15:43:00.424
*** SERVICE NAME:(SYS$USERS) 2015-09-21 15:43:00.424
*** SESSION ID:(110.64573) 2015-09-21 15:43:00.424
DEADLOCK DETECTED ( ORA-00060 )
[Transaction Deadlock]
The following deadlock is not an ORACLE error. It is a
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock:
 这部分内容告诉我们发生的具体时间,SESSION ID:(1405.59555)这个会话抛出的错误,是同时告诉我们这个错误不是ORACLE错误,是应用程序SQL设计问题引起的,需要交由开发人员处理。
--------------------------------------------------------------------------------------------------

Deadlock graph:
                       ---------Blocker(s)--------  ---------Waiter(s)---------
Resource Name          process session holds waits  process session holds waits
TX-000b0006-00010d15        46     110     X             32     135           X
TX-00070023-0000954f        32     135     X             46     110           X
session 110: DID 0001-002E-00000059     session 135: DID 0001-0020-00000005
session 135: DID 0001-0020-00000005     session 110: DID 0001-002E-00000059

其中Resource Name 中TX说明死锁属于TX类型,常见的还有TM类型的锁,后面有时间再分析,最后一个X表示独占模式
    session 110这个会话以独占模式占有资源"DID 0001-017C-002C6A2B "现在又需要独占资源" DID 0001-0020-00000005 "但是却被session 135会话以独占的模式占有,与此同时对于session 135这个会话来讲,他现在也想独占session 110占用的资源"TX-000b0006-00010d15",
    
    死锁不是ORACLE错误,是应用程序设计存在问题导致死锁的发生 
--------------------------------------------------------------------------------------------------


Rows waited on:
Session 135: obj - rowid = 00018894 - AAAYiUAAiAACmlPAAL
  (dictionary objn - 100500, file - 34, block - 682319, slot - 11)
Session 110: obj - rowid = 00018894 - AAAYiUAAiAACf2UAAQ
  (dictionary objn - 100500, file - 34, block - 654740, slot - 16)
Information on the OTHER waiting sessions:
Session 135:
  sid: 135 ser: 47063 audsid: 8202090 user: 59/MPAC
    flags: (0x100041) USR/- flags_idl: (0x1) BSY/-/-/-/-/-
    flags2: (0x8)
  pid: 32 O/S info: user: oracle, term: UNKNOWN, ospid: 13480
    image: oracle@SGMDS (TNS V1-V3)
  O/S info: user: oracle, term: , ospid: 13476, machine: SGMDS
            program: replicat@SGMDS (TNS V1-V3)
  application name: OGG-REPMOM-OPEN_DATA_SOURCE, hash value=2774042825
  Current SQL Statement:
  UPDATE "MPAC"."D_METER" SET "STATUS_CODE" = :a1,"SYNC_TIME" = :a2,"SYNC_TYPE" = :a3,"SYNC_ORG_NO" = :a4 WHERE "METER_ID" = :b0
End of information on OTHER waiting sessions.
Current SQL statement for this session:
UPDATE D_METER D SET (D.WH_ID, D.STATUS_CODE) = (SELECT DM.WH_ID, DM.STATUS_CODE FROM D_METER@PRMOCS DM WHERE DM.METER_ID = D.METER_ID) WHERE D.METER_ID = :B1 


上面时导致死锁的两个update语句

----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x55bc5d3c8         6  anonymous block
===================================================
PROCESS STATE
-------------
Process global information:
     process: 0x55710c5c0, call: 0x541370650, xact: 0x54a73a3d0, curses: 0x55f1518a8, usrses: 0x55f1518a8
  ----------------------------------------
  SO: 0x55710c5c0, type: 2, owner: (nil), flag: INIT/-/-/0x00
  (process) Oracle pid=46, calls cur/top: 0x541370650/0x541318368, flag: (0) -
            int error: 0, call error: 0, sess error: 0, txn error 0
  (post info) last post received: 110 0 4
              last post received-location: kslpsr
              last process to post me: 55513a0e0 1 6
              last post sent: 0 0 24
              last post sent-location: ksasnd
              last process posted by me: 55513a0e0 1 6
    (latch info) wait_event=0 bits=0
    Process Group: DEFAULT, pseudo proc: 0x555144050
    O/S info: user: oracle, term: UNKNOWN, ospid: 26564 
    OSD pid info: Unix process pid: 26564, image: oracle@SGMDS
    (FOB) flags=2 fib=0x5461e1968 incno=0 pending i/o cnt=0
     fname=/ogg/mpac_d02.dbf
     fno=34 lblksz=8192 fsiz=2560000
    (FOB) flags=2 fib=0x5461dc7b8 incno=0 pending i/o cnt=0
     fname=/ogg/mpac_d.dbf
     fno=12 lblksz=8192 fsiz=4194302
    (FOB) flags=2 fib=0x5461e20c8 incno=0 pending i/o cnt=0
     fname=/ogg/undotabs2.dbf
     fno=36 lblksz=8192 fsiz=4194302
    (FOB) flags=2 fib=0x5461e5878 incno=0 pending i/o cnt=0
     fname=/ogg/mpac_d03.dbf
     fno=51 lblksz=8192 fsiz=2621440
    (FOB) flags=2 fib=0x5461e5fd8 incno=0 pending i/o cnt=0
     fname=/ogg/ts_index_9.dbf
     fno=53 lblksz=8192 fsiz=262144
    (FOB) flags=2 fib=0x5461d9ee0 incno=0 pending i/o cnt=0
     fname=/home/oracle/oradata/pg51101/system01.dbf
     fno=1 lblksz=8192 fsiz=67840
    (FOB) flags=2 fib=0x5461e45f0 incno=0 pending i/o cnt=0
     fname=/ogg/mpac03.dbf
     fno=46 lblksz=8192 fsiz=2560000
    (FOB) flags=2 fib=0x5461e15a0 incno=0 pending i/o cnt=0
     fname=/ogg/mpac02.dbf
     fno=33 lblksz=8192 fsiz=2560000
    (FOB) flags=2 fib=0x5461db8e0 incno=0 pending i/o cnt=0
     fname=/ogg/mpac.dbf
     fno=8 lblksz=8192 fsiz=4194302
    (FOB) flags=2 fib=0x5461e5c28 incno=0 pending i/o cnt=0
     fname=/ogg/mpac05.dbf
     fno=52 lblksz=8192 fsiz=2621440
    (FOB) flags=2 fib=0x5461e54c8 incno=0 pending i/o cnt=0
     fname=/ogg/mpac04.dbf
     fno=50 lblksz=8192 fsiz=2621440
    ----------------------------------------
    SO: 0x55f1518a8, type: 4, owner: 0x55710c5c0, flag: INIT/-/-/0x00
    (session) sid: 110 trans: 0x54a73a3d0, creator: 0x55710c5c0, flag: (100041) USR/- BSY/-/-/-/-/-
              DID: 0001-002E-00000059, short-term DID: 0000-0000-00000000
              txn branch: 0x54cfe4d18
              oct: 6, prv: 0, sql: 0x55abb1f30, psql: 0x55abb1f30, user: 59/MPAC
    service name: SYS$USERS
    O/S info: user: admin, term: LEN-NA19975982, ospid: 2640:5032, machine: WORKGROUP\LEN-NA19975982
              program: plsqldev.exe
    application name: PL/SQL Developer, hash value=1190136663
    action name: SQL  - , hash value=2127054360
    last wait for 'enq: TX - row lock contention' wait_time=2.930371 sec, seconds since wait started=5
                name|mode=54580006, usn<<16 | slot=70023, sequence=954f
                blocking sess=0x0x55712d9e0 seq=2486
    Dumping Session Wait History
     for 'enq: TX - row lock contention' count=1 wait_time=2.930371 sec
                name|mode=54580006, usn<<16 | slot=70023, sequence=954f
     for 'SQL*Net message from dblink' count=1 wait_time=0.000151 sec
                driver id=28444553, #bytes=1, =0
     for 'SQL*Net message to dblink' count=1 wait_time=0.000001 sec
                driver id=28444553, #bytes=1, =0
     for 'SQL*Net message from dblink' count=1 wait_time=0.006292 sec
                driver id=28444553, #bytes=1, =0
     for 'SQL*Net message to dblink' count=1 wait_time=0.000001 sec
                driver id=28444553, #bytes=1, =0
     for 'db file sequential read' count=1 wait_time=0.000019 sec
                file#=33, block#=21dbe8, blocks=1
     for 'SQL*Net message from dblink' count=1 wait_time=0.000196 sec
                driver id=28444553, #bytes=1, =0
     for 'SQL*Net message to dblink' count=1 wait_time=0.000000 sec
                driver id=28444553, #bytes=1, =0
     for 'SQL*Net message from dblink' count=1 wait_time=0.000240 sec
                driver id=28444553, #bytes=1, =0
     for 'SQL*Net message to dblink' count=1 wait_time=0.000001 sec
                driver id=28444553, #bytes=1, =0
    Sampled Session History of session 110 serial 64573
    ---------------------------------------------------
产生死锁原因:
1.业务逻辑设计不合理,高并发下产生死锁
2.外键列没有索引,对外键列更新时产生死锁
3.SQL执行效率低下导致死锁
4.一条update语句导致死锁,绝大部分原因是因为更新表的列有位图索引


死锁是数据库经常发生的问题,数据库一般不会无缘无故产生死锁,死锁通常都是由于我们应用程序的设计本身造成的。
会话1:
-- 创建一个测试表,插入两行
18:03:48 SCOTT>create table tab_dl (id int,name varchar2(30));
Table created.
18:05:50 SCOTT>insert into tab_dl values (1,'DeadLock 1');
1 row created.
18:05:56 SCOTT>insert into tab_dl values (2,'DeadLock 2');
1 row created.
18:06:04 SCOTT>commit;
Commit complete.
-- 分别在不同的会话对这两行进行更新
18:06:06 SCOTT>update tab_dl set name='DeadLock 3' where id=1;
1 row updated.
会话2:
18:07:14 SCOTT>update tab_dl set name='DeadLock 4' where id=2;
1 row updated.
会话1:
18:07:37 SCOTT>update tab_dl set name='DeadLock 5' where id=2;   --此会话在等待,在会话2更新id=1时检测到死锁,自动终止其中一个会话
update tab_dl set name='DeadLock 5' where id=2
       *
ERROR at line 1:
ORA-00060: deadlock detected while waiting for resource
会话2:
18:08:00 SCOTT>update tab_dl set name='DeadLock 6' where id=1;   --此会话一直在等等


-- 以上实验结果得出结论:两个会话同时互相阻塞对方的事务修改时,会产生死锁。
产生死锁时,如何解决呢,下面是常规的解决办法:


会话1:
1)执行下面SQL,先查看哪些表被锁住了:
18:09:22 SCOTT>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;
OWNER                          OBJECT_NAME          SESSION_ID LOCKED_MODE
------------------------------ -------------------- ---------- -----------
SCOTT                          TAB_DL                      144           3
SCOTT                          TAB_DL                       21           3
2)查看引起死锁的会话
18:09:24 SCOTT>select b.username,b.sid,b.serial#,logon_time 
18:09:40   2  from v$locked_object a,v$session b
18:09:40   3  where a.session_id = b.sid order by b.logon_time;
USERNAME                              SID    SERIAL# LOGON_TIME
------------------------------ ---------- ---------- ------------
SCOTT                                  21         53 27-SEP-13
SCOTT                                 144        369 27-SEP-13
3)查看被阻塞的会话
18:11:09 SCOTT>select * from dba_waiters;
WAITING_SESSION HOLDING_SESSION LOCK_TYPE                  MODE_HELD  MODE_REQUESTED    LOCK_ID1   LOCK_ID2
--------------- --------------- -------------------------- ---------- --------------- ---------- ----------
            144              21 Transaction                Exclusive  Exclusive           655372       1186
4)可以提交或回滚阻塞的话,释放锁或者杀掉ORACLE进程: 
ALTER SYSTEM KILL SESSION 'SID,SERIAL#';    --对应上例中的21,53


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30430420/viewspace-1806005/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30430420/viewspace-1806005/

揭秘个人开发者接支付宝的‘野路子’:不用企业资质,用Python模拟扫码转账与回调监听 本文探讨了个人开发者如何通过Python模拟支付宝扫码转账与回调监听的技术实现,解析了支付宝URL协议格式,并设计了本地化的支付状态监听方案。文章强调该方法仅用于技术研究,实际应用需遵守支付宝官方接口和金融合规要求。 阅读详情

相关推荐

基于深度残差U-Net与多尺度注意力机制的医学图像分割系统

本文提出了一种创新的医学图像分割系统,通过融合残差连接、通道注意力机制和空间金字塔池化技术,构建了高性能的UResnet分割网络。系统采用编码器-解码器架构,创新性地引入多层次特征增强模块,显著提升了医学图像中复杂组织结构的分割精度。实验结果表明,该方案在多个医学图像数据集上均取得了优异性能,边界分割精度提升15%,训练收敛速度提升30%,同时减少20%计算量。系统为临床诊断提供了可靠的技术支持,未来可扩展至3D医学图像分割和联邦学习等方向。

Henry的博客 814

解决oracle死锁,生产问题,ORA-00060: deadlock detected while waiting for resource,

去生产的log日志查看,发现同一时间点左右,还有一个批量更新同一条数据的慢sql 日志。这个慢sql 的更新和这个死锁的sql 更新互斥了。例如:A线程更新的主键是1,2,3 B线程更新的主键是3,2,1 当批量更新时就可能会死锁,但是排序后,A线程更新的主键是1,2,3 B线程更新的主键是1,2,3 这是就不会产生死锁,测试过。但是通过分析发票,这些方案都是会影响程序的性能,导致性能变慢,还有对代码的修改比较大,有很大的不确定性和风险。在执行批量更新前,先对主键序列号进行排序,然后在进行批量更新。

weixin_43171875的博客 1万+

OpenWRT软件源更换保姆级教程:从国内镜像到官方源一键切换(含常见报错解决)

本文提供OpenWRT软件源更换的详细教程,涵盖从国内镜像源到官方源的切换方法,并深度解析常见报错解决方案。针对国内网络环境,指导用户如何精准定位系统信息、备份配置、选择并配置清华等国内镜像源,以及处理签名验证失败、依赖缺失、404错误等典型问题,旨在提升软件包管理效率与稳定性。

weixin_29229261的博客 1940

【死锁】ORA-00060: deadlock detected while waiting for resource

死锁存在的两个必要条件,一个是多任务工作的并发,另一个是共享资源的独占性需求。只要一个系统(广义系统)中存在这两个前提,我们就认为可能出现死锁的情况。 死锁描述的是一种状...

couyifu7209的博客 9891

AR-HMM模型 自回归隐马尔可夫模型

AR-HMM模型 自回归隐马尔可夫模型 数据处理过程 输入的视频数据首先需要被裁剪以适合动物的大小,在这之后考虑到模型建立的目的为行为状态的分类,于是需要消除可能一帧里带有多个动作状态的行为成分,这个过程也就是对帧。对帧之后我们的为了适应模型训练还需要对每一帧的数据进行小波分解(类似傅里叶变换的信号重构),此时数据预处理阶段完成。 信号重构后的数据拥有的特征维度过多,因此需要应用主成分分析法(PCA)来选出对于分类结果贡献度最高的前十个分类特征。至此自回归隐马尔可夫模型的准备工作就完成了。 AR-HMM自

weixin_46263718的博客 2284

关于Selenium3在MicrosoftEdge浏览器中出现的问题

前言 最近在做web自动化测试,所用环境是java+selenium3.141.59+MicrosoftEdge(Chromium)浏览器。 在调试的过程中,出现了很多问题。比如selenium3在Edge浏览器中远程调用中,不支持addArguments方法等 问题 1.Edge浏览器弹窗问题 在测试过程中,会出现弹出窗提示 ...

zhucheng1994的博客 2197

【oracel死锁】ORA-00060: deadlock detected while waiting for resource

ORA-00060: deadlock detected while waiting for resource

littleyuyuyu的博客 3562

蒙特卡洛+概率潮流!基于蒙特卡洛和新能源出力模拟的概率潮流分布程序代码!

最后,导出光照强度、风速、网损和节点电压的概率分布图,并计算了各节点电压和网损的平均值和方差,展示了接入前后的节点电压对比图。在不确定性增加的电力系统中,概率潮流成为含随机因素规划问题的求解前提,可以更加真实地反映电力系统的全面信息。此外,概率潮流还可用于研究风电和光伏发电出力以及电动汽车消耗功率和向电力系统反向供电功率的不确定性对电力系统的影响,发现系统运行中的潜在风险,为系统运行控制提供参考。概率潮流的目的是揭示电网中随机变量对系统的影响,发现电网中的薄弱环节,为规划和调度部门的决策提供有价值的信息。

weixin_48747334的博客 1920

ORA-00060 deadlock(转帖)

死锁的几种情况:一.ORA-00060 deadlock detECted while wAIting for rESource. Cause: Your session and another session are wai...

csqm87956的博客 2285

eCognition易康操作教程(二):多尺度分割基于多光谱数据构建规则集,结合DSM高程数据提取建筑物、树木和绿地

一、数据 数据来源:教程中的实验数据,共包含RGB三个波段,还有数字地表模型(以下简称DSM)文件。 图一 RGB影像 数据特征:数据范围较小,要素种类少,仅包含较多的建筑和大片的绿地。由于建筑的房顶使用的材料和材料颜色不同,所以建筑的光谱特征没有规律,是不连续的特征。而绿地的光谱特征则十分容易分辨。 但是建筑通常具有规则的形状,而且建筑相比于周围其他要素...

蒹葭苍苍 8303

25 - GRACE Mascon数据缺失月份数据插值

本篇基于文章的相关内容和文章公开的奇异谱分析(SSA)插值算法程序包,对grace Mascon数据种缺失的月份进行 插值 ,总结了使用程序包的相关过程,可以将该程序应用到其他数据处理插值计算中。

weixin_43339605的博客 1843

模拟ORA-00060: deadlock detected while waiting for resource

SESSION1: SQL> create table t2 as select * from emp; SQL> update t2 set sal=sal+200 where empno=7369; 1 row updated. SESSION2: SQL> update t2 set sal=sal+200 where empno=7900; 1 row updated. 此时,session1 和 session2 更新是不同的行,update都正常执行成功,..

vi_vi 的博客 3633

0.嵌入式控制器EC实战 Embedded Controller开发概述

文章目录前言1.嵌入式控制器EC概述2.EC芯片框图(IT8502为例)3.General Purpose I/O Port (GPIO)4.SMBus(System Management Bus,系统管理总线)5.PWM、TACH6.KBC(KeyBoard Controller)7.PS/28.ADC(模数转换)总结 前言 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 1.嵌入式控制器EC概述 嵌入式控制器EC是挂在CPU的L

qq_30135687的博客 1万+

ORA-00060: Deadlock detected.分析

会话1 update t1 set a='10’ where id=100; --执行完,不提交 update t1 set a=‘20’ where id=200 --执行等待会话2的锁。 会话2 update t1 set a='10’ where id=200; --执行完,不提交 update t1 set a=‘20’ where id=100 --执行等待会...

oradbm的博客 1614

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

OCP-1Z0-052-V8.02-172题

172. The session of user SCOTT receives the following error after executing an UPDATE command on the EMP table: ERROR at line 1: ORA-00060: deadlock detected while waiting for resource On in

一抹曦阳-Oracle 9867

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

DEADLOCK DETECTED ( ORA-00060 )

今天是2014-03-25,收到朋友求助,解决DEADLOCK DETECTED ( ORA-00060 )错误。如下是今天分析的过程但没有完成(期待后续这周完成吧),再次记录一下。 Deadlock graph:                        ---------Blocker(s)--------  ---------Waiter(s)--------- Resource

Rhys learn oracle! 5434

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

记录一次线上 Oracle 数据库 ORA-00060: deadlock detected 故障案例

客户报告在做 job 导入的时候偶尔会碰到 ORA-00060 错误,客户端日志如下: 2020-11-23 12:22:15 (GMT+0100) [ERROR] : java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource 因为碰不到客户的生产环境,所以要了一下他们的服务端日志。一般来讲,ORA-00060 总是结对出现,然后我们根据这个错误抛出的程序调用栈,可以分别找到对应的两个线程,根据上下文

Defonds 的专栏 8609

ORA-00060: Deadlock detected

Thu Nov 19 01:13:49 2015 ORA-00060: Deadlock detected. More info infile /u01/oracle/diag/rdbms/appserv/appserv/trace/appserv_ora_20577.trc. 去查看相应的trace文件appserv_ora_20577.trc的死锁信息 PS:相应的trc文件

EVISWANG的博客 1480

解决 ORA-00060: Deadlock detected 小例

数据库版本: SQL > select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi PL/SQL Release 10.2.

地 衣 4215

Oracle数据库 ORA-00060 错误分析和解决

Oracle数据库 ORA-00060 错误分析和解决

chenoracle的博客 1999

ORA-00060 Deadlock detected

今天一套10.2.0.4的数据库报ORA-00060 Deadlock detected。   trace部分内容:   Dump file /oracle/oracle/product/10.2.0/admin/APSDB/udump/apsdb_ora_1008062.trc Oracle Database10gEnterprise Edition Release10.2.0.4.0

欧辰的专栏 2319

Linux ora-00060,解决 ORA-00060: Deadlock detected 小例

数据库版本:SQL > select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64biPL/SQL Release 10.2.0.5.0 -...

weixin_39966465的博客 642

ORA-00060 Deadlock detected 解读

今天,在GC监控控制台里发现了ORA-00060 Deadlock detected死锁信息,主要信息如下: Dump file d:\oracle\product\10.2.0\admin\mc\udump\mc_ora_14100.trc Fri Dec 14 09:41:07 2012 ORACLE V10.2.0.4.0 - 64bit Production vsnsta=0

java3344520的专栏 1万+

oracle,ORA-00060 重现

引用:ORA-00060错误发生在Oracle数据库的死锁检测机制发现两个或多个会话之间存在循环等待条件时。每个会话都持有另一个会话所需的资源,同时等待对方释放自己需要的资源,从而形成无法自行解决的僵局。Oracle会定期运行内部死锁检测算法。一旦检测到死锁,它会选择一个会话作为"牺牲者",回滚该会话的当前语句,释放其持有的锁,并抛出ORA-00060错误,从而打破死锁让其他会话可以继续工作。1。

sxx_gyj的博客 476

在多session向表中加载数据时候,个别session报ORA-00060: deadlock detected while waiting for resource

去网上查了下,原来是由于我表中存在位图索引造成的. ERROR at line 1: ORA-00060: deadlock detected while waiting for resource ORA-06512: at line 9

问天的专栏 1698

select for update语句造成ORA-00060 deadlock死锁问题分析

测试环境出现问题 今天 ,收到项目组通知说发生了死锁,让我查一下死锁出现的原因 。 首先 ...

cizhanliang7973的博客 1054
上一篇: 查看执行消耗资源的sql语句
下一篇: 数据库故障分析与处理
csv84695
博客等级 码龄12年 3粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值