Kamis, 25 April 2013

Commit, Rollback dan SavePoint dalam Oracle


COMMIT


Perintah ini selain secara eksplisit digunakan oleh user database juga secara implisit digunakan oleh ORACLE sendiri. Contohnya adalah ketika user keluar secara normal dari program - program utility product ORACLE seperti SQL*Plus dengan menjalankan perintah DISCONNECT.
        
         Bentuk umum perintah COMMIT adalah sebagai berikut :


COMMIT [COMMENT 'text'];


Kata kunci COMMENT digunakan untuk menambahkan komentar. Komentar tsb akan disimpan dalam data dictionary apabila terjadi kegagalan pada jaringan (network) atau mesin yang menyebabkan perintah COMMIT gagal untuk dijalankan sebagaimana mestinya. Berikut ini adalah kondisi data pada transaksi setelah perintah COMMIT dijalankan: 

Ö    Data dirubah secara permanen sesuai dengan operasi DML (Data   
       Manupulation language)
Ö    Semua user dapat melihat semua hasil perubahan-perubahannya.
Ö   Baris-baris yang semula terkunci, akan terbuka kembali sehingga user yang   
      lain dapat melakukan operasi DML.
                                                   
         ROLLBACK

Statemen ROLLBACK digunakan untuk membatalkan operasi DML sehingga data dikembalikan pada kondisi sebelum operasi DML dilakukan.

Bentuk umum dari perintah ROLLBACK adalah seperti berikut ini :


ROLLBACK [TO [SAVEPOINT] savepoint_name];


        
Perlu diperhatikan, bahwa selain secara ekplisit digunakan oleh user skema database juga secara implisit digunakan oleh ORACLE sendiri (lihat juga bahasan perintah COMMIT sebelumnya).
                
Secara automatically, ORACLE akan menjalankan perintah ROLLBACK manakala terjadi hal-hal seperti berikut ini :

         Ö    User keluar dari program utility ORACLE secara tidak normal.
         Ö    User keluar dari program aplikasi lainnya tanpa menjalankan perintah commit 
                secara eksplisit.
         Ö    Sistem mengalami Crash.
           

         SAVEPOINT
        
Savepoint digunakan untuk membagi sebuah transaksi menjadi beberapa tahapan atau bagian-bagian sekaligus memberi nama atau tanda pada bagian tsb.
        
         Bentuk umum dari perintah statemen SAVEPOINT adalah seperti berikut ini :


SAVEPOINT savepoint_name;


         Perhatikan contoh-contoh berikut ini :

Perlu diperhatikan juga bahwa jika perintah COMMIT telah dijalankan maka transaksi tersebut telah mengalami perubahan secara permanen (secara fisik) dan juga semua tanda SAVEPOINT yang telah dibuat akan ikut terhapus. Bagaimana jika perintah SAVEPOINT tetap dijalankan? Maka jawabannya adalah ORACLE akan menampilkan pesan error.






       


4 komentar:

  1. wah pas banget saya ada tugas tentang membuat commit, save point dan roll back kang, terima kasih atas ilmunya, bermanfaat banget untuk saya.. ^^

    BalasHapus