Dear All Repliers,.. trims ya utk response-nya.. secara teoritical emang seperti yg teman2 jelaskan... berbagai macam penyebab dan type locking yg ada di oracle.. seperti juga yg ada di tutorial2 oracle yg pernah saya baca...
tp saya sedikit bingung,.. karena di kantor saya, sering terjadi row lock contentition (mostly krn update process), padahal klo diliat dr query-nya (source code made in vendor) sudah berdasarkan spesifik index.. dan klo di running via pldev/toad - database level, prosesnya sangat cepat dan tidak memakan waktu.. tp cukup sering muncul sebagai inactive session yg menyebabkan blocking session.. apakah ada master2 oracle yg punya solusi-nya.. thanx for helping.. Warm Regards, Dony Wid ________________________________ From: Firman <[email protected]> To: [email protected] Sent: Monday, September 14, 2009 10:55:38 PM Subject: Re: Bls: [indo-oracle] ask : row lock contention saya ikut nimbrung ya... locking terjadi karena beberapa keadaaan.secara umum dibagi dua. Explicit locking dan implisit locking. Explisit locking adalah locking yang memang kita sengaja melakukannya dengan menggunakan perintah2 locking. lock table bla bla bla bla... sedangkan yang implisit locking adalah locking yang memang secara otomatis akan dilakukan oleh oracle. locking ini biasanya terjadi ketika 1. Adanya transaksi. kalo gk salah istilahnya Row exclusive locking. perintah insert, update, delete dan merge akan melakukan locking dan otomatis akan direlease ketika kita melakukan commit atau rollback. Untuk mencegah terjadinya locking model ini adalah dengan mencegah terjadinya long running transaction. Dengan menghidari perintah2 transaksi (insert,update, delete dan merge) yang tidak dicommit atau di rollback dalam waktu yang lama. kalo bisa, di programnya dibuat auto commit atau langsung commit ajah. kalau memang diharuskan terjadinya long running transaction, bisa menggunakan teknik tertentu dengan memanfaatkan temporary table. 2. Ketika index diciptakan pada table. Ketika kita membuat index atau index direbuild, otomatis oracle akan melakukan locking. dan otomatis akan direlease ketika proses index selesai. untuk lock yang ini, tidak bisa diapa2in. sebaiknya memanage index diwaktu low system load level ajah.. 3. dan lain - lain.. (saya lupa..) intinya, untuk menghidari locking, hindari long running transaction( transaksi yang tidak dicommit atau di rollback dalam tempo yang lama.) ketika ada kesalahan karena disebabkan oleh network, otomatis session akan dihalt. ketika session di halt, dan transaksi belum dicommit, maka secara otomatis transaksi akan di rollback. commit ataupun rollback akan merelease locking. mungkin itu saja. mohon dikoreksi kalau salah... dony widiotomo wrote: > > > Om Piping, > > thanx for reply.. tp masih ada beberapa pertanyaan.. > *Question:* > bagaimana ya cara menghindari terjadinya "unwanted" locking (baik table > > locking ataupun row lock)?*Answer :* > 1) Hindari/kurangi proses yg memakai data source yg sama (concurrency) > o>> option ini ga bisa dilakukan, krn table yg dipakai adalah > transaction table dan load-nya memang cukup tinggi.. > 2) Perkecil scope of locking. > o>> locking sudah based on row lock.. bukannya row lock udah scope yg > paling kecil ya..? > > *Question:* > apakah network problem bisa menyebabkan locking? > *Answer:* > Gak, oracle akan nge-rollback transaksi dan ini artinya data yg > ke-lock akan > di unlock... > tuk pembuktiannya, coba aja lock table pakai SQL plus.. trus > diconnect, dan > coba update table tersebut. > o>> itu klo di level database,.. gimana klo update/locking dilakukan > di level aplikasi,.. dan aplikasi tersebut 'hang'/'error' karena > network problem dan proses blm ter-commit/rollback , apakah locking > tersebut akan di-rollback secara otomatis juga...? > > Thanks & Regards, > > Dony Wid > > ____________ _________ _________ __ > From: Moch Firman N <mochfir...@gmail. com <mailto:mochfirman% 40gmail.com> > > To: indo-oracle@ yahoogroups. com <mailto:indo- oracle%40yahoogr oups.com> > Sent: Thursday, September 10, 2009 1:11:13 PM > Subject: Re: Bls: [indo-oracle] ask : row lock contention > > Dear Om Dony, > *Case 1:* > *Question:* > bagaimana ya cara menghindari terjadinya "unwanted" locking (baik table > locking ataupun row lock)? > *Answer :* > 1) Hindari/kurangi proses yg memakai data source yg sama (concurrency) > 2) Perkecil scope of locking. > > *CASE 2:* > *Question:* > apakah network problem bisa menyebabkan locking? > *Answer:* > Gak, oracle akan nge-rollback transaksi dan ini artinya data yg > ke-lock akan > di unlock... > tuk pembuktiannya, coba aja lock table pakai SQL plus.. trus > diconnect, dan > coba update table tersebut. > > Thanks and best regards > Piping > > 2009/9/8 dony widiotomo <don_...@yahoo. com> > > > > > > > thanks reply-nya... > > > > mungkin pertanyaan yg salah kali ya,.. pertanyaanya seharusnya > seperti ini > > : > > > > bagaimana ya cara menghindari terjadinya "unwanted" locking (baik table > > locking ataupun row lock)? > > > > apakah network problem bisa menyebabkan "blocking session"? > > > > > > kalau bisa gimana ya cara pencegahannya? > > > > Best Regards, > > > > Dony Wid > > > > ____________ _________ _________ __ > > From: Ananias Sembiring <bre_tigan_tambak@ > yahoo.com<bre_ tigan_tambak% 40yahoo.com> > > > > > To: indo-oracle@ yahoogroups. com <indo-oracle% 40yahoogroups. com> > > Sent: Tuesday, September 8, 2009 1:26:07 PM > > Subject: Bls: [indo-oracle] ask : row lock contention > > > > Locking tujuannya untuk access data concurrency, sekaligus provides > > consistency data., > > > > kl di database memang cuma 1 user., database ga ada locking., jadi > kl multi > > user., locking harus terjadi., supaya data consistent., > > > > locking bisa diatur lewat aplikasi., dan database., > > > > cmiiw., > > > > Sembiring., > > > > --- Pada Sel, 8/9/09, dony widiotomo <don_...@yahoo. com> menulis: > > > > Dari: dony widiotomo <don_...@yahoo. com> > > Judul: [indo-oracle] ask : row lock contention > > Kepada: indo-oracle@ yahoogroups. com > > Tanggal: Selasa, 8 September, 2009, 1:19 PM > > > > Dear Master, > > > > numpang nanya ya... > > > > bagaimana ya cara menghindari terjadinya locking(baik table locking > ataupun > > row lock)? > > > > apakah network problem bisa menyebabkan locking? > > > > kalau bisa gimana ya cara pencegahannya? > > > > FYA, thanx before.. > > > > Best Regards, > > > > Dony Wid > > > > [Non-text portions of this message have been removed] > > > > Lebih Bersih, Lebih Baik, Lebih Cepat - Rasakan Yahoo! Mail baru > yang Lebih > > Cepat hari ini! http://id.mail. yahoo.com > > > > [Non-text portions of this message have been removed] > > > > [Non-text portions of this message have been removed] > > > > > > > > [Non-text portions of this message have been removed] > > [Non-text portions of this message have been removed] > > [Non-text portions of this message have been removed] [Non-text portions of this message have been removed]

