Karena diskusi ini sudah semakin tidak terbaca secara historical...tanggapan saya taruh di
http://www.indo-oracletech.com/forum/viewtopic.php?f=4&t=307&p=1582#p1582 Siilakan di baca pak Ujang :) 2008/9/24 Ujang Jaenudin <[EMAIL PROTECTED]> > 1. google saja DSI401 (dumps, crashes, and corruption) > 2. dbwr bisa memerintahkan lgwr untuk flush log buffer (dbwr write > ahead logging), kejadiannya bisa pas checkpoint, > atau pada saat free buffer inspected, etc > 3. pelaksana flushing tetep si lgwr, > > hm....saya kalo baca article si tom kok rasanya gak bisa secara mudah > diterima secara harfiah saja, butuh another way to prove it :) > bahkan kadang2 musti buka kamus basic arsitektur oracle :) > > > -- > thanks and regards > ujang | oracle dba > jakarta | http://ora62.wordpress.com > > On Tue, Sep 23, 2008 at 9:56 PM, Yoel Susanto <[EMAIL > PROTECTED]<yoel.susanto%40gmail.com>> > wrote: > > 1. hmmm menarik, bisa bantu saya untuk mengerti analisa anda dari hasil > test > > case itu pak? > > bagian mana yang menunjukan pada anda bahwa anda penambahan redo di redo > > file saat anda melakukan rollback. > > > > 2. anda bilang > > > > *rollback -> flush log buffer > > > > pada bagian ini sepertinya match : > > "rollback is buffered in the cache just like data blocks are. > > the rollback blocks are written into the buffer cache and if needed, > > dbwr will write them to disk - > > into the rollback segments on disk. "* > > > > - Which process flushes log buffer sih pak? DBWR atau LGWR? :) > > - Saya yakin rollback yang di maksud Tom disini adalah rollback blocks > not > > rollback event/execution. > > rollback segments juga bukan nama lain dari redo log file khan. > > > > 2008/9/23 Ujang Jaenudin <[EMAIL PROTECTED]<ujang.jaenudin%40gmail.com> > > > > > >> :) > >> mengenai log buffer space, ya....penyebabnya 2 itu.... > >> saya asumsikan "log buffer space" wait event ini berkorelasi dgn > >> statistic "redo log space requests". > >> > >> rollback -> flush log buffer > >> > >> pada bagian ini sepertinya match : > >> "rollback is buffered in the cache just like data blocks are. > >> the rollback blocks are written into the buffer cache and if needed, > >> dbwr will write them to disk - > >> into the rollback segments on disk. " > >> > >> untuk membuktikannya, saya coba test case di pc berikut ini: > >> > >> select * from v$log; > >> -- current redolog adalah group#1 > >> > >> select member from v$logfile; > >> > >> alter session set tracefile_identifier = TRACE_REDOLOG; > >> > >> alter system dump logfile 'E:\ORADATA\ORA10\REDO01.LOG'; > >> > >> ----- Redo read statistics for thread 1 ----- > >> Read rate (ASYNC): 8292Kb in 9.75s => 0.83 Mb/sec > >> Total physical reads: 12288Kb > >> Longest record: 11Kb, moves: 0/19413 (0%) > >> Change moves: 10634/35530 (29%), moved: 3Mb > >> Longest LWN: 600Kb, moves: 2/1914 (0%), moved: 0Mb > >> Last redo scn: 0x0000.c3f3c723 (3287533347) > >> ---------------------------------------------- > >> > >> begin > >> for i in (select dcid from cc.dialcodes) loop > >> update cc.dialcodes set dctext='wwwwwwwwwwwwwwwwwwwwwwwwwwww' where > >> dcid=i.dcid; > >> end loop; > >> rollback; > >> end; > >> > >> alter system dump logfile 'E:\ORADATA\ORA10\REDO01.LOG'; > >> > >> ----- Redo read statistics for thread 1 ----- > >> Read rate (ASYNC): 9496Kb in 10.73s => 0.86 Mb/sec > >> Total physical reads: 12288Kb > >> Longest record: 11Kb, moves: 0/22245 (0%) > >> Change moves: 12217/41052 (29%), moved: 3Mb > >> Longest LWN: 602Kb, moves: 2/1995 (0%), moved: 0Mb > >> Last redo scn: 0x0000.c3f3c92e (3287533870) > >> ---------------------------------------------- > >> > >> begin > >> for i in (select dcid from cc.dialcodes) loop > >> update cc.dialcodes set dctext='wwwwwwwwwwwwwwwwwwwwwwwwwwww' where > >> dcid=i.dcid; > >> end loop; > >> commit; > >> end; > >> > >> alter system dump logfile 'E:\ORADATA\ORA10\REDO01.LOG'; > >> > >> ----- Redo read statistics for thread 1 ----- > >> Read rate (ASYNC): 9887Kb in 11.79s => 0.82 Mb/sec > >> Total physical reads: 12288Kb > >> Longest record: 11Kb, moves: 0/23457 (0%) > >> Change moves: 12898/43338 (29%), moved: 4Mb > >> Longest LWN: 602Kb, moves: 2/2031 (0%), moved: 0Mb > >> Last redo scn: 0x0000.c3f3c9a4 (3287533988) > >> ---------------------------------------------- > >> > >> ====================================================== > >> detail rollback: > >> > >> REDO RECORD - Thread:1 RBA: 0x000031.00004a1e.0164 LEN: 0x00f8 VLD: 0x01 > >> SCN: 0x0000.c3f3c914 SUBSCN:1036 09/23/2008 19:05:46 > >> CHANGE #1 TYP:0 CLS: 1 AFN:6 DBA:0x018000a3 OBJ:51441 > >> SCN:0x0000.c3f3c914 SEQ: 98 OP:11.5 > >> KTB Redo > >> op: 0x02 ver: 0x01 > >> op: C uba: 0x00804ba1.0055.36 > >> KDO Op code: URP row dependencies Disabled > >> xtype: XR flags: 0x00000000 bdba: 0x018000a3 hdba: 0x0180008c > >> itli: 1 ispac: 0 maxfr: 4858 > >> tabn: 0 slot: 21(0x15) flag: 0x2c lock: 0 ckix: 0 > >> ncol: 7 nnew: 1 size: 0 > >> col 5: [28] > >> 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 > 77 > >> 77 77 77 > >> CHANGE #2 TYP:0 CLS:36 AFN:2 DBA:0x00804ba1 OBJ:4294967295 > >> SCN:0x0000.c3f3c914 SEQ: 6 OP:5.6 > >> ktubu redo: slt: 35 rci: 54 opc: 11.1 objn: 51441 objd: 51441 tsn: 6 > >> Undo type: Regular undo Undo type: User undo done Last > >> buffer split: No > >> Tablespace Undo: No > >> 0x00000000 > >> ktuxvoff: 0x04b4 ktuxvflg: 0x0002 > >> > >> REDO RECORD - Thread:1 RBA: 0x000031.00004a1f.006c LEN: 0x00f8 VLD: 0x01 > >> SCN: 0x0000.c3f3c914 SUBSCN:1037 09/23/2008 19:05:46 > >> CHANGE #1 TYP:0 CLS: 1 AFN:6 DBA:0x018000a3 OBJ:51441 > >> SCN:0x0000.c3f3c914 SEQ: 99 OP:11.5 > >> KTB Redo > >> op: 0x02 ver: 0x01 > >> op: C uba: 0x00804ba1.0055.35 > >> KDO Op code: URP row dependencies Disabled > >> xtype: XR flags: 0x00000000 bdba: 0x018000a3 hdba: 0x0180008c > >> itli: 1 ispac: 0 maxfr: 4858 > >> tabn: 0 slot: 20(0x14) flag: 0x2c lock: 0 ckix: 0 > >> ncol: 7 nnew: 1 size: 0 > >> col 5: [28] > >> 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 > 77 > >> 77 77 77 > >> > >> ================================================== > >> detail commit; > >> > >> REDO RECORD - Thread:1 RBA: 0x000031.00000006.0070 LEN: 0x01e4 VLD: 0x01 > >> SCN: 0x0000.c3e3e94a SUBSCN: 6 09/19/2008 18:00:53 > >> CHANGE #1 TYP:0 CLS:32 AFN:2 DBA:0x00800231 OBJ:4294967295 > >> SCN:0x0000.c3e3e94a SEQ: 3 OP:5.1 > >> ktudb redo: siz: 88 spc: 3526 flg: 0x0022 seq: 0x0073 rec: 0x31 > >> xid: 0x0008.00c.0000018a > >> ktubu redo: slt: 12 rci: 48 opc: 11.1 objn: 9001 objd: 9001 tsn: 2 > >> Undo type: Regular undo Undo type: Last buffer split: No > >> Tablespace Undo: No > >> 0x00000000 > >> KDO undo record: > >> KTB Redo > >> op: 0x02 ver: 0x01 > >> op: C uba: 0x00800231.0073.2f > >> KDO Op code: DRP row dependencies Disabled > >> xtype: XA flags: 0x00000000 bdba: 0x00c07e0d hdba: 0x00c00bcb > >> itli: 1 ispac: 0 maxfr: 4858 > >> tabn: 0 slot: 25(0x19) > >> CHANGE #2 TYP:0 CLS: 1 AFN:3 DBA:0x00c07e0d OBJ:9001 > >> SCN:0x0000.c3e3e94a SEQ: 1 OP:11.2 > >> KTB Redo > >> op: 0x02 ver: 0x01 > >> op: C uba: 0x00800231.0073.31 > >> KDO Op code: IRP row dependencies Disabled > >> xtype: XA flags: 0x00000000 bdba: 0x00c07e0d hdba: 0x00c00bcb > >> itli: 1 ispac: 0 maxfr: 4858 > >> tabn: 0 slot: 25(0x19) size/delt: 153 > >> fb: --H-FL-- lb: 0x1 cc: 37 > >> null: > >> > >> > >> > 01234567890123456789012345678901234567890123456789012345678901234567890123456789 > >> -------N-----N-------NNNNNN--NNNN--N- > >> col 0: [ 2] c1 42 > >> col 1: [ 6] c5 07 30 19 1d 3e > >> col 2: [13] 33 6b 62 6b 67 76 74 70 70 64 6e 70 67 > >> col 3: [ 6] c5 04 06 63 60 1f > >> col 4: [ 2] c1 18 > >> col 5: [12] 54 41 42 4c 45 20 41 43 43 45 53 53 > >> col 6: [ 7] 43 4c 55 53 54 45 52 > >> col 7: *NULL* > >> col 8: [ 2] c1 17 > >> col 9: [ 3] 53 59 53 > >> col 10: [ 5] 55 53 45 52 24 > >> col 11: [ 9] 49 54 55 40 53 45 4c 24 32 > >> col 12: [ 7] 43 4c 55 53 54 45 52 > >> col 13: *NULL* > >> col 14: [ 2] c1 06 > >> col 15: [ 2] c1 07 > >> col 16: [ 2] c1 03 > >> col 17: [ 1] 80 > >> col 18: [ 2] c1 02 > >> col 19: [ 2] c1 02 > >> col 20: [ 2] c1 04 > >> col 21: *NULL* > >> col 22: *NULL* > >> col 23: *NULL* > >> col 24: *NULL* > >> col 25: *NULL* > >> col 26: *NULL* > >> col 27: [ 3] c2 54 16 > >> col 28: [ 2] c1 02 > >> col 29: *NULL* > >> col 30: *NULL* > >> col 31: *NULL* > >> col 32: *NULL* > >> col 33: [ 2] c1 02 > >> col 34: [12] 53 45 4c 24 46 35 42 42 37 34 45 31 > >> col 35: *NULL* > >> col 36: [ 7] 78 6c 09 13 12 1a 33 > >> > >> ================================================== > >> > >> kalo saya tangkap dari dump redolog tsb, even rollback akan flush ke > >> redolog :) > >> > >> > >> -- > >> thanks and regards > >> ujang | oracle dba > >> jakarta | http://ora62.wordpress.com > >> > >> 2008/9/23 Yoel Susanto <[EMAIL > >> PROTECTED]<yoel.susanto%40gmail.com><yoel.susanto% > 40gmail.com> > >> >: > >> > >> > Pak Ujang, > >> > > >> > 1. yup, kalo gak salah itu angkanya statistic, namun hal tersebut > masih > >> > berhubungan..... > >> > redo log space requests itu hanya symptom, disini saya guessing saja > >> > rootcause nya :) > >> > > >> > -- Yoel > >> > Oohh gitu... > >> > Maap saya salah tangkap kemana arah argument anda soalnya di akhir nya > >> anda > >> > tulis > >> > > >> >>> penyebab utama redo log buffer space : > >> >>> - ukuran log buffer yg terlalu kecil > >> >>> - IO tempat redolog buffer terlalu lambat > >> > > >> > Jadi saya mengira anda menyalahkan log buffer-nya. > >> > > >> > 2. tidak mutlak berlaku, tergantung transaksinya, tapi kalau batch > >> > mustinya terjadi :) > >> > > >> > >> > http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1539606184994 > >> > > >> > -- Yoel > >> > Statement yang bagian mana yang harus saya baca nih. > >> > Saya tidak melihat atau menangkap statement yang berkata/berarti : > >> > Rollback event/operation akan memflush redo data dari log buffer ke > redo > >> log > >> > file > >> > > >> > 2008/9/23 Ujang Jaenudin > >> > <[EMAIL PROTECTED] <ujang.jaenudin%40gmail.com> > <ujang.jaenudin%40gmail.com> > > >> > > >> > > >> >> > 1. TS nya tanya tentang redo log space, bukan buffer space. > >> >> > "redo log space requests" itu berhubungan dengan space di redo log > >> FILE, > >> >> > bukan buffer. > >> >> > > >> >> > >> >> yup, kalo gak salah itu angkanya statistic, namun hal tersebut masih > >> >> berhubungan..... > >> >> redo log space requests itu hanya symptom, disini saya guessing saja > >> >> rootcause nya :) > >> >> > >> >> > 2. User melakukan Rollback transaction tidak akan mem-flush redo > >> buffer > >> >> ke > >> >> > redolog. > >> >> > >> >> tidak mutlak berlaku, tergantung transaksinya, tapi kalau batch > >> >> mustinya terjadi :) > >> >> > >> >> > >> >> > >> > >> > http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1539606184994 > >> >> > >> >> > >> >> -- > >> >> thanks and regards > >> >> ujang | oracle dba > >> >> jakarta | http://ora62.wordpress.com > >> >> > >> >> > > >> >> > 2008/9/23 Ujang Jaenudin > >> >> > <[EMAIL PROTECTED] <ujang.jaenudin%40gmail.com><ujang.jaenudin% > 40gmail.com> > >> <ujang.jaenudin%40gmail.com> > >> > >> >> > > >> >> > > >> >> >> hm... untuk lebih jelas, bisa cek angka "redo buffer allocation > >> >> >> retries" apakah selalu naik? > >> >> >> > >> >> >> redo log space request memang berhubungan dgn log_buffer, > >> >> >> ada beberapa event LGWR nulis buffer dari log_buffer ke redolog: > >> >> >> - setiap 3 detik > >> >> >> - commit > >> >> >> - rollback > >> >> >> - mencapai angka _LOG_IO_SIZE (biasanya angka terkecil dari 1/3 > dari > >> >> >> log_buffer ATAU 1MB) > >> >> >> - sudah mencapai 1MB > >> >> >> - ketika DBWR melakukan "write ahead logging" > >> >> >> > >> >> >> jika memang transaksinya batch dan commit per ribuan records, > >> >> >> kemungkinan belum sampai 3 detik log buffer sudah terisi > 1MB > atau > >> >> >> mungkin melebihi 10MB :), cek dgn query ini untuk mengetahui > average > >> >> >> sekali LGWR nulis dari log buffer ke redolog: > >> >> >> > >> >> >> select round((a.value / b.value) + 0.5,0) as > >> >> >> avg_redo_blks_per_write, > >> >> >> round((a.value / b.value) + 0.5,0) * c.lebsz as avg_io_size > >> >> >> from v$sysstat a, v$sysstat b, x$kccle c > >> >> >> where c.lenum = 1and a.name = 'redo blocks written' > >> >> >> and b.name = 'redo writes'; > >> >> >> > >> >> >> disisi lain redolog berukuran 20MB saja, dimana secara teori, LGWR > >> >> >> akan melakukan penulisan tidak sampai exactly 20M, tapi kira2 90% > >> saja > >> >> >> kalo gak lupa :), karena anda punya 4 group maka probability > >> transaksi > >> >> >> hanya akan survive sampai sekitar 72MB saja, jika sekali > >> >> >> commit-batch > >> >> >> transaksi anda melebihi 72MB, kemungkinan besar stuck atau log > >> >> >> buffer > >> >> >> space karena redo entries sebelumnya belum bisa dioverwrite karena > >> >> >> untuk kebutuhan instance recovery jika memang ada instance crash. > >> >> >> sehingga redolog size perlu diperhatikan disini.... > >> >> >> karena log buffer space bisa terjadi setelah log switch. > >> >> >> > >> >> >> penyebab utama redo log buffer space : > >> >> >> - ukuran log buffer yg terlalu kecil > >> >> >> - IO tempat redolog buffer terlalu lambat > >> >> >> > >> >> >> -- > >> >> >> thanks and regards > >> >> >> ujang | oracle dba > >> >> >> jakarta | http://ora62.wordpress.com > >> >> >> > >> >> >> 2008/9/23 Ivan Wahyudi <[EMAIL PROTECTED] > >> >> >> <ivan43x%40yahoo.com><ivan43x% > 40yahoo.com> > >> >> >> <ivan43x%40yahoo.com><ivan43x% > >> >> 40yahoo.com>>: > >> >> >> > >> >> >> > Database kami (9i) tidak dalam archive mode. > >> >> >> > pada saat itu sudah saya check tidak ada 'Incomplete > checkpoint'. > >> >> >> > kemudian angka dibawah ini bukanlah current value. > >> >> >> > *)redo log space requests = 47 > >> >> >> > *)redo log space wait time =58 > >> >> >> > saat transaksi tesebut nilainya mengalami penambahan. Tetapi > >> setelah > >> >> >> proses > >> >> >> > selesai saat ini 'log space request=21'. > >> >> >> > > >> >> >> > NB: kami melakukan input data dalam bentuk batch pada aplikasi, > >> jadi > >> >> >> > saat > >> >> >> > proses Save akan terjadi commit record dgn jumlah ribuan. > >> >> >> > > >> >> >> > apa yang sebaiknya saya lakukan pd DB ketika terjadi input data > >> >> >> > dlm > >> >> >> bentuk > >> >> >> > batch tersebut..? > >> >> >> > > >> >> >> > kemudian bagaimana cara mengatasi redo log space requests yang > >> terus > >> >> >> > meningkat pd transaksi OLTP..? > >> >> >> > > >> >> >> > NB: kami menggunakan Apps11i. > >> >> >> > > >> >> >> > Thanks, > >> >> >> > ~Ivan~ > >> >> >> > > >> >> >> > Yoel Susanto <[EMAIL PROTECTED] > >> >> >> > <yoel.susanto%40gmail.com><yoel.susanto% > 40gmail.com> > >> >> >> > <yoel.susanto%40gmail.com><yoel.susanto% > >> >> 40gmail.com>> wrote: > >> >> >> Kepada: > >> >> >> > [email protected] > >> >> >> > <indo-oracle%40yahoogroups.com><indo-oracle% > 40yahoogroups.com> > >> >> >> > <indo-oracle%40yahoogroups.com><indo-oracle% > >> >> 40yahoogroups.com> > >> >> >> > Dari: "Yoel Susanto" > >> >> >> > <[EMAIL PROTECTED] <yoel.susanto%40gmail.com><yoel.susanto% > 40gmail.com><yoel.susanto% > >> 40gmail.com><yoel.susanto% > >> >> 40gmail.com>> > >> >> >> > Tanggal: Mon, 22 Sep 2008 17:47:12 +0800 > >> >> >> > Topik: Re: [indo-oracle] redo log space requests > >> >> >> > > >> >> >> > naikan size redo log anda pak...20M terlalu kecil untuk system > >> anda. > >> >> >> > coba raise it to 100M > >> >> >> > > >> >> >> > 2008/9/20 Ivan Wahyudi <[EMAIL PROTECTED] > >> >> >> > <ivan43x%40yahoo.com><ivan43x% > 40yahoo.com> > >> >> >> > <ivan43x%40yahoo.com><ivan43x% > >> >> 40yahoo.com>> > >> >> >> > > >> >> >> >> Dear Master > >> >> >> >> > >> >> >> >> Kondisi Database saya saat ini menunjukan nilai, > >> >> >> >> *)redo log space requests = 47 > >> >> >> >> *)redo log space wait time =58 > >> >> >> >> > >> >> >> >> dengan alokasi memory : > >> >> >> >> buffer_cache = 200m > >> >> >> >> log_buffer = 10m > >> >> >> >> redo log files =4 group, 2 logfiles masing-masing=20m, total 8 > >> >> logfiles > >> >> >> >> > >> >> >> >> Buffer Chache Hit Ratio= 90% - 99% > >> >> >> >> > >> >> >> >> Dengan nilai Hit ratio tersebut seharusnya saya tidak perlu > >> khawatir > >> >> >> tapi > >> >> >> >> yang terjadi adalah > >> >> >> >> 1 ) mengapa proses Saving data memakan waktu cukup lama ? > >> >> >> >> 2) mengapa "redo log space requests" sangat tinggi..? > >> >> >> >> apakah nilai log_buffer kurang?? > >> >> >> >> > >> >> >> >> Mohon advice dan petunjuknya. > >> >> >> >> > >> >> >> >> > >> >> >> >> Note : melakukan entry data ribuan records melalui Appl. > >> >> >> >> > >> >> >> >> Terimakasih, > >> >> >> >> ~Ivan~ > > -- Cheers, Yoel Susanto www.indo-oracletech.com [Non-text portions of this message have been removed]

