Kalo memang diperlukan untuk mengakses beberapa table secara berurutan,
usahan sequnece pengaksessannnya selalu sama.
Misal function A mengakses table dgn urutan tab1,tab2,tab3...maka jika di
function lain perlu mengakses seluruh/sebagian dari table2 itu usahakan
urutannya sama misal tab2,tab3,tab4., shg resiko deadlock dapat dikurangi

2008/12/12 Samuel Franklyn <[email protected]>

>   Sandi Juniar wrote:
> > Saya sedang mengembangkan Aplikasi Web memakai Database SQL 2000 SP4,
> > untuk koneksinya pake Connection Pool dengan memakai Driver JTDS tetapi
> > ada kendala, setelah di deploy dan beberapa komputer konek ke Web
> > ternyata Web server mendadak menjadi ngehang alias no Response, Sudah
> > pernah di ganti Webserver menggunakan Apache Tomcat maupun
> > GlassFish/SJSAS tapi tetap juga No Response.
> >
> > I Have No Idea...
> >
> > Can You Help Me...
> >
>
> Karena informasi yang kamu berikan amat sangat minim maka
> ini cuma dugaan saja. Kemungkinan besar kamu mengalami
> apa yang dinamakan deadlock. Deadlock akan terjadi kalau
> ada 2 proses yang saling menunggu lepasnya lock terhadap
> suatu tabel.
>
> Misalnya proses 1 perlu mengupdate tabel 1 dan 2.
> Lalu proses 2 perlu mengupdate tabel 1 dan 2.
>
> 1. Nah proses 1 mengupdate tabel 1 dan pada saat yang sama
> proses 2 mengupdate tabel 2. Pada saat ini masih aman.
>
> 2. Lalu proses 2 mau mengupdate tabel 1 tapi proses 1 belum
> selesai mengupdate tabel 1. Akhirnya proses 2 menunggu proses 1.
>
> 3. Setelah proses 1 selesai mengupdate tabel 1
> maka mau mengupdate tabel 2 tapi tabel 2 masih di lock
> oleh proses 2. Akhirnya proses 1 menunggu proses 2 dan
> proses 2 menunggu proses 1. Terjadilah deadlock.
>
> Hal ini juga terjadi karena sistem locking di MS SQL Server.
> Di SQL Server pada saat record dalam sebuah tabel di insert
> atau diupdate maka tidak bisa dibaca. Record yang sedang di
> baca juga tidak bisa diupdate. Ini jauh berbeda dengan
> sistem locking database macam Oracle atau PostgreSQL.
>
> Lalu bagaimana solve dead lock? Nggak gampang. Kamu harus
> melakukan analisa menyeluruh code dan menebak dimana lokasi
> deadlock terjadi. Terus terang bug macam begini adalah
> bug yang paling mahal untuk disolve karena butuh analisa
> menyeluruh dari code.
>  
>

Kirim email ke