デッドロック時のログメッセージ

(8.0.22)

サーバ側

デフォルトではログ出力なし

innodb_print_all_deadlocks=ONの場合
show engine innodb statusのDEADLOCK情報が出力される


クライアント側

ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction

 

(19c)

-- シングルの場合
サーバ側

2021-03-14T14:59:35.206410+09:00
PDB1(3):Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_2626.trc:
2021-03-14T14:59:36.058293+09:00
PDB1(3):ORA-00060: Deadlock detected. See Note 60.1 at My Oracle Support for Troubleshooting ORA-60 Errors. More info in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_2626.trc.

クライアント側

行1でエラーが発生しました。:
ORA-00060: リソース待機の間にデッドロックが検出されました。

-- RACの場合
サーバ側

2021-03-14T15:21:37.721779+09:00
Global Enqueue Services Deadlock detected (DID = 4_0_1). More information in file
/u01/app/oracle/diag/rdbms/orcl/ORCL1/trace/ORCL1_lmd0_5410.trc.

RACの場合アラートログにORA-00060は出力されない

クライアント側

ERROR at line 1:
ORA-00060: deadlock detected while waiting for resource

(13)
サーバ側

2021-03-14 15:47:20.789 JST [3079] ERROR: deadlock detected
2021-03-14 15:47:20.789 JST [3079] DETAIL: Process 3079 waits for ShareLock on transaction 969; blocked by process 3081.
Process 3081 waits for ShareLock on transaction 968; blocked by process 3079.
Process 3079: update tab2 set col1 = 1;
Process 3081: update tab1 set col1 = 1;
2021-03-14 15:47:20.789 JST [3079] HINT: See server log for query details.
2021-03-14 15:47:20.789 JST [3079] CONTEXT: while updating tuple (0,1) in relation "tab2"
2021-03-14 15:47:20.789 JST [3079] STATEMENT: update tab2 set col1 = 1;

クライアント側

ERROR: deadlock detected
DETAIL: Process 3079 waits for ShareLock on transaction 969; blocked by process 3081.
Process 3081 waits for ShareLock on transaction 968; blocked by process 3079.
HINT: See server log for query details.
CONTEXT: while updating tuple (0,1) in relation "tab2"

(2019)
https://www.dbsheetclient.jp/blog/?p=1634
https://memorandom-nishi.hatenablog.jp/?page=1482077876

サーバ側

ログ出力なし

※拡張イベント -> system_health -> package0.event_fileから調査可能


クライアント側

メッセージ 1205、レベル 13、状態 51、行 5
トランザクション (プロセス ID 59) が、ロック 個のリソースで他のプロセスとデッドロックして、このトランザクションがそのデッドロックの対象となりました。トランザクションを再実行してください。