データベーススペシャリスト掲示板

掲示板検索:

[0167]令和2年PM1-2

 9640さん(No.1) 
令和2年のPM1-2についてです。
設問2-2でISOLATIONレベルがREPEATABLE READが正解となっていますが、
これって以下のようにデッドロックが発生しませんか?
発生するけど、目を瞑るということでしょうか
@TR1:SELECT文(共有ロック)
ATR2:SELECT文(共有ロック)
BTR1:UPDATE文(占有ロック)(TR2の共有ロック解除待ち)
CTR2:UPDATE文(占有ロック)(TR1の共有ロック解除待ち)
Dデッドロック発生
2021.04.04 07:43
関数従属さん(No.2) 
空席管理システムにデッドロックを検知してTR1かTR2かを
強制的にロールバックする仕組みは必要かと思いますが、
ロールバックされた方は再度最初から処理をやり直せばよい為
REPEATABLE READになっているかと思います。

READ COMMITTEDの場合のTR1,TR2ともに同一座席が仮予約できてしまう方が
空席管理システムのシステム上都合が悪いという感じかと思います。

また、空席管理システムの処理方法を工夫する事で
(必ず座席番号の小さい順に(b)の処理を行っていくとか)
デッドロックを発生しないようにできそうな気もします。
2021.04.04 16:49
 9640さん(No.3) 
>READ COMMITTEDの場合のTR1,TR2ともに同一座席が仮予約できてしまう方が
>空席管理システムのシステム上都合が悪いという感じかと思います。
ご回答ありがとうございます。
確かにそうですね。納得しました。
2021.04.06 00:34

返信投稿用フォーム

スパム防止のために初投稿日から30日経過したスレッドへの書き込みは禁止しています。

© 2016-2021 データベーススペシャリストドットコム All Rights Reserved.

Pagetop