平成20年 秋期 基本情報技術者 午前 問60

データベースの排他制御に関する記述のうち、適切なものはどれか。

 ア  あるトランザクションによって共有ロックがかけられている資源に対して、別のトランザクションから共有ロックをかけることは可能である。
 イ  あるトランザクションによって共有ロックがかけられている資源に対して、別のトランザクションから占有ロックをかけることは可能である。
 ウ  あるトランザクションによって占有ロックがかけられている資源に対して、別のトランザクションから共有ロックをかけることは可能である。
 エ  あるトランザクションによって占有ロックがかけられている資源に対して、別のトランザクションから占有ロックをかけることは可能である。


答え ア


解説
資源(データベース)の共有ロック、占有ロックの可否は、以下の表のようになっています。

現在のロック状態
共有 占有
ロック要求 共有 不可
占有 不可 不可
したがって、選択肢で可能なのは共有ロックがかけられている資源に対して、共有ロックをかける(ア)です。


キーワード
・資源のロック

キーワードの解説
  • 資源のロック
    複数のジョブが1つの資源に同時にアクセスすると、資源の制御が正しく行えなくなったり、データに不整合が発生する恐れのある場合、アクセスする資源についてロックを行い(鍵をかけて)アクセスをします。(例、複数のジョブが一つファイルの書き換えを行うことを防止。)
    ロックを行うとき、他のジョブからのアクセスを禁止するのを占有ロック、他のジョブからのアクセスを許可するのを共有ロックといいます。
    共有ロックは、共通参照ファイルなどへのアクセス時に使用します。
    共有ロックされた資源を他のジョブが共有ロックすることは可能ですが、占有ロックすることはできません。
    また、占有ロックされた資源を他のジョブが共有ロックすることもできません。

もっと、「占有ロック」について調べてみよう。

戻る 一覧へ 次へ