Transaction dalam Oracle

Ketika sebuah perintah SQL dijalankan, maka transaksi dimulai. Oracle meletakkan transaksi pada segmen undo di dalam tablespace undo untuk mencatat inputan undo transaksi tersebut. Inputan pada tablespace undo digunakan ketika perintah rollback dilakukan untuk mendapatkan kembali data seperti terakhir kali dilakukan perintah commit pada transaksi tersebut. Transaksi akan berakhir jika terjadi hal-hal berikut :

  • Seorang user melakukan perintah COMMIT atau ROLLBACK tanpa , melakukan SAVEPOINT.
  • Seorang user melakukan menjalankan perintah DDL seperti CREATE, DROP, RENAME, GRANT. Jika transaksi yang sedang berlangsung mengandung perintah DML, Oracle akan melakukan commit , lalu menjalankan perintah DDL dan melakukan commit, sebagai satu transaksi baru.
  • Seorang user melakukan disconnect dari Oracle. Transaksi yang  sedang berlangsung akan di commit.
  • Proses yang ada di user berhenti secara tidak normal. Transaksi yang sedang aktif akan langsung di rollback. Setelah sebuah transaksi berakhir, perintah SQL berikutnya akan secara otomatis memulai transaksi yang baru.
%d blogger menyukai ini: