Wednesday, July 7, 2010

Melihat Tabel Yang Sedang di-Lock (Oracle)

Oleh : Achmad Faisol


Locking (mekanisme penguncian obyek) sangat diperlukan untuk transaksi maupun stock opname. Misal user ali ingin memeriksa stok barang di gudang saat ini, maka ali harus melakukan locking agar user lain tidak melakukan transaksi (merubah, menambah atau menghapus) di table barang. Hal ini untuk menjaga konsistensi data.

Permasalahan yang ada yaitu bila ali melakukan locking table barang, lalu ada user lain akan melakukan transaksi, maka user tersebut harus menunggu sampai ali melepas lockingnya. Secara default, Oracle tidak memberi pesan bahwa terjadi locking di table yang sedang diakses dan tampilan program di user tersebut dalam kondisi menunggu.

Pada dasarnya, DBA bisa melihat obyek apa saja yang sedang di-lock. Lalu, bagaimana agar semua user bisa melihat juga? DBA harus kreatif dengan cara membuat sendiri view yang bisa dilihat oleh semua user apakah table yang akan diakses sedang di-lock atau tidak. Bila table yang akan diakses sedang dilock, maka user diminta tidak melakukan transaksi. Untuk pemrograman visual, bisa ditampilkan pesan (message atau alert).