Commit dan Rollback pada Oracle

A. COMMIT
Setiap perubahan data yang terjadi selama transaksi adalah sementara, sampai transaksi tersebut di-commit.
Keadaan Data Sebelum COMMIT atau ROLLBACK :
– Operasi manipulasi data terutama mempengaruhi database buffer, oleh sebab itu keadaan data sebelumnya dapat diperbaiki.
– User yang sedang connect (current user) dapat me-review hasil dari operasi manipulasi data dengan melakukan query terhadap table
– User lain tidak dapat melihat hasil dari operasi manipulasi data dari current user. Oracle memberlakukan read consistency untuk menjamin bahwa setiap user melihat data seperti yang ada pada saat commit terakhir.
– Baris-baris data yang sedang diubah akan dikunci (locked), user lain tidak dapat mengubah data yang sedang diubah tersebut.
Kita menggunakan COMMIT untuk membuat seluruh perubahan data menjadi permanen.
Hal-hal yang mengikuti COMMIT:
– Seluruh perubahan data ditulis ke database
– Keadaan data sebelumnya secara permanen hilang
– Seluruh user dapat melihat hasil dari transaksi
– Penguncian terhadap baris-baris data yang diubah akan dibebaskan, baris-baris data tersebut sekaran tersedia kembali bagi user lain untuk melakukan perubahan data berikutnya.
– Seluruh savepoints dihapus.
Contoh:
Ciptakan department baru dengan nama Education dengan paling tidak satu employee. Buatlah perubahan data menjadi permanen.
INSERT INTO department (id, name, region_id)
VALUES (54, ‘Education’, 1);
UPDATE employee
SET dept_id = 54
WHERE id = 2;
COMMIT;

B. ROLLBACK
Kita dapat membatalkan seluruh perubahan data yang masih menggantung dengan menggunakan statement ROLLBACK. Hal-hal yang mengikuti ROLLBACK:
– Seluruh perubahan data dibatalkan.
– Keadaan data sebelumnya dikembalikan seperti semula.
– Penguncian terhadap baris-baris data yang diubah akan dibebaskan, baris-baris data tersebut sekaran tersedia kembali bagi user lain untuk melakukan perubahan data berikutnya.
Contoh:
Ketika berusaha menghapus satu record pada table TEST, secara tidak sengaja menghapus seluruh table. Betulkan kesalahan tersebut, lalu jalankan perintah yang sesuai, dan buatlah seluruh perubahan data menjadi permanen.
DELETE FROM test;
ROLLBACK;
DELETE FROM test
WHERE id = 100;
SELECT *
FROM test
WHERE id = 100;
COMMIT;

Ditulis dalam Komputer, Tulisan. 2 Comments »

2 Tanggapan to “Commit dan Rollback pada Oracle”

  1. ajie Says:

    infonya berguna banget…!! saya izin ambil buat tugas basis data saya ya..🙂


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: