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.89123408:00 trace文件生成日期
-
*** client id:() 2022-08-11t10:40:30.89125908:00 客户端id
-
*** service name:() 2022-08-11t10:40:30.89126308:00 服务名
-
*** module name:() 2022-08-11t10:40:30.89126708:00 模块
-
*** action name:() 2022-08-11t10:40:30.89127008:00 行为
-
*** client driver:() 2022-08-11t10:40:30.89127308: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)