ISOLASI TRANSAKSI
Dalam transaksi database, ada 3 hal yang harus dicegah :
1. Dirty Read
Transaksi membaca data dari hasil transaksi lainnya yang gagal. Kedua transaksi tersebut berjalan bersamaan.
2. Non-Repeatable Read
Transaksi membaca ulang data yang telah di baca sebelumnya karena data tersebut telah di modifikasi oleh transaksi lainnya.
3. Phantom Read
Transaksi membaca sebuah data yang telah hilang akibat dari transaksi yang lainnya.
Untuk mencegah 3 hal tersebut, dalam Oracle terdapat 2 level isolasi yang dapat diimplementasikan, yaitu :
1. Read Commited
Transaksi hanya dapat melihat perubahan data setelah transaksi lain telah commit pada data tersebut. (Seperti dalam contoh commit)
2. Serializable
Level ini mengemulasikan eksekusi transaksi secara serial, menjadikan transaksi dieksekusi satu setelah yang lainnya,seperti secara serial, bukan secara bersamaan (pararel). Untuk implementasi dalam ORACLE seperti berikut ini :
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
Tidak ada komentar:
Posting Komentar