ablog

不器用で落着きのない技術者のメモ

Oracle のロックの種類

Oracle が使うロックをリストアップしてみた。
直列処理が一番単純だけど、並列処理したほうが早い。ただ、直列化しないといけない、つまり同時に変更したらマズイところがある。そういうところはロックを使って直列化している。

  • DMLロック
    • 行ロック(TX)
    • 表ロック(TM)
      • 行共有表ロック(RS)
      • 行排他表ロック(RX)
      • 共有表ロック(S)
      • 共有行排他表ロック(SRX
      • 排他表ロック(X)
  • DDLロック
    • 排他DDLロック
    • 共有DDLロック
    • ブレーク可能解析ロック
  • ラッチ
    • 共有プールラッチ
    • ライブラリキャッシュラッチ
    • バッファキャッシュLRU連鎖ラッチ
    • バッファキャッシュ連鎖ラッチ
    • REDOコピーラッチ
    • REDO割当てラッチ
  • 内部ロック
    • ディクショナリ・キャッシュ・ロック
    • ファイルとログの管理ロック
    • 表領域とロールバック・セグメントのロック


持ってる本をいろいろ見たけど、結局 Oracle のマニュアル(データの同時実行性と整合性)が一番わかりやすかった。