You are here
Home > Serba Serbi > Simulasi Delete Cascade Menyebabkan Deadlock di Oracle

Simulasi Delete Cascade Menyebabkan Deadlock di Oracle

Simulasi Delete Cascade Menyebabkan Deadlock di Oracle

Kali ini kita akan coba melakukan Simulasi Delete Cascade Menyebabkan Deadlock di Oracle. Artikel Ini kami harap dapat membantu kita semua dalam membuat foreign key untuk lebih berhati-hati saat menambahkan on delete cascade. Artikel ini masih berhubungan dengan artikelĀ Simulasi Deadlock pada Database Oracle.

Sebelumnya mari kita baca dulu mengenai On Delete Cascade dibawah ini:

Whenever rows in the master (referenced) table are deleted (or updated), the respective rows of the child (referencing) table with a matching foreign key column will be deleted (or updated) as well. This is called a cascade delete (or update).
sumber: wiki

Berikut langkah-langkahnya Simulasi Delete Cascade Menyebabkan Deadlock di Oracle:

  • Buka cmd (cmd1)
  • Login ke sqlplus (cmd1)
  • Create 4 table dengan foreign key on delete cascade, seperti script dibawah ini:
  • Lakukan script delete seperti dibawah ini: *jangan lakukan commit/rollback
  • Buka cmd baru (cmd2)
  • Login ke sqlplus (cmd2)
  • Lakukan script delete seperti dibawah ini: *jangan lakukan commit/rollback
  • Kembalik ke cmd1
  • Lakukan script delete seperti dibawah ini: *jangan lakukan commit/rollback
  • Pada cmd2 akan muncul error deadlock

    deadlock detected while waiting for resource

Untuk mengatasi kondisi deadlock ini bisa dilakukan dengan 2 cara:

  • Lepas Action On Delete CASCADE, berikut script create table tanpa on delete cascade

    atau

Leave a Reply

Top