menarik pendapat pak Ujang,
apakah bisa dijelaskan lebih dalam tentang apa itu asynchronous commit?
soalnya setahu saya programmer jarang yg tahu masalah beginian.
salam
Henry
Ujang Jaenudin wrote:
>
>
> mas defri,
>
> kalau commit per setiap kali loop, maka akan muncul wait event klasik
> oracle yaitu "log file sync" yg secara design memang itu salah satu yg
> harus dihindari...karena database oracle beraliran "write ahead log"
> :-)
>
> kecuali kalau memakai asynchronous commit (ada 2 cara:
> commit_write='BATCH,NOWAIT' atau _WAIT_FOR_SYNC=FALSE) yg notabene
> masih dipertanyakan data konsistensi dan integritynya pada saat high
> transaksi dan tiba2 mesin crash (apes2nya database ndak bisa
> direcover).
>
> kalau menurut saya lebih spesifk n kalo loop then commit, perlu
> itung2an juga dgn parameter log_buffer.
>
> jika n*avg row length > (_log_io_size=1/3*log_buffer), perkiraan akan
> muncul 3 wait event:
> - log file sync
> - log buffer space
> - log file parallel write
>
> 2009/4/15 defri afrian <[email protected]
> <mailto:def_rian80%40yahoo.com>>:
> > 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]
> <mailto:yulius_wibowo%40yahoo.com>> wrote:
> > From: Yulius Wibowo <[email protected]
> <mailto:yulius_wibowo%40yahoo.com>>
> > Subject: [indo-oracle] Re: Cara ngatasin Locking
> > To: [email protected] <mailto:indo-oracle%40yahoogroups.com>
> > 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]
> >
> >
> >
> > ------------------------------------
> >
> > --
> > -----------I.N.D.O - O.R.A.C.L.E---------------
> > Keluar: [email protected]
> <mailto:indo-oracle-unsubscribe%40yahoogroups.com>
> > Website: http://indooracle.wordpress.com
> <http://indooracle.wordpress.com>
> > http://www.facebook.com/group.php?gid=51973053515
> <http://www.facebook.com/group.php?gid=51973053515>
> > -----------------------------------------------
> >
> > Bergabung dengan Indonesia Thin Client User Groups,
> > Terminal Server, Citrix, New Moon Caneveral, di:
> > http://indo-thin.blogspot.comYahoo
> <http://indo-thin.blogspot.comYahoo>! Groups Links
> >
> >
> >
> >
>
> --
> thanks and regards
> ujang | oracle dba | mysql dba
> http://ora62.wordpress.com <http://ora62.wordpress.com>
>
>