Dear Yulius,

Ada yang Saya ingin tanyakan mengenai meminimalkan waktu locking seprti tips 
Bapak sebelumnya. 


"usahakan gunakan perintah COMMIT setiap "n" kali LOOP.

Jangan setelah LOOP selesai.

Tetapi juga jangan menggunakan perintah COMMIT setiap kali LOOP"

Pada pernyataan "usahakan gunakan perintah COMMIT setiap "n" kali LOOP"
secara teknis ini implementasinya seperti apa ?
Karena Saya melihat dari pernyataan 
"Tetapi juga jangan menggunakan perintah COMMIT setiap kali LOOP"

Regards,
Defry

--- On Tue, 4/14/09, Yulius Wibowo <[email protected]> wrote:
From: Yulius Wibowo <[email protected]>
Subject: [indo-oracle] Re: Cara ngatasin Locking
To: [email protected]
Date: Tuesday, April 14, 2009, 5:54 PM











    
            
            


      
      Mas Freddie,



Menurut saya, masalah locking adalah masalah biasa 

pada database yg table2-nya diakses(update, delete)

secara bersamaan.



Ada beberapa hal yg bisa dilakukan,a. l:

1. Meminimalkan waktu locking.

Contoh :

a. Di dalam sebuah procedure (PL/SQL) misalnya,

dilakukan update record dalam jumlah banyak 

dengan menggunakan iterasi (LOOP).

Untuk meminimalkan waktu locking, 

usahakan gunakan perintah COMMIT setiap "n" kali LOOP.

Jangan setelah LOOP selesai.

Tetapi juga jangan menggunakan perintah COMMIT setiap kali LOOP,

karena akan mengganggu performance database.



b. Jika dimungkinkan, gunakan "rowid" pada where clause ketika update atau 
delete.



2. Hindari locking yg tidak diperlukan.

Contoh:

Jika tidak diperlukan jangan menjalankan perintah:

SELECT ... FROM ... FOR UPDATE;

LOCK TABLE ...;

CREATE INDEX ...;--pada jam sibuk

ALTER INDEX ...;--pada jam sibuk

DROP INDEX ...;--pada jam sibuk

...



3. Lock table/row dengan menggunakan "timeout"

sebelum menjalankan UPDATE didalam procedure 

untuk menghindari "penungguan" yg tidak diinginkan

ketika menjalankan procedure tsb.

Contoh:

Untuk cursor for loop gunakan SELECT ... FOR UPDATE WAIT n <detik>;



4. Apalagi ya??? (kok malah nanya...he.. he..he..)



CMIIW,

bw



--- In indo-oracle@ yahoogroups. com, Freddie Tanuwijaya <synar_0287@ ...> 
wrote:

>

> 

> loh koq malah saya balik ditanya hahahaha, saya pengen tau aja gmna si atasin 
> locking

> --- On Tue, 4/14/09, Ujang Jaenudin <ujang.jaenudin@ ...> wrote:

> From: Ujang Jaenudin <ujang.jaenudin@ ...>

> Subject: Re: [indo-oracle] Cara ngatasin Locking

> To: indo-oracle@ yahoogroups. com

> Date: Tuesday, April 14, 2009, 2:45 AM

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

>     

>             

>             

> 

> 

>       

>       coba aja ini, kalau bisa nerjemahin outputnya sendiri....saya acungkan

> 

> jempol 12 :-)

> 

> 

> 

> create table t ( x int );

> 

> insert into t values(1);

> 

> select sid, type, id1, id2 ,lmode,request from v$lock where sid =

> 

> (select sid from v$mystat  where rownum = 1);

> 

> set serveroutput on

> 

> exec dbms_output. put_line( dbms_transaction. local_transactio n_id(true) );

> 

> select sid, type, id1, id2,lmode,request from v$lock where sid =

> 

> (select sid from v$mystat  where rownum = 1);

> 

> update t set x = 0 where x=1;

> 

> select sid, type, id1, id2,lmode,request from v$lock where sid =

> 

> (select sid from v$mystat  where rownum = 1);

> 

> rollback;

> 

> select x from t where x=1 for update;

> 

> select sid, type, id1, id2,lmode,request from v$lock where sid =

> 

> (select sid from v$mystat  where rownum = 1);

> 

> 

> 

> 2009/4/13 Freddie Tanuwijaya <synar_0287@ yahoo. com>:

> 

> >

> 

> > saya blom cek ke v$lock tapi yg pasti query pl/sqlnya tidak ada select for 
> > update yg ada update dmna where nya menggunakan subquery.

> 

> > Mohon bantuannya menerangkan kedua macam lock ini, saya masi awam di admin. 
> > Thx

> 

> > --- On Mon, 4/13/09, Ujang Jaenudin <ujang.jaenudin@ gmail.com> wrote:

> 

> > From: Ujang Jaenudin <ujang.jaenudin@ gmail.com>

> 

> > Subject: Re: [indo-oracle] Cara ngatasin Locking

> 

> > To: indo-oracle@ yahoogroups. com

> 

> > Date: Monday, April 13, 2009, 9:17 AM

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >      dari v$lock typenya apa kah?

> 

> >

> 

> > TM or TX?

> 

> >

> 

> > kalau TM....apakah ada select for update?

> 

> >

> 

> > kalau TX apakah menggunakan connection pooling?

> 

> >

> 

> >

> 

> >

> 

> > On Sun, Apr 12, 2009 at 8:41 PM, Freddie Tanuwijaya

> 

> >

> 

> > <synar_0287@ yahoo. com> wrote:

> 

> >

> 

> >> Saudara-saudara saya mempunyai masalah, saya mempunya 1 transaksi n 
> >> biasanya itu membutuhkan waktu 1 menit untuk proses sehingga terjadi 
> >> locking ketika ada transaksi yg lain, saya sudah bersusaha untuk 
> >> mengurangi waktu prosesnya tapi hasilnya 1 menit sudah maksimal, apa ada 
> >> cara lain untuk mengatasi kasus locking ini?? Thx

> 

> >

> 

> >>

> 

> >

> 

> >>

> 

> >

> 

> >>

> 

> >

> 

> >>

> 

> >

> 

> >>

> 

> >

> 

> >> [Non-text portions of this message have been removed]

> 

> >

> 

> >>

> 

> >

> 

> >>

> 

> >

> 

> >>

> 

> >

> 

> >> ------------ --------- --------- ------

> 

> >

> 

> >>

> 

> >

> 

> >> --

> 

> >

> 

> >> -----------I. N.D.O - O.R.A.C.L.E- --------- -----

> 

> >

> 

> >> Keluar: indo-oracle- unsubscribe@ yahoogroups. com

> 

> >

> 

> >> Website: http://indooracle. wordpress. com

> 

> >

> 

> >> http://www.facebook .com/group. php?gid=51973053 515

> 

> >

> 

> >> ------------ --------- --------- --------- --------

> 

> >

> 

> >>

> 

> >

> 

> >> Bergabung dengan Indonesia Thin Client User Groups,

> 

> >

> 

> >> Terminal Server, Citrix, New Moon Caneveral, di:

> 

> >

> 

> >> http://indo- thin.blogspot. comYahoo! Groups Links

> 

> >

> 

> >>

> 

> >

> 

> >>

> 

> >

> 

> >>

> 

> >

> 

> >>

> 

> >

> 

> >

> 

> >

> 

> > --

> 

> >

> 

> > thanks and regards

> 

> >

> 

> > ujang | oracle dba | mysql dba

> 

> >

> 

> > http://ora62. wordpress. com

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> >

> 

> > [Non-text portions of this message have been removed]

> 

> >

> 

> >

> 

> >

> 

> > ------------ --------- --------- ------

> 

> >

> 

> > --

> 

> > -----------I. N.D.O - O.R.A.C.L.E- --------- -----

> 

> > Keluar: indo-oracle- unsubscribe@ yahoogroups. com

> 

> > Website: http://indooracle. wordpress. com

> 

> > http://www.facebook .com/group. php?gid=51973053 515

> 

> > ------------ --------- --------- --------- --------

> 

> >

> 

> > Bergabung dengan Indonesia Thin Client User Groups,

> 

> > Terminal Server, Citrix, New Moon Caneveral, di:

> 

> > http://indo- thin.blogspot. comYahoo! Groups Links

> 

> >

> 

> >

> 

> >

> 

> >

> 

> 

> 

> -- 

> 

> thanks and regards

> 

> ujang | oracle dba | mysql dba

> 

> http://ora62. wordpress. com

> 

> 

>  

> 

>       

> 

>     

>     

>       

>        

>       

>       

> 

> 

> 

> 

> 

> 

> 

> 

>       

> 

> 

>       

>       

> 

> 

>       

> 

> [Non-text portions of this message have been removed]

>




 

      

    
    
        
         
        
        








        


        
        


      

[Non-text portions of this message have been removed]

Kirim email ke