専有ロックとは?
専有ロックとは、データを更新するために掛けるロック。他のどのロック(共有・専有とも)とも両立せず、1つのトランザクションだけが保持できる。
応用情報技術者試験の過去問では3回出題されています(2016年度〜2019年度)。
せんゆうロック
専有ロックの意味
データを更新するために掛けるロック。他のどのロック(共有・専有とも)とも両立せず、1つのトランザクションだけが保持できる。
専有ロックの具体例
ある行を更新中は、他のトランザクションはその行を読むことも更新することもできない(隔離性水準による)。
専有ロックは試験でどう引っ掛けられる?
専有ロックと関連する用語
専有ロックが出た過去問
トランザクションA(処理A1→処理A2の順に実行する)とトランザクションB(処理B1→処理B2の順に実行する)が,データベースの資源SとTに対し,次のように処理…
正解:A1=S, B1=T, A2=T, B2=S
要点:互いに相手の保持資源を要求し合うとデッドロックになる
デッドロックは、互いが相手の保持する資源を待ち合うときに発生する。AがSを、BがTを先に確保し、次にAがT、BがSを要求する組合せでは、両者が相手の解放を待ち続けて処理が進まなくなる。
出典:平成28年度 春期 応用情報技術者試験 午前 問28(IPA)データベースシステムにおいて,二つのプログラムが同一データへのアクセス要求を行うとき,後続プログラムのアクセス要求に対する並行実行の可否の組合せのうち,適切なも…
正解:エ:(後続共用,先行共用)=○,(後続共用,先行排他)=×,(後続排他,先行共用)=×,(後続排他,先行排他)=×
要点:共用ロック同士だけが両立し、排他ロックは何とも両立しない。
共用ロック(読取り用)は複数のプログラムが同時に保持できるので、共用ロック同士の場合だけ並行実行できる。一方、排他ロック(更新用)は他のいかなるロックとも共存できないため、先行が排他の場合も、後続が排他を要求する場合も待たされる。したがって共用×共用のみ○で、残り三つは×となる組合せが正しい。
出典:平成30年度 秋期 応用情報技術者試験 午前 問30(IPA)RDBMSのロックに関する記述のうち、適切なものはどれか。ここで、X, Yはトランザクションとする。
正解:XがA表内の特定行aに対して共有ロックを獲得しているときは、YはA表に対して専有ロックを獲得することができない。
要点:ロックは粒度が違っても、範囲が重なれば共有と専有は競合する
表の一部の行に共有ロックが掛かっている状態で、別のトランザクションが表全体に専有ロックを掛けられてしまうと、その行を書き換えられてしまい矛盾します。そのため、行ロックと表ロックの整合を取る意図ロックの仕組みにより、表全体への専有ロックは獲得できません。粒度の違うロックどうしも競合しうる点が要点です。
出典:令和1年度 秋期 応用情報技術者試験 午前 問28(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。