Oracle のトランザクション管理の重要な特徴の一つが「読み取り一貫性(Read Consistency)」です。トランザクション A が更新中のデータを、トランザクション B が参照しようとすると、B はコミット前の状態(変更前の値)を読み取ります。これは UNDO 表領域に保存された変更前データを使って実現されます。このため、ロックの衝突を最小限に抑えた高い同時並行性を実現できます。また、DDL 文(CREATE・DROP・TRUNCATE など)は自動的に COMMIT を行います(暗黙のコミット)。DDL の前後では明示的な COMMIT が必要ないかわりに、DDL 実行前の未コミットの DML 変更も一緒にコミットされてしまう点に注意が必要です。SQL*Plus では SET AUTOCOMMIT ON を設定すると各 DML 文の後に自動的に COMMIT が行われます。
試験でのポイント