hm... sepertinya bukan jalurnya....dan take your own risk saja :) dari http://translate.google.com/translate?langpair=zh-CN|en&hl=zh-CN&ie=UTF8&u=http://www.eygle.com/archives/2005/11/whats_oracle-dsi.html
"DSI is an acronym for Data Server Internals, Oracle DSI is Oracle's in-house training for engineers to use after-sale materials. This is usually printed on the document: Oracle Confidential: For internal Use Only." file2 nya ada di eygle.com atau di itpub.net ternyata chinesse memang cool dalam bajak membajak :) -- thanks and regards ujang | oracle dba jakarta | http://ora62.wordpress.com 2008/9/24 Yoel Susanto <[EMAIL PROTECTED]>: > bisa kirim link nya untuk download PDF nya? > > http://www.indo-oracletech.com/forum/viewtopic.php?f=4&t=307&p=1585#p1585 > > :) > > 2008/9/24 Ujang Jaenudin <[EMAIL PROTECTED]> > >> he..he... >> kalo masih kurang jelas dan DSI tidak ditemukan, ini saya paste dari >> salah satu DSI :) >> >> DSI403e: Recovery Architecture Components >> D12866GC10 Edition >> >> hal 12 (versi PDF): >> >> Rollback >> The server process reads the undo blocks belonging to the transaction, >> reads the >> appropriate data blocks, and puts the old data into the blocks again. >> (Incidentally, this >> process moves the block forward in time again. It does not restore the >> block to >> previous state, as other transactions may have altered other rows in >> the same block). >> Making a change to the data block generates redo; however no undo is >> generated. >> Similar to a commit, a final record is inserted into the redo buffer >> and a flush is >> requested. >> >> kalo baca paragrap diatas, tulisan si tom memang berkorelasi, ya itu >> dia cuman butuh effort untuk membuktikannya >> >> mengenai dbwr -- lgwr, >> mustinya kalau konsep ACID dan arstektur oracle dah ngelotok , bukan >> sesuatu yg dipertanyakan :) >> begini pada saat si buffer cache sedang sibuk kerja, terjadi >> transaksi, kadang si dirty buffer harus diflush oleh dbwr ke datafile, >> nah sebelum dirty buffer tsb benar2 yakin akan ditulis, oracle akan >> make sure bahwa LOG nya sudah duluan ketulis di disk (write ahead >> logging), logikanya hal tsb secara normal operasional mungkin gak >> mungkin karena ada checkpoint, transaksi punya "transaction control" , >> dll. tapi.... >> >> DSI403e: Recovery Architecture Components >> D12866GC10 Edition >> >> hal 64 (versi PDF): >> >> LGWR before DBWn: At some point the block buffer cache needs to write the >> dirty >> blocks to disk. The DBWn is not permitted to write a block that has >> redo information >> in the redo buffer. Only blocks that do not have redo log data in memory >> may be >> written out. If the DBWn process must write the blocks, it will signal the >> LGWR >> process to flush the redo buffer, and then wait with writing the data >> blocks until the >> LGWR signals back it has written the redo to disk. This ensures that >> the first rule (log >> before data) is also maintained on the disk versions of the redo and block >> data. >> >> >> -- >> thanks and regards >> ujang | oracle dba >> jakarta | http://ora62.wordpress.com >> >> On Wed, Sep 24, 2008 at 1:25 PM, Yoel Susanto >> <[EMAIL PROTECTED]<yoel.susanto%40gmail.com>> >> wrote: >> > 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]<ujang.jaenudin%40gmail.com> >> > >> > >> >> 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><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> >> <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><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> >> >> <ujang.jaenudin%40gmail.com> >> >> >> >> >> > >> >> >> >

