SC Workbook
科目 A-1 · 技術要素(セキュリティ以外)

共有ロックと専有ロック

トランザクション T1 がデータ X に共有ロックを獲得している。このとき,別のトランザクション T2 が同じデータ X にロックを要求した場合の扱いとして,適切なものはどれか。ここで,X には T1 以外のロックは掛けられていないものとする。

  1. アT2 は,共有ロックも専有ロックも直ちに獲得できる。
  2. イT2 は,共有ロックは直ちに獲得できるが,専有ロックは T1 がロックを解放するまで待たされる。
  3. ウT2 は,専有ロックは直ちに獲得できるが,共有ロックは T1 がロックを解放するまで待たされる。
  4. エT2 は,共有ロックも専有ロックも T1 がロックを解放するまで待たされる。
正解と解説を見る

正解 イ

この問題の基礎知識

  • 共有ロック(読取りロック)は,データを読み取る間に他のトランザクションによる更新を防ぐロックであり,複数のトランザクションが同じデータに同時に掛けられる。
  • 専有ロック(排他ロック)は,データを更新する間に他のトランザクションによる読取りと更新を防ぐロックである。
  • ロックの両立性は,共有ロック同士だけが両立し,共有ロックと専有ロック,専有ロック同士は両立しない。両立しないロックの要求は,先に掛けられたロックが解放されるまで待たされる。
アT2 は,共有ロックも専有ロックも直ちに獲得できる。

専有ロックは他のトランザクションがロックを掛けている間は獲得できない。T1 の共有ロックがあるので,T2 の専有ロックの要求は待たされる。

イT2 は,共有ロックは直ちに獲得できるが,専有ロックは T1 がロックを解放するまで待たされる。正解

共有ロック同士は両立するので T2 も共有ロックを獲得して読み取れる。一方,専有ロックは共有ロックとも両立しないため,T1 がロックを解放するまで待たされる。

ウT2 は,専有ロックは直ちに獲得できるが,共有ロックは T1 がロックを解放するまで待たされる。

共有ロックと専有ロックの両立性の関係が逆である。共有ロック同士は両立するので同時に獲得できるが,専有ロックは共有ロックを含む他のどのロックとも両立しない。

エT2 は,共有ロックも専有ロックも T1 がロックを解放するまで待たされる。

T1 が専有ロックを獲得している場合の扱いである。共有ロックは複数のトランザクションが同時に獲得できる。

検証用の出典一部照合
J. Gray, A. Reuter, Transaction Processing: Concepts and Techniques
照合の根拠(2 件)

ロックの両立性(共有同士は両立,共有と専有は両立しない)は RFC 4918 の WebDAV ロックで裏付けたが,これはデータベースのトランザクションのロックではなく,両立しない要求が「待たされる」点(WebDAV では付与を拒否する)は読める一次資料で確認できない。Gray & Reuter は書籍

問題 ID A1-TEC-0101 · AI 作成のオリジナル問題 · 正解の根拠は原文で確認済みですが、一部の選択肢の根拠は未確認です。 照合日 2026-11-07

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。