【Oracle】ロック機構の仕組みを理解する【過去問修行】

目標

このブログでは、Oracle Silver 資格取得を目指す方のために、過去問の解説やポイントを共有し、理解を深めることを目的としています。

勉強方法

  • 実際の過去問を解いて、現在の理解度を把握する。
  • 間違えた問題をチェックし、解説を通して理解を深める。
  • 理解した内容を実際のSQL環境で試してみる。
  • 類似問題を解くことで、知識を定着させる。

問題

次のうち、ロック機構の特徴として誤っているものを選択してください。

選択肢

  • A. ロックはデータの一貫性を確保するために使用される
  • B. ロックは同時実行制御のために使用される
  • C. Oracle では、明示的にロックをかけない限り、データ変更時にロックは発生しない
  • D. ロックには共有ロックと排他ロックがある

正解

C. Oracle では、明示的にロックをかけない限り、データ変更時にロックは発生しない

解説

Oracle では、UPDATEDELETE などのデータ変更操作を行うと、自動的にロックがかかります。明示的にロックをかける必要はなく、トランザクションが COMMIT または ROLLBACK されるまでロックが維持されます。

間違い選択肢の解説

  • 選択肢A: 正しい。ロックはデータの一貫性を確保するために使用される。
  • 選択肢B: 正しい。ロックは同時実行制御のために使用される。
  • 選択肢D: 正しい。ロックには共有ロックと排他ロックがあり、それぞれ異なる制御を行う。

ポイント

  • Oracle では、データ変更操作時に自動的にロックが発生する。
  • 共有ロック(Shared Lock)と排他ロック(Exclusive Lock)がある。
  • ロックは同時実行制御のために重要な仕組み。

実践例

-- 行レベルの排他ロックを明示的に取得
SELECT * FROM employees WHERE employee_id = 100 FOR UPDATE;

まとめ

ロックはデータの一貫性と同時実行制御のために重要な機能であり、Oracle ではデータ変更時に自動的にロックが発生する。


このブログは Oracle Silver 資格取得を目指す方向けに、過去問の解説やポイントを共有するためのものです。