Instance 1:
Writing Block and Recovery Considerations For recovery purposes, instances that have past images will keep these past images in their buffer cache until notified by the master instance of the resource to release them. A block written record (BWR) is placed in its redo log buffer when an instance writes a block covered by a global resource or when it is told it can free a PI buffer. This record indicates to the recovery process that redo information for the block is not needed at this time. Although the BWR makes recovery more efficient, the instance does not force a flush of the log buffer after creating it because it is not essential for accurate recovery. Each block PI has a system change number (SCN). Instances regularly synchronize their SCNs, and PI SCN is guaranteed to be later than the previous modification performed on this block and earlier than modifications performed by the next instance. When a write completes, the writer updates the GRD with write completion and the new SCN information. The GCS requests instances to flush all PIs having earlier SCNs than the one in the block written to disk. Checkpoints are more involved on RAC instances and generate more work. When a checkpoint occurs:
Start dump data blocks tsn: 0 file#:1 minblk 95753 maxblk 95753 Block dump from cache: Dump of buffer cache at level 4 for tsn=0, rdba=4290057 BH (0x8df55108) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0x8dc86000 set: 6 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 58,28 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0x8df54308,0xd6cb7438] lru: [0x96ecccd8,0xd6e9a080] ckptq: [NULL] fileq: [NULL] objq: [0xcedd4f18,0xcedd4f18] objaq: [0x96eccd10,0xcedd4f08] use: [0xd6e1ee70,0xd6e1ee70] wait: [NULL] st: READING md: EXCL tch: 0 le: 0x7bfa6000 reading gc,associated with lock element 0x7bfa6000 flags: only_sequential_access cr pin refcnt: 0 sh pin refcnt: 0 BH (0x8df54258) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0x8dc72000 set: 6 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 58,28 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0x96eccca0,0x8df551b8] lru: [0xd6e9a080,0x8df54a98] lru-flags: moved_to_tail ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL] use: [0xd6e22f30,0xd6e22f30] wait: [NULL] st: CR md: SHR tch: 0 le: (nil) cr: [scn: 0x0.ac6456],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.ac6456],[sfl: 0x2],[lc: 0x0.ac6451] flags: only_sequential_access cr pin refcnt: 0 sh pin refcnt: 0 BH (0x96eccbf0) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0x960ec000 set: 6 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 58,28 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0x8df54a60,0x8df54308] lru: [0x8df547a8,0x8df551f0] obj-flags: object_ckpt_list ckptq: [0x8eecba50,0x8df54ca0] fileq: [0xd6eb8370,0x8df679c8] objq: [0xcedd4f28,0xcedd4f28] objaq: [0xcedd4f08,0x8df55228] st: PI md: NULL tch: 1 le: 0x7bfa6000 -- Past Image cr: [scn: 0x0.ac6452],[xid: 0x0],[uba: 0x0],[cls: 0x0.ac6452],[sfl: 0x0] flags: buffer_dirty remote_transfered LRBA: [0x132.a1c.0] LSCN: [0x0.abb823] HSCN: [0x0.ac6451] HSUB: [2] cr pin refcnt: 0 sh pin refcnt: 0 BH (0x8df549b0) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0x8dc7c000 set: 6 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 58,28 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0x8df53ea0,0x96eccca0] lru: [0x8df54340,0x8df544b8] lru-flags: moved_to_tail ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL] st: CR md: NULL tch: 1 le: (nil) cr: [scn: 0x0.ac643a],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.ac643a],[sfl: 0x0],[lc: 0x0.0] flags: remote_transfered cr pin refcnt: 0 sh pin refcnt: 0 BH (0x8df53df0) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0x8dc6c000 set: 6 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 58,28 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0x8df54480,0x8df54a60] lru: [0x8df544b8,0x8df541c8] lru-flags: moved_to_tail ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL] st: CR md: NULL tch: 1 le: (nil) cr: [scn: 0x0.ac642a],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.ac642a],[sfl: 0x2],[lc: 0x0.ac6426] flags: only_sequential_access cr pin refcnt: 0 sh pin refcnt: 0 BH (0x8df543d0) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0x8dc74000 set: 6 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 58,28 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0x8df54190,0x8df53ea0] lru: [0x8df54a98,0x8df53ed8] lru-flags: moved_to_tail ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL] st: CR md: NULL tch: 1 le: (nil) cr: [scn: 0x0.ac6427],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.ac6427],[sfl: 0x0],[lc: 0x0.0] flags: remote_transfered cr pin refcnt: 0 sh pin refcnt: 0 BH (0x8df540e0) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0x8dc70000 set: 6 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 58,28 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0x92ec39c0,0x8df54480] lru: [0x8df53ed8,0x8eecc870] lru-flags: moved_to_tail ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL] st: CR md: NULL tch: 1 le: (nil) cr: [scn: 0x0.ac641a],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.ac641a],[sfl: 0x0],[lc: 0x0.0] flags: remote_transfered cr pin refcnt: 0 sh pin refcnt: 0 Block dump from disk: buffer tsn: 0 rdba: 0x00417609 (1/95753) scn: 0x0000.00abb7cf seq: 0x01 flg: 0x06 tail: 0xb7cf0601 frmt: 0x02 chkval: 0xeab4 type: 0x06=trans data Hex dump of block: st=0, typ_found=1 Dump of memory from 0x00007F85F7BA9A00 to 0x00007F85F7BABA00 7F85F7BA9A00 0000A206 00417609 00ABB7CF 06010000 [.....vA.........] 7F85F7BA9A10 0000EAB4 00000001 0001495E 00ABB7CE [........^I......] 7F85F7BA9A20 00000000 00030002 00000000 00080012 [................] 7F85F7BA9A30 00000AE2 01804A41 0009010A 00002001 [....AJ....... ..] 7F85F7BA9A40 00ABB7CF 000B0011 00000822 01804BA9 [........"....K..] 7F85F7BA9A50 001200BD 00008000 00ABB7CD 00010100 [................] 7F85F7BA9A60 0014FFFF 1F830376 00001F83 03760001 [....v.........v.] 7F85F7BA9A70 2C000000 0401002C 641E57C3 0301002C [...,,....W.d,...] 7F85F7BA9A80 2C1E57C3 C3040100 2C641D57 C3030100 [.W.,....W.d,....] 7F85F7BA9A90 002C1D57 57C30401 002C641C 57C30301 [W.,....W.d,....W] 7F85F7BA9AA0 01002C1C 1B57C304 01002C64 1B57C303 [.,....W.d,....W.] 7F85F7BA9AB0 0401002C 641A57C3 0301002C 2C1A57C3 [,....W.d,....W.,] 7F85F7BA9AC0 C3040100 2C641957 C3030100 002C1957 [....W.d,....W.,.] 7F85F7BA9AD0 57C30401 002C6418 57C30301 01002C18 [...W.d,....W.,..] 7F85F7BA9AE0 1757C304 01002C64 1757C303 0401002C [..W.d,....W.,...] 7F85F7BA9AF0 641657C3 0301002C 2C1657C3 C3040100 [.W.d,....W.,....] 7F85F7BA9B00 00000000 00000000 00000000 00000000 [................] Repeat 44 times 7F85F7BA9DD0 012C0000 5CC30401 002C3B0B 5CC30301 [..,....\.;,....\] 7F85F7BA9DE0 01002C0B 0A5CC304 01002C64 0A5CC303 [.,....\.d,....\.] 7F85F7BA9DF0 0401002C 64095CC3 0301002C 2C095CC3 [,....\.d,....\.,] 7F85F7BA9E00 C3040100 2C64085C C3030100 002C085C [....\.d,....\.,.] 7F85F7BA9E10 5CC30401 002C6407 5CC30301 01002C07 [...\.d,....\.,..] 7F85F7BA9E20 065CC304 01002C64 065CC303 0401002C [..\.d,....\.,...] 7F85F7BA9E30 64055CC3 0301002C 2C055CC3 C3040100 [.\.d,....\.,....] 7F85F7BA9E40 2C64045C C3030100 002C045C 5CC30401 [\.d,....\.,....\] 7F85F7BA9E50 002C6403 5CC30301 01002C03 025CC304 [.d,....\.,....\.] 7F85F7BA9E60 01002C64 025CC303 0401002C 64015CC3 [d,....\.,....\.d] 7F85F7BA9E70 0201002C 002C5CC3 5BC30401 002C6464 [,....\,....[dd,.] 7F85F7BA9E80 5BC30301 01002C64 635BC304 01002C64 [...[d,....[cd,..] 7F85F7BA9E90 635BC303 0401002C 64625BC3 0301002C [..[c,....[bd,...] 7F85F7BA9EA0 2C625BC3 C3040100 2C64615B C3030100 [.[b,....[ad,....] 7F85F7BA9EB0 002C615B 5BC30401 002C6460 5BC30301 [[a,....[`d,....[] 7F85F7BA9EC0 01002C60 5F5BC304 01002C64 5F5BC303 [`,....[_d,....[_] 7F85F7BA9ED0 0401002C 645E5BC3 0301002C 2C5E5BC3 [,....[^d,....[^,] 7F85F7BA9EE0 C3040100 2C645D5B C3030100 002C5D5B [....[]d,....[],.] 7F85F7BA9EF0 5BC30401 002C645C 5BC30301 01002C5C [...[\d,....[\,..] 7F85F7BA9F00 5B5BC304 01002C64 5B5BC303 0401002C [..[[d,....[[,...] 7F85F7BA9F10 645A5BC3 0301002C 2C5A5BC3 C3040100 [.[Zd,....[Z,....] 7F85F7BA9F20 2C64595B C3030100 002C595B 5BC30401 [[Yd,....[Y,....[] 7F85F7BA9F30 002C6458 5BC30301 01002C58 575BC304 [Xd,....[X,....[W] 7F85F7BA9F40 01002C64 575BC303 0401002C 64565BC3 [d,....[W,....[Vd] 7F85F7BA9F50 0301002C 2C565BC3 C3040100 2C64555B [,....[V,....[Ud,] 7F85F7BA9F60 C3030100 002C555B 5BC30401 002C6454 [....[U,....[Td,.] 7F85F7BA9F70 5BC30301 01002C54 535BC304 01002C64 [...[T,....[Sd,..] 7F85F7BA9F80 535BC303 0401002C 64525BC3 0301002C [..[S,....[Rd,...] 7F85F7BA9F90 2C525BC3 C3040100 2C64515B C3030100 [.[R,....[Qd,....] 7F85F7BA9FA0 002C515B 5BC30401 002C6450 5BC30301 [[Q,....[Pd,....[] 7F85F7BA9FB0 01002C50 4F5BC304 01002C64 4F5BC303 [P,....[Od,....[O] 7F85F7BA9FC0 0401002C 644E5BC3 0301002C 2C4E5BC3 [,....[Nd,....[N,] 7F85F7BA9FD0 C3040100 2C644D5B C3030100 002C4D5B [....[Md,....[M,.] 7F85F7BA9FE0 5BC30401 002C644C 5BC30301 01002C4C [...[Ld,....[L,..] 7F85F7BA9FF0 4B5BC304 01002C64 4B5BC303 0401002C [..[Kd,....[K,...] 7F85F7BAA000 644A5BC3 0301002C 2C4A5BC3 C3040100 [.[Jd,....[J,....] 7F85F7BAA010 2C64495B C3030100 002C495B 5BC30401 [[Id,....[I,....[] 7F85F7BAA020 002C6448 5BC30301 01002C48 475BC304 [Hd,....[H,....[G] 7F85F7BAA030 01002C64 475BC303 0401002C 64465BC3 [d,....[G,....[Fd] 7F85F7BAA040 0301002C 2C465BC3 C3040100 2C64455B [,....[F,....[Ed,] 7F85F7BAA050 C3030100 002C455B 5BC30401 002C6444 [....[E,....[Dd,.] 7F85F7BAA060 5BC30301 01002C44 435BC304 01002C64 [...[D,....[Cd,..] 7F85F7BAA070 435BC303 0401002C 64425BC3 0301002C [..[C,....[Bd,...] 7F85F7BAA080 2C425BC3 C3040100 2C64415B C3030100 [.[B,....[Ad,....] 7F85F7BAA090 002C415B 5BC30401 002C6440 5BC30301 [[A,....[@d,....[] 7F85F7BAA0A0 01002C40 3F5BC304 01002C64 3F5BC303 [@,....[?d,....[?] 7F85F7BAA0B0 0401002C 643E5BC3 0301002C 2C3E5BC3 [,....[>d,....[>,] 7F85F7BAA0C0 C3040100 2C643D5B C3030100 002C3D5B [....[=d,....[=,.] 7F85F7BAA0D0 5BC30401 002C643C 5BC30301 01002C3C [...[d,....Z>,....Z] 7F85F7BAA6A0 002C643D 5AC30301 01002C3D 3C5AC304 [=d,....Z=,....Z<] 7F85F7BAA6B0 01002C64 3C5AC303 0401002C 643B5AC3 [d,....Z<,....Z;d] 7F85F7BAAC70 59C30301 01002C3E 3D59C304 01002C64 [...Y>,....Y=d,..] 7F85F7BAAC80 3D59C303 0401002C 643C59C3 0301002C [..Y=,....Yd,....X>] 7F85F7BAB250 0401002C 643D58C3 0301002C 2C3D58C3 [,....X=d,....X=,] 7F85F7BAB260 C3040100 2C643C58 C3030100 002C3C58 [....Xd,....W>,....] 7F85F7BAB830 2C643D57 C3030100 002C3D57 57C30401 [W=d,....W=,....W] 7F85F7BAB840 002C643C 57C30301 01002C3C 3B57C304 [1, wm 32768, RMno 0, reminc 62, dom 0] Block header dump: 0x00417609 Object id on Block? Y seg/obj: 0x1495e csc: 0x00.abb7ce itc: 2 flg: O typ: 1 - DATA fsl: 0 fnx: 0x0 ver: 0x01 Itl Xid Uba Flag Lck Scn/Fsc 0x01 0x0012.008.00000ae2 0x01804a41.010a.09 --U- 1 fsc 0x0000.00abb7cf 0x02 0x0011.00b.00000822 0x01804ba9.00bd.12 C--- 0 scn 0x0000.00abb7cd bdba: 0x00417609 data_block_dump,data header at 0x7f85f7ba9a5c =============== tsiz: 0x1fa0 hsiz: 0x14 pbl: 0x7f85f7ba9a5c 76543210 flag=-------- ntab=1 nrow=1 frre=-1 fsbo=0x14 fseo=0x376 avsp=0x1f83 tosp=0x1f83 0xe:pti[0] nrow=1 offs=0 0x12:pri[0] offs=0x376 block_row_dump: tab 0, row 0, @0x376 tl: 8 fb: --H-FL-- lb: 0x1 cc: 1 col 0: [ 4] c3 5c 0b 3b end_of_block_dump GLOBAL CACHE ELEMENT DUMP (address: 0x7bfa6000): --lock element id1: 0x17609 id2: 0x1 pkey: OBJ#84318 block: (1/95753) lock: NG rls: 0x0 acq: 0x3 latch: 7 -- NULL GLOBAL flags: 0x20 fair: 0 recovery: 0 fpin: 'ktswh23: ktsfbkl' bscn: 0x0.ac6451 bctx: (nil) write: 0 scan: 0xd000005 lcp: 0xd36ce7a0 lnk: [0xd36ce7f8,0xd36ce7f8] lch: [0x96eccd20,0x8df55238] seq: 34524 hist: 17 146:6 14 8 324 50 38 231 230 227 21 37:2 145:0 LIST OF BUFFERS LINKED TO THIS GLOBAL CACHE ELEMENT: flg: 0x00080000 state: READING tsn: 0 tsh: 0 mode: EXCL pin: 'kduwh01: kdusru' addr: 0x8df55108 obj: 84318 cls: DATA bscn: 0x0.0 flg: 0x08000001 state: PI tsn: 0 tsh: 1 addr: 0x96eccbf0 obj: 84318 cls: DATA bscn: 0x0.ac6451 piscn: 0x0.ac6452 clscn: 0x0.ac6452 GCS SHADOW 0x7bfa6078,1 resp[0xcfe5c5e0,0x17609.1] pkey 84318.0 grant 0 cvt 2 mdrole 0xc8 st 0x101 lst 0xc0 CONVERTQ rl G1 master 1 owner 1 sid 0 remote[(nil),0] hist 0x88149530f062c288 history 0x8.0x5.0xb.0x3.0xf.0x26.0x25.0xa.0x8.0x1. cflag 0x0 sender 0 flags 0x10 replay# 0 abast (nil).x0.1 dbmap (nil) disk: 0x0000.00000000 write request: 0x0000.00000000 pi scn: 0x0000.00ac6452 sq[0xcfe5c620,0xcfe5c620] msgseq 0x0 updseq 0x0 reqids[22469,0,0] infop 0xcee3d880 lockseq x187 GCS SHADOW END GCS RESOURCE 0xcfe5c5e0 hashq [0xdb595658,0xcfe62578] name[0x17609.1] pkey 84318.0 grant 0xcecec160 cvt 0x7bfa6078 send 0xcecec160@1,3 write (nil),0@65536 flag 0x10002 mdrole 0x42 mode 2 scan 0.232 role GLOBAL disk: 0x0000.00abb7cf write: 0x0000.00000000 cnt 0x0 hist 0xd7 xid 0x0000.000.00000000 sid 0 pkwait 0s rmacks 0 refpcnt 0 weak: 0x0000.00000000 pkey 84318.0 hv 119 [stat 0x0, 1->1, wm 32768, RMno 0, reminc 62, dom 0] kjga st 0x4, step 0.0.0, cinc 64, rmno 15, flags 0x0 lb 0, hb 0, myb 32449, drmb 32449, apifrz 0 GCS SHADOW 0xcecec160,3 resp[0xcfe5c5e0,0x17609.1] pkey 84318.0 grant 2 cvt 0 mdrole 0xc2 st 0x100 lst 0x40 GRANTQ rl G1 master 1 owner 2 sid 0 remote[0x61f98bf8,43] hist 0x887299f0510e4126 history 0x26.0x2.0x39.0x8.0x5.0x3e.0x26.0x39.0x8.0x1. cflag 0x0 sender 0 flags 0x10 replay# 0 abast (nil).x0.1 dbmap (nil) disk: 0x0000.00000000 write request: 0x0000.00000000 pi scn: 0x0000.00ac6450 sq[0xcfe5c610,0xcfe5c610] msgseq 0x292b updseq 0x0 reqids[19172,0,0] infop (nil) lockseq xc4 GCS SHADOW END GCS SHADOW 0x7bfa6078,1 resp[0xcfe5c5e0,0x17609.1] pkey 84318.0 grant 0 cvt 2 mdrole 0xc8 st 0x101 lst 0xc0 CONVERTQ rl G1 master 1 owner 1 sid 0 remote[(nil),0] hist 0x88149530f062c288 history 0x8.0x5.0xb.0x3.0xf.0x26.0x25.0xa.0x8.0x1. cflag 0x0 sender 0 flags 0x10 replay# 0 abast (nil).x0.1 dbmap (nil) disk: 0x0000.00000000 write request: 0x0000.00000000 pi scn: 0x0000.00ac6452 sq[0xcfe5c620,0xcfe5c620] msgseq 0x0 updseq 0x0 reqids[22469,0,0] infop 0xcee3d880 lockseq x187 GCS SHADOW END GCS RESOURCE END 2011-06-22 20:51:21.737794 : kjbmbassert [0x17609.1] 2011-06-22 20:51:21.738025 : kjbmsassert(0x17609.1)(2) End dump data blocks tsn: 0 file#: 1 minblk 95753 maxblk 95753Instance 2:
Start dump data blocks tsn: 0 file#:1 minblk 95753 maxblk 95753 Block dump from cache: Dump of buffer cache at level 4 for tsn=0, rdba=4290057 BH (0xafed7940) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0xaf1d8000 set: 5 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 15,19 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0xafed7410,0xd9fb48e0] lru: [0xaff06738,0xd52c01d8] obj-flags: object_ckpt_list ckptq: [0xd52c3d30,0xafed3d08] fileq: [0xd52c3d50,0xaff06660] objq: [0xaff06760,0xcb9c1060] objaq: [0xaff06770,0xcb9c1040] st: XCURRENT md: NULL tch: 1 le: 0x61f98b80 flags: buffer_dirty remote_transfered LRBA: [0x55.f6e1.0] LSCN: [0x0.97bdb9] HSCN: [0x0.97bdc9] HSUB: [1] cr pin refcnt: 0 sh pin refcnt: 0 BH (0xafed7360) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0xaf1d0000 set: 5 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 15,19 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0xafed7298,0xafed79f0] lru: [0xd52c01d8,0xafed72d0] lru-flags: moved_to_tail ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL] st: CR md: NULL tch: 1 le: (nil) cr: [scn: 0x0.97bdc7],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.97bdc7],[sfl: 0x0],[lc: 0x0.97bdc7] flags: remote_transfered cr pin refcnt: 0 sh pin refcnt: 0 BH (0xafed71e8) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0xaf1ce000 set: 5 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 15,19 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0xafed9460,0xafed7410] lru: [0xafed7448,0xafed9498] lru-flags: moved_to_tail ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL] st: CR md: NULL tch: 1 le: (nil) cr: [scn: 0x0.97bdc5],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.97bdc5],[sfl: 0x0],[lc: 0x0.97bdc5] flags: remote_transfered cr pin refcnt: 0 sh pin refcnt: 0 BH (0xafed93b0) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0xaf1fc000 set: 5 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 15,19 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0xb0f18b48,0xafed7298] lru: [0xafed72d0,0xb0f18b80] lru-flags: moved_to_tail ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL] st: CR md: NULL tch: 1 le: (nil) cr: [scn: 0x0.97bdc3],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.97bdc3],[sfl: 0x0],[lc: 0x0.97bdc3] flags: remote_transfered cr pin refcnt: 0 sh pin refcnt: 0 BH (0xb0f18a98) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0xb0762000 set: 5 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 15,19 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0xafed8148,0xafed9460] lru: [0xafed9498,0xafed8180] lru-flags: moved_to_tail ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL] st: CR md: NULL tch: 1 le: (nil) cr: [scn: 0x0.97bdc1],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.97bdc1],[sfl: 0x0],[lc: 0x0.97bdc1] flags: remote_transfered cr pin refcnt: 0 sh pin refcnt: 0 BH (0xafed8098) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0xaf1e2000 set: 5 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 15,19 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0xaff06700,0xb0f18b48] lru: [0xb0f18b80,0xafef6d88] lru-flags: moved_to_tail ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL] st: CR md: NULL tch: 1 le: (nil) cr: [scn: 0x0.97bdbf],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.97bdbf],[sfl: 0x0],[lc: 0x0.97bdbe] flags: remote_transfered cr pin refcnt: 0 sh pin refcnt: 0 BH (0xaff06650) file#: 1 rdba: 0x00417609 (1/95753) class: 1 ba: 0xaf5d4000 set: 5 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 15,19 dbwrid: 0 obj: 84318 objn: 84318 tsn: 0 afn: 1 hint: f hash: [0xd9fb48e0,0xafed8148] lru: [0xafed3b00,0xafed7a28] obj-flags: object_ckpt_list ckptq: [0xafed8f48,0xafed96a0] fileq: [0xafed7950,0xd52c3d50] objq: [0xcb9c1060,0xafed7a50] objaq: [0xb5ecd178,0xafed7a60] st: PI md: NULL tch: 1 le: 0x61f98b80 --Past Image cr: [scn: 0x0.97bdb4],[xid: 0x0],[uba: 0x0],[cls: 0x0.97bdb4],[sfl: 0x0] flags: buffer_dirty remote_transfered LRBA: [0x55.d365.0] LSCN: [0x0.978da0] HSCN: [0x0.97bdaf] HSUB: [1] cr pin refcnt: 0 sh pin refcnt: 0 Block dump from disk: buffer tsn: 0 rdba: 0x00417609 (1/95753) scn: 0x0000.00978d91 seq: 0x01 flg: 0x06 tail: 0x8d910601 frmt: 0x02 chkval: 0x81cc type: 0x06=trans data Hex dump of block: st=0, typ_found=1 Dump of memory from 0x00002AB4A7A4EA00 to 0x00002AB4A7A50A00 2AB4A7A4EA00 0000A206 00417609 00978D91 06010000 [.....vA.........] 2AB4A7A4EA10 000081CC 00000001 0001495E 00978D8F [........^I......] 2AB4A7A4EA20 00000000 00030002 00000000 000C0014 [................] 2AB4A7A4EA30 00000391 01801B5D 001300D0 00002001 [....]........ ..] 2AB4A7A4EA40 00978D91 00210005 000010CF 00C0829C [......!.........] 2AB4A7A4EA50 00270376 00008000 00978D8D 00010100 [v.'.............] 2AB4A7A4EA60 0014FFFF 1F8317E5 00001F83 17E50001 [................] 2AB4A7A4EA70 2C000000 C3040100 2C642D21 C3030100 [...,....!-d,....] 2AB4A7A4EA80 002C2D21 21C30401 002C642C 21C30301 [!-,....!,d,....!] 2AB4A7A4EA90 01002C2C 2B21C304 01002C64 2B21C303 [,,....!+d,....!+] 2AB4A7A4EAA0 0401002C 642A21C3 0301002C 2C2A21C3 [,....!*d,....!*,] 2AB4A7A4EAB0 C3040100 2C642921 C3030100 002C2921 [....!)d,....!),.] 2AB4A7A4EAC0 21C30401 002C6428 21C30301 01002C28 [...!(d,....!(,..] 2AB4A7A4EAD0 2721C304 01002C64 2721C303 0401002C [..!'d,....!',...] 2AB4A7A4EAE0 642621C3 0301002C 2C2621C3 C3040100 [.!&d,....!&,....] 2AB4A7A4EAF0 2C642521 C3030100 002C2521 21C30401 [!%d,....!%,....!] 2AB4A7A4EB00 00000000 00000000 00000000 00000000 [................] Repeat 371 times 2AB4A7A50240 01012C00 4D22C304 01002C5F 4D22C303 [.,...."M_,...."M] 2AB4A7A50250 0401002C 644C22C3 0301002C 2C4C22C3 [,...."Ld,...."L,] 2AB4A7A50260 C3040100 2C644B22 C3030100 002C4B22 [...."Kd,...."K,.] 2AB4A7A50270 22C30401 002C644A 22C30301 01002C4A [..."Jd,...."J,..] 2AB4A7A50280 4922C304 01002C64 4922C303 0401002C [.."Id,...."I,...] 2AB4A7A50290 644822C3 0301002C 2C4822C3 C3040100 [."Hd,...."H,....] 2AB4A7A502A0 2C644722 C3030100 002C4722 22C30401 ["Gd,...."G,...."] 2AB4A7A502B0 002C6446 22C30301 01002C46 4522C304 [Fd,...."F,...."E] 2AB4A7A502C0 01002C64 4522C303 0401002C 644422C3 [d,...."E,...."Dd] 2AB4A7A502D0 0301002C 2C4422C3 C3040100 2C644322 [,...."D,...."Cd,] 2AB4A7A502E0 C3030100 002C4322 22C30401 002C6442 [...."C,...."Bd,.] 2AB4A7A502F0 22C30301 01002C42 4122C304 01002C64 [..."B,...."Ad,..] 2AB4A7A50300 4122C303 0401002C 644022C3 0301002C [.."A,...."@d,...] 2AB4A7A50310 2C4022C3 C3040100 2C643F22 C3030100 [."@,...."?d,....] 2AB4A7A50320 002C3F22 22C30401 002C643E 22C30301 ["?,....">d,...."] 2AB4A7A50330 01002C3E 3D22C304 01002C64 3D22C303 [>,...."=d,...."=] 2AB4A7A50340 0401002C 643C22C3 0301002C 2C3C22C3 [,...."d,....!>,...] 2AB4A7A50910 643D21C3 0301002C 2C3D21C3 C3040100 [.!=d,....!=,....] 2AB4A7A50920 2C643C21 C3030100 002C3C21 21C30401 [!1, wm 32768, RMno 0, reminc 62, dom 0] Block header dump: 0x00417609 Object id on Block? Y seg/obj: 0x1495e csc: 0x00.978d8f itc: 2 flg: O typ: 1 - DATA fsl: 0 fnx: 0x0 ver: 0x01 Itl Xid Uba Flag Lck Scn/Fsc 0x01 0x0014.00c.00000391 0x01801b5d.00d0.13 --U- 1 fsc 0x0000.00978d91 0x02 0x0005.021.000010cf 0x00c0829c.0376.27 C--- 0 scn 0x0000.00978d8d bdba: 0x00417609 data_block_dump,data header at 0x2ab4a7a4ea5c =============== tsiz: 0x1fa0 hsiz: 0x14 pbl: 0x2ab4a7a4ea5c 76543210 flag=-------- ntab=1 nrow=1 frre=-1 fsbo=0x14 fseo=0x17e5 avsp=0x1f83 tosp=0x1f83 0xe:pti[0] nrow=1 offs=0 0x12:pri[0] offs=0x17e5 block_row_dump: tab 0, row 0, @0x17e5 tl: 8 fb: --H-FL-- lb: 0x1 cc: 1 col 0: [ 4] c3 22 4d 5f end_of_block_dump GLOBAL CACHE ELEMENT DUMP (address: 0x61f98b80): --lock element id1: 0x17609 id2: 0x1 pkey: OBJ#84318 block: (1/95753) lock: XG rls: 0x0 acq: 0x0 latch: 7 exclusive global flags: 0x20 fair: 0 recovery: 0 fpin: 'kduwh01: kdusru' bscn: 0x0.97bafa bctx: (nil) write: 0 scan: 0x0 lcp: (nil) lnk: [NULL] lch: [0xaff06780,0xafed94e0] seq: 40651 hist: 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 LIST OF BUFFERS LINKED TO THIS GLOBAL CACHE ELEMENT: flg: 0x08000001 state: XCURRENT tsn: 0 tsh: 1 mode: SHR addr: 0xafed93b0 obj: 84318 cls: DATA flg: 0x08000001 state: PI tsn: 0 tsh: 1 addr: 0xaff06650 obj: 84318 cls: DATA piscn: 0x0.97bdb4 clscn: 0x0.97bdb4 GCS CLIENT 0x61f98bf8,42 resp[(nil),0x17609.1] pkey 84318.0 only client here, grant 2 cvt 0 mdrole 0xc2 st 0x100 lst 0x20 GRANTQ rl G1 master 1 owner 2 sid 0 remote[0xcecec160,2] hist 0x8f0a41e071e1483c history 0x3c.0x10.0x5.0xf.0x7.0x3c.0x10.0x5.0xf.0x1. cflag 0x0 sender 1 flags 0x0 replay# 0 abast (nil).x0.1 dbmap (nil) disk: 0x0000.00978d9a write request: 0x0000.00000000 pi scn: 0x0000.0097bdb4 sq[(nil),(nil)] msgseq 0x291c updseq 0x0 reqids[7233,0,0] infop (nil) lockseq xbd pkey 84318.0 hv 119 [stat 0x0, 1->1, wm 32768, RMno 0, reminc 62, dom 0] kjga st 0x4, step 0.0.0, cinc 64, rmno 15, flags 0x0 lb 0, hb 0, myb 61121, drmb 32449, apifrz 0 GCS CLIENT END 2011-06-22 20:34:29.243634 : kjbmbassert [0x17609.1] 2011-06-22 20:34:29.243804 : kjbmsassert(0x17609.1)(1) End dump data blocks tsn: 0 file#: 1 minblk 95753 maxblk 95753The cache fusion technology evolves various background processes such as the GCS processes (identified by LMSn) and GES daemon (identified by LMD). The global cache service (GCS) and global enqueue service (GES) handle the management of the cluster piece of the database software. A global cache element is an Oracle-specific data structure representing a cache fusion resource. There is a 1:1 corresponding relationship between a global cache element and a cache fusion resource in the GCS. Oracle RAC uses a messaging mechanism to maintain resource statuses. Both GCS and GES use messages containing information to ensure that the current block image can be located. These messages also identify block copies being retained by any specific instance for use by the recovery mechanisms. The recovery-specific information contains sequence numbers to identify the order of changes made to that block since it was read from disk. The global resource directory (GRD) is a repository of information about the current status of resources shared by the instances. The GRD contains two groups of resources: enqueue resources, managed by the GES, and buffer cache resources, managed by the GCS. GCS and GES maintain the contents of the GRD. The LMSn are the processes that handle remote GCS messages. Oracle RAC software provides for up to 10 GCS processes. The number of LMSn processes varies depending on the number of CPU's on the node. Oracle by default starts one LMS process for every two CPU's. LMD is the resource-agent process that manages GES resource requests, such as deadlock detection of GES requests.
GES and GCS
The GES coordinates enqueues that are shared globally. The GCS is the controlling mechanism that implements cache fusion. It is responsible for block transfers between instances. In RAC, the cache fusion technology manages resources at the global level identified by a three-character lock structure. Three characters are required to distinguish resources. The first characterizes a traditional resource type: N (Null), S (Shared), or X (Exclusive). The second represents a role. There are two roles:- Local (L): The blocks associated with the resource can be manipulated without further reference to GCS or other instances. For example, when a resource is acquired for the first time, it is acquired with a local role.
- Global (G): The blocks covered by the resource might not be usable without further information from the GCS or other nodes. For example, if the resource is acquired and it already has dirty buffers on a remote instance, then it takes on a global resource role.
- Only one instance can have the resource in exclusive mode.
- All unwritten changes must be in local cache.
- At checkpoint, instances can write changed blocks to disk without confirmation from GCS.
Mode | Definition | Description |
---|---|---|
NL0 | Null local 0 | The same as N in Oracle OPS with no past image |
SL0 | Shared local 0 | The same as S in Oracle OPS with no past image |
XL0 | Exclusive local 0 | The same as X in Oracle OPS with no past image |
NG0 | Null global 0 | Global N lock and the Instance owns current block image. |
SG0 | Shared global 0 | Instance owns current block image and the resource can be shared with the other nodes, there is no past image. Can write current image. |
XG0 | Exclusive global 0 | Instance owns current block image for modification. Can write current image. |
NG1 | Null global 1 | Instance owns past block image. Can write PI image. |
SG1 | Shared global 1 | Instance owns past block image and the resource can be shared with the other nodes. Can write current and PI images. |
XG1 | Exclusive global 1 | Instance owns past block image for modification. Can write current and PI images. |
- The GCS notifies all nodes with PI blocks that the checkpoint occurred.
- The node with the most current PI will write dirty blocks to disk.
- Resources are updated accordingly (global resources are changed to local, etc).
- The Global Resource Directory is modified to reflect the resource changes.
This is important to understand since the impact too many checkpoints have on a RAC system is greater than that of a standalone system. Checkpoints generate interconnect traffic and require each node with PI blocks to modify the GRD within the shared pool.
本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1277499