Oracle 数据库会自动检测死锁,并通过回滚死锁中涉及的一条语句,释放一组冲突的行锁来解决死锁。数据库向经历语句级回滚的事务返回相应的消息。回滚的语句属于检测死锁的事务。通常,应显式回滚已发出信号的事务,但它可以在等待后重试回滚语句。
// *Cause: Transactions deadlocked one another while waiting for resources.
// involved. Retry if necessary.
-
Trace file /oracle/app/oracle/diag/rdbms/orclp/orcl1/trace/orcl1_lmd0_38295.trc trace文件名称及路径
-
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production 数据库版本
-
Version 19.14.0.0.0 数据库补丁版本
-
Build label: RDBMS_19.14.0.0.0DBRU_LINUX.X64_211224.3 补丁编译信息
-
ORACLE_HOME: /oracle/app/oracle/product/19.3.0/db_1 ORACLE_HOME路径
-
System name: Linux 操作系统类型
-
Node name: db1 主机名
-
Release: 3.10.0-957.el7.x86_64 操作系统内核
-
Version: #1 SMP Thu Oct 4 20:48:51 UTC 2018 操作系统版本
-
Machine: x86_64 主机架构
-
Instance name: orcl1 实例名
-
Redo thread mounted by this instance: 0 <none> 线程序号
-
Oracle process number: 23 Oracle内部进程号(LMD进程)
-
Unix process pid: 38295, image: oracle@db1 (LMD0) 操作系统进程号及名称
-
-
-
*** 2022-08-11T10:40:30.891234+08:00 trace文件生成日期
-
*** CLIENT ID:() 2022-08-11T10:40:30.891259+08:00 客户端ID
-
*** SERVICE NAME:() 2022-08-11T10:40:30.891263+08:00 服务名
-
*** MODULE NAME:() 2022-08-11T10:40:30.891267+08:00 模块
-
*** ACTION NAME:() 2022-08-11T10:40:30.891270+08:00 行为
-
*** CLIENT DRIVER:() 2022-08-11T10:40:30.891273+08:00 客户端驱动
DLM Resource Hashmasks Initialised
*** 2022-08-11 10:40:30.891298 [krsa.c:2949]
Acquiring krso process latch [krso.c:553] IX0
*** 2022-08-11 10:40:30.891313 [krsa.c:2972]
Successfully acquired krso process latch IX+
-
-
https://docs.oracle.com/en/database/oracle/oracle-database/21/cncpt/data-concurrency-and-consistency.html#GUID-C1971E9B-849A-4634-9575-4F8FAD697750
http://what-when-how.com/Tutorial/topic-108718ku082/Expert-Oracle-RAC-12c-348.html
Troubleshooting "Global Enqueue Services Deadlock detected" (Doc ID 1443482.1)