Oracle が使うロックをリストアップしてみた。
直列処理が一番単純だけど、並列処理したほうが早い。ただ、直列化しないといけない、つまり同時に変更したらマズイところがある。そういうところはロックを使って直列化している。
- DMLロック
- 行ロック(TX)
- 表ロック(TM)
- 行共有表ロック(RS)
- 行排他表ロック(RX)
- 共有表ロック(S)
- 共有行排他表ロック(SRX)
- 排他表ロック(X)
- DDLロック
- ラッチ
- 内部ロック
- ディクショナリ・キャッシュ・ロック
- ファイルとログの管理ロック
- 表領域とロールバック・セグメントのロック
持ってる本をいろいろ見たけど、結局 Oracle のマニュアル(データの同時実行性と整合性)が一番わかりやすかった。