Senin, 11 April 2011

tugas bahasa indonesia ke-2 (Membuat Artikel)

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;


Perbedaan Perintah SQL dengan SQL plus

  1. SQL

§ Sebuah bahasa

§ Standard ANSI

§ Keyword tidak dapat disingkat

§ Perintah-perintah memanipulasi data dan mendefinisikan didalam database

2

2. SQL PLUS

§ Sebuah lingkungan

§ Milik oracle

§ Keyword dapat disingkat

§ Perintah-perintah tidak dapat memanipulasi data di dalam database.

Tidak ada komentar:

Posting Komentar