データベーススペシャリスト暗記無料で始める

専有ロックとは?せんゆうロック

専有ロックとは、データを更新するために掛ける、他のどのロックとも両立しないロック。同じ資源に対して1つのトランザクションだけが保持でき、他の専有ロックはもちろん共有ロックの要求も待たされる。排他ロック、書込みロックとも呼ばれる。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の過去問では3回出題され、ほかに1問の解説で触れられています(2017年度〜2024年度)。

データベーススペシャリスト試験の頻出用語/午前II

別名:排他ロック、占有ロック、Xロック、exclusive lock

この語が出る過去問を解く →

背景

同じ行を2つのトランザクションが読んでから書くと、後から書いたほうが先の更新を上書きして消してしまう。これを防ぐ最も単純な方法が「更新中は他を入れない」ことである。ただし資源を丸ごと止めると並行度が落ちるため、表・ページ・行と粒度を選べるようにし、粒度をまたぐ衝突を検出するために意図ロックが用意されている。物理設計でロック方式を選ぶのは、この並行度と管理コストの取引になる。

具体例

在庫の残数を読んでから減算するとき、PostgreSQLやOracle DatabaseではSELECT ... FOR UPDATEで対象行に専有ロックを掛けてから判定する。読んでから書くまでの間に他のトランザクションが割り込み、在庫がマイナスになる事態を防げる。

試験での引っ掛け

共有ロックが掛かっている行への専有ロック要求は待たされる。この待ちの関係を辺として待ちグラフを描き、閉路があればデッドロックと判定する。なお「更新中は読めない」は方式による——MVCCを採る製品では、読取りは専有ロックで待たされず更新前の版を読む。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では3回出題(2017年度〜2024年度)
  • 分野:午前II
  • 共有ロックが掛かっている行への専有ロック要求は待たされる。