Upload
exem
View
88
Download
2
Embed Size (px)
Citation preview
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Ⅰ. Transaction slot Before-image Chaining
Ⅰ-1. Questions
Ⅰ-2. Architecture of transaction slot before-image chaining
Ⅰ-3. Flow chart of delayed block cleanout
Ⅱ. Block cleanout Analysis
Ⅱ-1. Fast block cleanout (Fast commit)
Ⅱ-2. Delayed block cleanout using “commit SCN” of transaction slot
Ⅱ-3. Efficient Delayed Block Cleanout
(Delayed block cleanout using “commit SCN” of TRN CTL)
Ⅱ-4. Inefficient Delayed Block Cleanout
(Delayed block cleanout using ”commit SCN” of transaction slot before-image chaining)
Table of Agenda
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Select 시 db file sequential read가 반복적으로 수행되는 wait 현상이 대형 오라클 사이트에서 빈번하게 발생
File: Undo fileBlock: Undo block
Ⅰ-1. Questions
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Transaction slot의 commit scn을 data block itl의 scn/fsc 컬럼에 update 하는 것
Cleanout 이란 무엇인가?
Question 1
Answer 1
Data blockData blockBH (0x643fa1c8) file#: 5 rdba: 0x0140dcad (5/56493) class: 1 ba: 0x643b6000
st: XCURRENT md: EXCL fpin: 'kdswh11: kdst_fetch' tch: 1Itl Xid Uba Flag Lck Scn/Fsc0x01 0x000a.000.00000534 0x018000d2.01e6.01 C--- 0 scn 0x0000.003dbe3a0x02 0x0007.000.000004ed 0x018000a2.01d5.01 ---- 1 fsc 0x0000.00000000tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
BH (0x643fa1c8) file#: 5 rdba: 0x0140dcad (5/56493) class: 1 ba: 0x643b6000st: XCURRENT md: EXCL fpin: 'kdswh11: kdst_fetch' tch: 1
Itl Xid Uba Flag Lck Scn/Fsc0x01 0x000a.000.00000534 0x018000d2.01e6.01 C--- 0 scn 0x0000.003dbe3a0x02 0x0007.000.000004ed 0x018000a2.01d5.01 --U- 1 fsc 0x0000.003dbe4etl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
Undo Headerindex state cflags wrap# uel scn dba-----------------------------------------------------------------------------------
0x00 10 0x80 0x04ed 0x0000 0x0000.003dbe4e 0x018000a20x01 9 0x00 0x04ec 0x0002 0x0000.003d6d72 0x00000000 0x02 9 0x00 0x04ec 0x0003 0x0000.003d6d72 0x00000000
Transaction 상태 Cleanout 상태
Commit scn
Commit scn적용 전
Commit scn적용 후
Transaction 상태
Ⅰ-1. Questions
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
순식간에 완료된다.
• 일부만 먼저 cleanout 하고 나머지는 나중에 cleanout하기 때문에 시간이 적게 소요된다.
만약 100억 건을 update 한 후에 Commit을 한다면,
100억 건에 대해서 모두 완료하기까지 시간이 얼마나 소요될까?
Question 2
Answer 2
Ⅰ-1. Questions
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Undo는 제한된 자원이기 때문에 트랜잭션 슬롯은 overwrite 된다.
나중에 사용하기 위해서 저장하고 있던 commit SCN은 어떻게 될까?
Question 3
• Undo는 제한적인 자원이기 때문에 영원히 보관할 수 없고, 시간이 지나면 aging out 된다.
• Undo slot의 before image가 chaining 되면서 저장된다.
• (뒤의 슬라이드 참조)
Answer 3
Ⅰ-1. Questions
Undo Headerindex state cflags wrap# uel scn dba-----------------------------------------------------------------------------------
0x00 10 0x80 0x04ed 0x0000 0x0000.003dbe4e 0x018000a20x01 9 0x00 0x04ec 0x0002 0x0000.003d6d72 0x00000000 0x02 9 0x00 0x04ec 0x0003 0x0000.003d6d72 0x00000000
Commit scn
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
UNDO BLKrdba: 0x0180011e seq: 0x485 Rec # 0x2 slt: 0x06 xid: 0x0001.006.00000ad7uba: 0x0180011c.0485.31 ctl max scn: 0x0000.0022c7ff prv tx scn: 0x0000.0022c811
rdba: 0x0180011e (6/286)
TRN CTLseq: 0x0485 chd: 0x0006 ctl: 0x0005uba: 0x0180011c.0485.31 scn: 0x0000.0022c7ffindex state cflags wrap# uel scn dba-------------------------------------------------------------------------------0x05 9 0x00 0x0ad4 0xffff 0x0000.0022c818 0x0180011e0x06 9 0x00 0x0ad6 0x0005 0x0000.0022c811 0x0180011c
rdba: 0x01800160 (6/352)
• Chd: chain header로 링크드 리스트의 시작, 다음 번트랜잭션이 사용할 트랜잭션 테이블 슬롯
• Ctl: chain tail로 링크드 리스트의 끝, 해당 언두 세그먼트에서 마지막으로 사용한 트랜잭션 테이블 슬롯
TRN CTLseq: 0x0485 chd: 0x0005 ctl: 0x0006 uba: 0x0180011e.0485.02 scn: 0x0000.0022c811index state cflags wrap# uel scn dba---------------------------------------------------------------------------0x05 9 0x00 0x0ad4 0x0006 0x0000.0022c818 0x0180011e0x06 10 0x80 0x0ad7 0xffff 0x0000.0022c821 0x0180011f
rdba: 0x01800160 (6/352)
Update된 undo header block은TRN CTL uba에 before-image의 위치를 기록하고, SCN에 이전 슬롯의
SCN을 기록
2
file#=6 block#=352
Ⅰ-2. Architecture of transaction slot before-image chaining (1/3)
chd 0x0006 슬롯을 사용할 예정이기때문에 uba, trn ctl SCN, 0x06 slot
SCN이 before-image로 저장
1
Before-image
Update
2
0x06 슬롯 갱신(state 10, cflags 0x80, SCN 갱신)
3
1 11
2
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Ⅰ-2. Architecture of transaction slot before-image chaining (2/3)
TRN CTLseq: 0x0485 chd: 0x0006 ctl: 0x0005uba: 0x0180011c.0485.31 scn: 0x0000.0022c7ffindex state cflags wrap# uel scn dba-------------------------------------------------------------------------------0x05 9 0x00 0x0ad4 0xffff 0x0000.0022c818 0x0180011e0x06 9 0x00 0x0ad6 0x0005 0x0000.0022c811 0x0180011c
rdba: 0x01800160 (6/352)
TRN CTLseq: 0x0485 chd: 0x0005 ctl: 0x0006 uba: 0x0180011e.0485.02 scn: 0x0000.0022c811index state cflags wrap# uel scn dba-------------------------------------------------------------------------0x05 9 0x00 0x0ad4 0x0006 0x0000.0022c818 0x0180011e0x06 9 0x00 0x0ad7 0xffff 0x0000.0022c821 0x0180011f
rdba: 0x01800160 (6/352)
UNDO BLKrdba: 0x0180011e seq: 0x485 Rec # 0x2 slt: 0x06 xid: 0x0001.006.00000ad7uba: 0x0180011c.0485.31 ctl max scn: 0x0000.0022c7ff prv tx scn: 0x0000.0022c811
rdba: 0x0180011e (6/286)
Before-image
UNDO BLKrdba: 0x0180011f seq: 0x485 Rec # 0x2 slt: 0x05 xid: 0x0001.006.00000ad7uba: 0x0180011e.0485.02 ctl max scn: 0x0000.0022c811 prv tx scn: 0x0000.0022c818
rdba: 0x0180011f (6/287)
chd 0x0005 슬롯을 사용할 예정이기때문에 uba, trn ctl SCN, 0x05 slot
SCN이 before-image로 저장
1
1 1
TRN CTLseq: 0x0485 chd: 0x0006 ctl: 0x0005 uba: 0x0180011f.0485.02 scn: 0x0000.0022c818index state cflags wrap# uel scn dba---------------------------------------------------------------------------0x05 10 0x80 0x0ad5 0xffff 0x0000.0022c829 0x018001200x06 9 0x00 0x0ad7 0x0005 0x0000.0022c821 0x0180011f
rdba: 0x01800160 (6/352)
Update
Update된 undo header block은 TRN CTL uba에 before-image의 위치를기록하고, SCN에 이전 슬롯의 SCN을
기록
2
2
2
1
0x05 슬롯 갱신(state 10, cflags 0x80, SCN 갱신)
3
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Ⅰ-2. Architecture of transaction slot before-image chaining (3/3)
TRN CTLseq: 0x0485 chd: 0x0006 ctl: 0x0005uba: 0x0180011c.0485.31 scn: 0x0000.0022c7ffindex state cflags wrap# uel scn dba-------------------------------------------------------------------------------0x05 9 0x00 0x0ad4 0xffff 0x0000.0022c818 0x0180011e0x06 9 0x00 0x0ad6 0x0005 0x0000.0022c811 0x0180011c
rdba: 0x01800160 (6/352)
TRN CTLseq: 0x0485 chd: 0x0005 ctl: 0x0006 uba: 0x0180011e.0485.02 scn: 0x0000.0022c811index state cflags wrap# uel scn dba-------------------------------------------------------------------------0x05 9 0x00 0x0ad4 0x0006 0x0000.0022c818 0x0180011e0x06 9 0x00 0x0ad7 0xffff 0x0000.0022c821 0x0180011f
rdba: 0x01800160 (6/352)
UNDO BLKrdba: 0x0180011e seq: 0x485 Rec # 0x2 slt: 0x06 xid: 0x0001.006.00000ad7uba: 0x0180011c.0485.31 ctl max scn: 0x0000.0022c7ff prv tx scn: 0x0000.0022c811
rdba: 0x0180011e (6/286)
Before-image
UNDO BLKrdba: 0x0180011f seq: 0x485 Rec # 0x2 slt: 0x05 xid: 0x0001.006.00000ad7uba: 0x0180011e.0485.02 ctl max scn: 0x0000.0022c811 prv tx scn: 0x0000.0022c818
rdba: 0x0180011f (6/287)
TRN CTLseq: 0x0485 chd: 0x0006 ctl: 0x0005 uba: 0x0180011f.0485.02 scn: 0x0000.0022c818index state cflags wrap# uel scn dba---------------------------------------------------------------------------0x05 9 0x00 0x0ad5 0xffff 0x0000.0022c829 0x018001200x06 9 0x00 0x0ad7 0x0005 0x0000.0022c821 0x0180011f
rdba: 0x01800160 (6/352)
UNDO BLKrdba: 0x01800120 seq: 0x486 Rec # 0x2 slt: 0x06 xid: 0x0001.005.00000ad5 uba: 0x0180011f.0485.02 ctl max scn: 0x0000.0022c818 prv tx scn: 0x0000.0022c821
rdba: 0x01800120 (6/288)
chd 0x0006 슬롯을 사용할 예정이기때문에 uba, trn ctl SCN, 0x06 slot
SCN이 before-image로 저장
1
1
1
1
TRN CTLseq: 0x0486 chd: 0x0005 ctl: 0x0006 uba: 0x01800120.0486.02 scn: 0x0000.0022c821index state cflags wrap# uel scn dba--------------------------------------------------------------------------0x05 9 0x00 0x0ad5 0x0006 0x0000.0022c829 0x01800120 0x06 10 0x80 0x0ad8 0xffff 0x0000.0022c832 0x01800121
rdba: 0x01800160 (6/352)
Update
Update된 undo header block은 TRN CTL uba에 before-image의 위치를 기록
하고, SCN에 이전 슬롯의 SCN을 기록
2
0x06 슬롯 갱신(state 10, cflags 0x80, SCN 갱신)
3
2
2
Endless loop..
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
YES
NO
NO
YES
YES
NO
Wrap 번호가 같은가?
TRN CTL SCN 적용
Before-image SCN과 비교반복 수행
해당 SCN 적용
해당 SCN 적용
<Delayed Block cleanout 작업>
Efficient delayed block cleanout
Inefficient delayed block cleanout
delayed block cleanout using “commit SCN” of transaction slot
Query SCN이 TRNCTL SCN보다 최신인가?
Ⅰ-3. Flow chart of delayed block cleanout
Before-image SCN이Query SCN보다 최신인가?
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
<Inefficient delayed block cleanout> Undo Header
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0486 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x01800120.0486.02 scn: 0x0000.0022d821
index state cflags wrap# uel scn dba0x05 9 0x00 0x0ad5 0x0006 0x0000.0022d829 0x01800120 0x06 9 0x00 0x0ad8 0xffff 0x0000.0022d832 0x01800121
Undo Block
buffer tsn: 6 rdba: 0x01800120 (6/288)UNDO BLK:xid: 0x0001.005.00000ad5 seq: 0x486 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x2 slt: 0x06 objn: 70146(0x00011202) objd: 70146 tblspc: 5(0x00000005)uba: 0x0180011f.0485.02 ctl max scn: 0x0000.0022d818prv tx scn: 0x0000.0022d821 txn start scn: scn: 0x0000.0022d831 logon user: 5prev brb: 25166111 prev bcl: 0
Undo Block
buffer tsn: 6 rdba: 0x0180011f (6/287)UNDO BLK:xid: 0x0001.006.00000ad7 seq: 0x485 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x2 slt: 0x05 objn: 70146(0x00011202) objd: 70146 tblspc: 5(0x00000005)*-----------------------------uba: 0x0180011e.0485.02 ctl max scn: 0x0000.0022d811 prv tx scn: 0x0000.0022d818txn start scn: scn: 0x0000.0022d828 logon user: 5prev brb: 25166110 prev bcl: 0
Wrap 번호 비교
TRN CTL SCN을Query SCN과 비교
Before image SCN을Query SCN과 비교
해당 before image SCN으로 적용
0x0ad6 ≠0x0ad8
• Query SCN: 0x0000.0022d811• Wrap#: 0x0ad6 (itl의 xid)
1
2
3
4
d811 < d821
Query SCN TRN CTL SCN
d811 < d818
Query SCN TRN CTL SCN
d811 ≥ d811
Query SCN TRN CTL SCN
Ⅰ-3. Flow chart of delayed block cleanout
NO
NO
NO
Wrap 번호가 같은가?
해당 SCN 적용
Query SCN이 TRNCTL SCN보다 최신인가?
Before-image SCN이Query SCN보다 최신인가?
2
3
1
4
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Ⅰ. Transaction slot Before-image Chaining
Ⅰ-1. Questions
Ⅰ-2. Architecture of transaction slot before-image chaining
Ⅰ-3. Flow chart of delayed block cleanout
Ⅱ. Block cleanout Analysis
Ⅱ-1. Fast block cleanout (Fast commit)
Ⅱ-2. Delayed block cleanout using “commit SCN” of transaction slot
Ⅱ-3. Efficient Delayed Block Cleanout
(Delayed block cleanout using “commit SCN” of TRN CTL)
Ⅱ-4. Inefficient Delayed Block Cleanout
(Delayed block cleanout using ”commit SCN” of transaction slot before-image chaining)
Table of Agenda
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Commit SCN↓
9 (Committed)
10 (Active)
0x01 0x0008.013.000018a8
1--U- Commit SCN(Base#)
0x13 0x008004f8
0x008004f8.00cf.06
버퍼 캐시의 10% 초과하지 않는 블록들은
세션 메모리 내에 리스트로 생성
Fast block cleanout은
“트랜잭션이 종료되는 시점에 Dirty블록에 관련된 트랜잭션의 정보를 정리하는 작업”
0x18a8
Ⅱ-1. Fast block cleanout (Fast commit)
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Delayed block cleanout은
“커밋 시점에 클린아웃 되지 않은 블록들(변경하려는 블록의 수가 버퍼 캐시의 10%를 초과),
메모리에서 flush되어 cleanout 처리되지 않고 datafile에 기록된 블록들을 다음 세션에 의해 클린아웃 작업”
0x13 0x0080006c
0x01 0C--- Commit SCN0x008004f800cf.06
9 (Committed) Commit SCN0x18a8
0x0008.013.000018a8
Row Lock
클린아웃 되지 않은 트랜잭션의 xid를 이용해 transaction table을 확인(트랜잭션 종료여부, SCN)후,
해당 ITL에 Lock byte 해제, SCN 설정, Flag를 C---로 변경 후 이에 대한 redo log를 생성한다.
Ⅱ-2. Delayed block cleanout using “commit SCN” of transaction slot
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Upper bound commit은
“원래 commit이 일어난 시점의 SCN이어야 하지만 다른 트랜잭션에 의해 overwrite 되었을 경우,
cleanout 할 쿼리 SCN(818)부터 시작해서 원래 commit이 일어난 시점의 SCN(811) 사이에 있는 가장 높은 값(817)을 의미한다”
Upper bound commit
Upper bound commit
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
• Undo segment 10개 중 9개 offline, 1개만 online
• Undo segment의 34개 슬롯 중 32개 active, 2개만 사용 가능시나리오
Update Table T1
Flush Buffer
Commit
Update & Commit
Update & Commit
Update & Commit
Update & Commit
Select Table T1
t1
t2
t3
S1 S2Time
Ⅱ-3. Efficient Delayed Block Cleanout
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Rows
1. 초기상태
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Undo Header
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0014 ctl: 0x0004 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.1cc1.05 scn: 0x0000.006e8ee1
index state cflags wrap# uel scn dba0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 9 0x00 0x353a 0x0004 0x0000.006e8ee3 0x0180011c
Undo Block
ASCII HEXA code 41=> Value ‘A’
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Rows
ITL Undo Header
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0014 ctl: 0x0004 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.1cc1.05 scn: 0x0000.006e8ee1
index state cflags wrap# uel scn dba0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 9 0x00 0x353a 0x0004 0x0000.006e8ee3 0x0180011c
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0014 ctl: 0x0004 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.1cc1.05 scn: 0x0000.006e8ee1
index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 9 0x00 0x353a 0x0004 0x0000.006e8ee3 0x0180011c
Undo Header를메모리에 적재
Undo Block
ASCII HEXA code 41=> Value ‘A’
2. update t1 set col2='B';
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0014 ctl: 0x0004 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.1cc1.05 scn: 0x0000.006e8ee1
index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 9 0x00 0x353a 0x0004 0x0000.006e8ee3 0x0180011c
Undo Header
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0014 ctl: 0x0004 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.1cc1.05 scn: 0x0000.006e8ee1
index state cflags wrap# uel scn dba0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 9 0x00 0x353a 0x0004 0x0000.006e8ee3 0x0180011c
Undo Block
buffer tsn: 6 rdba: 0x0180011b (6/283)UNDO BLK:xid: 0x0006.014.0000353b seq: 0x1cc1 cnt: 0x31 irb: 0x31 icl: 0x0 flg: 0x0000* Rec #0xa slt: 0x14 objn: 78003(0x000130b3) objd: 78003 tblspc: 5(0x00000005)uba: 0x0180011c.1cc1.05 ctl max scn: 0x0000.006e8ee1 prv tx scn: 0x0000.006e8ee3txn start scn: scn: 0x0000.006e8efa logon user: 5prev brb: 25166108 prev bcl: 0
chd 0x0014 슬롯을 사용할 예정이기때문에 uba, TRN CTL SCN, 0x14 slot
SCN이 before-image로 저장
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
ASCII HEXA code 41=> Value ‘A’
2. update t1 set col2='B';
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
BH (0x63fe3de8) file#: 6 rdba: 0x01800120 (6/288) class: 27 ba: 0x63d6e000st: XCURRENT md: NULL tch: 1buffer tsn: 6 rdba: 0x01800120 (6/288)…TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.0a scn: 0x0000.006e8ee3
…index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b 0x14 10 0x80 0x353b 0x0005 0x0000.006e8efa 0x0180011b
Undo Block
buffer tsn: 6 rdba: 0x0180011b (6/283)UNDO BLK:xid: 0x0006.014.0000353b seq: 0x1cc1 cnt: 0x31 irb: 0x31 icl: 0x0 flg: 0x0000* Rec #0xa slt: 0x14 objn: 78003(0x000130b3) objd: 78003 tblspc: 5(0x00000005)uba: 0x0180011c.1cc1.05 ctl max scn: 0x0000.006e8ee1 prv tx scn: 0x0000.006e8ee3txn start scn: scn: 0x0000.006e8efa logon user: 5prev brb: 25166108 prev bcl: 0
Undo Header
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0014 ctl: 0x0004 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.1cc1.05 scn: 0x0000.006e8ee1
index state cflags wrap# uel scn dba0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 9 0x00 0x353a 0x0004 0x0000.006e8ee3 0x0180011c
Update된 undo header block은TRN CTL uba에 before-image의 위치를 기록,
SCN에 이전 슬롯의 SCN을 기록
0x14 슬롯 갱신(state, cflag, wrap#, scn)
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
ASCII HEXA code 41=> Value ‘A’
Before image가 있는Undo Block
2. update t1 set col2='B';
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Undo Block
buffer tsn: 6 rdba: 0x0180011b (6/283)UNDO BLK:xid: 0x0006.014.0000353b seq: 0x1cc1 cnt: 0x31 irb: 0x31 icl: 0x0 flg: 0x0000* Rec #0xa slt: 0x14 objn: 78003(0x000130b3) objd: 78003 tblspc: 5(0x00000005)uba: 0x0180011c.1cc1.05 ctl max scn: 0x0000.006e8ee1 prv tx scn: 0x0000.006e8ee3txn start scn: scn: 0x0000.006e8efa logon user: 5prev brb: 25166108 prev bcl: 0
BH (0x63fe3de8) file#: 6 rdba: 0x01800120 (6/288) class: 27 ba: 0x63d6e000st: XCURRENT md: NULL tch: 1buffer tsn: 6 rdba: 0x01800120 (6/288)…TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.0a scn: 0x0000.006e8ee3
…index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b 0x14 10 0x80 0x353b 0x0005 0x0000.006e8efa 0x0180011b
Undo Header
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0014 ctl: 0x0004 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.1cc1.05 scn: 0x0000.006e8ee1
index state cflags wrap# uel scn dba0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 9 0x00 0x353a 0x0004 0x0000.006e8ee3 0x0180011c
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
ASCII HEXA code 41=> Value ‘A’
2. update t1 set col2='B';
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Undo Block
buffer tsn: 6 rdba: 0x0180011b (6/283)UNDO BLK:xid: 0x0006.014.0000353b seq: 0x1cc1 cnt: 0x31 irb: 0x31 icl: 0x0 flg: 0x0000* Rec #0xa slt: 0x14 objn: 78003(0x000130b3) objd: 78003 tblspc: 5(0x00000005)uba: 0x0180011c.1cc1.05 ctl max scn: 0x0000.006e8ee1 prv tx scn: 0x0000.006e8ee3txn start scn: scn: 0x0000.006e8efa logon user: 5prev brb: 25166108 prev bcl: 0
BH (0x63fe3de8) file#: 6 rdba: 0x01800120 (6/288) class: 27 ba: 0x63d6e000st: XCURRENT md: NULL tch: 1buffer tsn: 6 rdba: 0x01800120 (6/288)…TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.0a scn: 0x0000.006e8ee3
…index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b 0x14 10 0x80 0x353b 0x0005 0x0000.006e8efa 0x0180011b
Undo Header
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0014 ctl: 0x0004 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.1cc1.05 scn: 0x0000.006e8ee1
index state cflags wrap# uel scn dba0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 9 0x00 0x353a 0x0004 0x0000.006e8ee3 0x0180011c
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
ASCII HEXA code 42=> Value ‘B’
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
ASCII HEXA code 41=> Value ‘A’
2. update t1 set col2='B';
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
3. alter system flush buffer_cache ;
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.0a scn: 0x0000.006e8ee3
index state cflags wrap# uel scn dba0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 10 0x80 0x353b 0x0005 0x0000.006e8efa 0x0180011b
buffer tsn: 6 rdba: 0x0180011b (6/283)UNDO BLK:xid: 0x0006.014.0000353b seq: 0x1cc1 cnt: 0x31 irb: 0x31 icl: 0x0 flg: 0x0000* Rec #0xa slt: 0x14 objn: 78003(0x000130b3) objd: 78003 tblspc: 5(0x00000005)uba: 0x0180011c.1cc1.05 ctl max scn: 0x0000.006e8ee1 prv tx scn: 0x0000.006e8ee3txn start scn: scn: 0x0000.006e8efa logon user: 5prev brb: 25166108 prev bcl: 0
flush
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
4. commit;
BH (0x637f5020) file#: 6 rdba: 0x01800120 (6/288) class: 27 ba: 0x63730000st: XCURRENT md: NULL fpin: 'ktuwh61: ktugus:ktucmt' tch: 1buffer tsn: 6 rdba: 0x01800120 (6/288)…TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0014 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.0a scn: 0x0000.006e8ee3
…index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3538 0x0014 0x0000.006e8ee4 0x0180011b 0x14 9 0x00 0x353b 0xffff 0x0000.006e8efd 0x0180011b
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.0a scn: 0x0000.006e8ee3
index state cflags wrap# uel scn dba0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 10 0x80 0x353b 0x0005 0x0000.006e8efa 0x0180011b
buffer tsn: 6 rdba: 0x0180011b (6/283)UNDO BLK:xid: 0x0006.014.0000353b seq: 0x1cc1 cnt: 0x31 irb: 0x31 icl: 0x0 flg: 0x0000* Rec #0xa slt: 0x14 objn: 78003(0x000130b3) objd: 78003 tblspc: 5(0x00000005)uba: 0x0180011c.1cc1.05 ctl max scn: 0x0000.006e8ee1 prv tx scn: 0x0000.006e8ee3txn start scn: scn: 0x0000.006e8efa logon user: 5prev brb: 25166108 prev bcl: 0
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
5. Undo Header Slot 재사용 (세션2에서 Update 첫 번째)
BH (0x637f5020) file#: 6 rdba: 0x01800120 (6/288) class: 27 ba: 0x63730000st: XCURRENT md: NULL fpin: 'ktuwh61: ktugus:ktucmt' tch: 2buffer tsn: 6 rdba: 0x01800120 (6/288)…TRN CTL:: seq: 0x1cc1 chd: 0x0014 ctl: 0x0014 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.32 scn: 0x0000.006e8ee4
…index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 10 0x80 0x3539 0x0005 0x0000.006e8f05 0x0180011d0x14 9 0x00 0x353b 0xffff 0x0000.006e8efd 0x0180011b
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
Session2> Update t2 set col2=‘B’;
Session2> Commit;
Undo Header
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.0a scn: 0x0000.006e8ee3
index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 10 0x80 0x353b 0x0005 0x0000.006e8efa 0x0180011b
Undo Block
buffer tsn: 6 rdba: 0x0180011d (6/285)UNDO BLK:xid: 0x0006.004.00003539 seq: 0x1cc1 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x1 slt: 0x04 objn: 78004(0x000130b4) objd: 78004 tblspc: 5(0x00000005)col 1: [2000]41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Undo Header
BH (0x637f5020) file#: 6 rdba: 0x01800120 (6/288) class: 27 ba: 0x63730000st: XCURRENT md: NULL fpin: 'ktuwh61: ktugus:ktucmt' tch: 2buffer tsn: 6 rdba: 0x01800120 (6/288)…TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011d.1cc1.02 scn: 0x0000.006e8efd
…index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3539 0xffff 0x0000.006e8f06 0x0180011d 0x14 10 0x80 0x353c 0x0005 0x0000.006e8f0d 0x0180011e
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.0a scn: 0x0000.006e8ee3
index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 10 0x80 0x353b 0x0005 0x0000.006e8efa 0x0180011b
6. Undo Header Slot 재사용 (세션2에서 Update 두 번째)
Session2> Update t2 set col2=‘B’;
Session2> Commit;
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
Undo Block
buffer tsn: 6 rdba: 0x0180011e (6/286)UNDO BLK:xid: 0x0006.014.0000353c seq: 0x1cc1 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x1 slt: 0x14 objn: 78004(0x000130b4) objd: 78004 tblspc: 5(0x00000005)col 1: [2000]50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Undo Block
Undo Header
BH (0x637f5020) file#: 6 rdba: 0x01800120 (6/288) class: 27 ba: 0x63730000st: XCURRENT md: NULL fpin: 'ktuwh61: ktugus:ktucmt' tch: 2buffer tsn: 6 rdba: 0x01800120 (6/288)…TRN CTL:: seq: 0x1cc1 chd: 0x0014 ctl: 0x0014 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011e.1cc1.02 scn: 0x0000.006e8f06
…index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 10 0x80 0x353a 0x0005 0x0000.006e8f15 0x0180011f0x14 9 0x00 0x353c 0xffff 0x0000.006e8f0e 0x0180011e
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.0a scn: 0x0000.006e8ee3
index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 10 0x80 0x353b 0x0005 0x0000.006e8efa 0x0180011b
buffer tsn: 6 rdba: 0x0180011f (6/287)UNDO BLK:xid: 0x0006.004.0000353a seq: 0x1cc1 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x1 slt: 0x04 objn: 78004(0x000130b4) objd: 78004 tblspc: 5(0x00000005)col 1: [2000]51 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Session2> Update t2 set col2=‘B’;
Session2> Commit;
7. Undo Header Slot 재사용 (세션2에서 Update 세 번째)
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
BH (0x637f5020) file#: 6 rdba: 0x01800120 (6/288) class: 27 ba: 0x63730000st: XCURRENT md: NULL fpin: 'ktuwh61: ktugus:ktucmt' tch: 3buffer tsn: 6 rdba: 0x01800120 (6/288)…TRN CTL:: seq: 0x1cc2 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011f.1cc1.02 scn: 0x0000.006e8f0e
…index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x353a 0xffff 0x0000.006e8f16 0x0180011f 0x14 10 0x80 0x353d 0x0005 0x0000.006e8f1c 0x01800130
Query SCN
8. Undo Header Slot 재사용 (세션2에서 Update 네 번째)
Undo Block
Undo Header
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc1 chd: 0x0004 ctl: 0x0004 inc: 0x00000000 nfb: 0x0000
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011b.1cc1.0a scn: 0x0000.006e8ee3
index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x3538 0xffff 0x0000.006e8ee4 0x0180011b0x14 10 0x80 0x353b 0x0005 0x0000.006e8efa 0x0180011b
buffer tsn: 6 rdba: 0x01800130 (6/304)UNDO BLK:xid: 0x0006.014.0000353d seq: 0x1cc2 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x1 slt: 0x14 objn: 78004(0x000130b4) objd: 78004 tblspc: 5(0x00000005)col 1: [2000]52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
Session2> Update t2 set col2=‘B’;
Session2> Commit;
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
BH (0x647efe78) file#: 6 rdba: 0x01800120 (6/288) class: 27 ba: 0x646aa000st: XCURRENT md: NULL fpin: 'ktuwh05: ktugct' tch: 1buffer tsn: 6 rdba: 0x01800120 (6/288)…TRN CTL:: seq: 0x1cc2 chd: 0x0004 ctl: 0x0014 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011f.1cc1.02 scn: 0x0000.006e8f0e
…index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x353a 0x0014 0x0000.006e8f16 0x0180011f 0x14 9 0x00 0x353d 0xffff 0x0000.006e8f1e 0x01800130
9. select /*+ full(t1) */count(*) from t1 where rownum <= 1; 현재 시점 undo header block 의 TRN CTL SCN 값으로 cleanout.
BH (0x657f85c0) file#: 5 rdba: 0x01418413 (5/99347) class: 1 ba: 0x65788000st: XCURRENT md: NULL fpin: 'kdswh11: kdst_fetch' tch: 1buffer tsn: 5 rdba: 0x01418413 (5/99347)…
0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 C-U- 0 scn 0x0000.006e8f0e0x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000…block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
Undo Block
Undo Header
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc2 chd: 0x0004 ctl: 0x0014 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011f.1cc1.02 scn: 0x0000.006e8f0e
index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x353a 0x0014 0x0000.006e8f16 0x0180011f 0x14 9 0x00 0x353d 0xffff 0x0000.006e8f1e 0x01800130
buffer tsn: 6 rdba: 0x01800130 (6/304)UNDO BLK:xid: 0x0006.014.0000353d seq: 0x1cc2 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x1 slt: 0x14 objn: 78004(0x000130b4) objd: 78004 tblspc: 5(0x00000005)col 1: [2000]52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Itl Xid Uba Flag Lck Scn/fsc
Wrap number가다름
Query SCN은0x0000.006e8f1c
ASCII HEXA code 42=> Value ‘B’
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
Begin cleaning out block ...Block header dump: 0x01418413…Itl Xid Uba Flag Lck Scn/Fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000WAIT #139971596639184: nam='db file sequential read' ela= 15 file#=6 block#=288 blocks=1 obj#=0 tim=1460423039184663…Block cleanout record, scn: 0xffff.ffffffff ver: 0x01 opt: 0x01, entries follow...
itli: 2 flg: 1 scn: 0x0000.006e8f0eBlock header dump: 0x01418413…Itl Xid Uba Flag Lck Scn/Fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 C-U- 0 scn 0x0000.006e8f0e0x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Undo header Block
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
BH (0x647efe78) file#: 6 rdba: 0x01800120 (6/288) class: 27 ba: 0x646aa000st: XCURRENT md: NULL fpin: 'ktuwh05: ktugct' tch: 1buffer tsn: 6 rdba: 0x01800120 (6/288)…TRN CTL:: seq: 0x1cc2 chd: 0x0004 ctl: 0x0014 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011f.1cc1.02 scn: 0x0000.006e8f0e
…index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x353a 0x0014 0x0000.006e8f16 0x0180011f 0x14 9 0x00 0x353d 0xffff 0x0000.006e8f1e 0x01800130
9. select /*+ full(t1) */count(*) from t1 where rownum <= 1; 현재 시점 undo header block 의 TRN CTL SCN 값으로 cleanout.
BH (0x657f85c0) file#: 5 rdba: 0x01418413 (5/99347) class: 1 ba: 0x65788000st: XCURRENT md: NULL fpin: 'kdswh11: kdst_fetch' tch: 1buffer tsn: 5 rdba: 0x01418413 (5/99347)…
0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 C-U- 0 scn 0x0000.006e8f0e0x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000…block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
Undo Block
Undo Header
buffer tsn: 6 rdba: 0x01800120 (6/288)TRN CTL:: seq: 0x1cc2 chd: 0x0004 ctl: 0x0014 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011f.1cc1.02 scn: 0x0000.006e8f0e
index state cflags wrap# uel scn dba-----------------------------------------------------------------------------------------0x04 9 0x00 0x353a 0x0014 0x0000.006e8f16 0x0180011f 0x14 9 0x00 0x353d 0xffff 0x0000.006e8f1e 0x01800130
buffer tsn: 6 rdba: 0x01800130 (6/304)UNDO BLK:xid: 0x0006.014.0000353d seq: 0x1cc2 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x1 slt: 0x14 objn: 78004(0x000130b4) objd: 78004 tblspc: 5(0x00000005)col 1: [2000]52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Itl Xid Uba Flag Lck Scn/fsc
Wrap number가다름
Query SCN은0x0000.006e8f1c
ASCII HEXA code 42=> Value ‘B’
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x002c.002.000000b4 0x00000000.0000.00 C--- 0 scn 0x0000.006e84260x02 0x0006.014.0000353b 0x0180011b.1cc1.28 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Update Table T1
Flush Buffer
Commit
Select Table T1
t1
t2
t4
S1 S2Time
t3Update & Commit
Update & Commit
Update & Commit
Update & Commit
Set transaction
read only
Ⅱ-4. Inefficient delayed block cleanout
• Undo segment 10개 중 9개 offline, 1개만 online
• Undo segment의 34개 슬롯 중 32개 active, 2개만 사용 가능시나리오
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Rows
1. 초기상태
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Undo Header
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0006 ctl: 0x0005 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.05 SCN: 0x0000.0022c7fb
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 9 0x00 0x0ad5 0x0005 0x0000.0022c7fe 0x0180011c
Undo Block
ASCII HEXA code 41=> Value ‘A’
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Rows
ITL Undo Header
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001e.01b.0000000d 0x00000000.0000.00 C--- 0 SCN 0x0000.002263d90x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0006 ctl: 0x0005 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.05 SCN: 0x0000.0022c7fb
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 9 0x00 0x0ad5 0x0005 0x0000.0022c7fe 0x0180011c
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0006 ctl: 0x0005 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.05 SCN: 0x0000.0022c7fb
index state cflags wrap# uel SCN dba-----------------------------------------------------------------------------------------0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 9 0x00 0x0ad5 0x0005 0x0000.0022c7fe 0x0180011c
Undo Header를메모리에 적재
Undo Block
ASCII HEXA code 41=> Value ‘A’
2. update t1 set col2='B';
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0006 ctl: 0x0005 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.05 SCN: 0x0000.0022c7fb
index state cflags wrap# uel SCN dba-----------------------------------------------------------------------------------------0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 9 0x00 0x0ad5 0x0005 0x0000.0022c7fe 0x0180011c
Undo Header
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0006 ctl: 0x0005 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.05 SCN: 0x0000.0022c7fb
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 9 0x00 0x0ad5 0x0005 0x0000.0022c7fe 0x0180011c
Undo Block
buffer tsn: 6 rdba: 0x0180011c (6/284)UNDO BLK:xid: 0x0001.006.00000ad6 seq: 0x485 cnt: 0x30 irb: 0x30 icl: 0x0 flg: 0x0000* Rec #0x9 slt: 0x06 objn: 70145(0x00011201) objd: 70145 tblspc: 5(0x00000005)uba: 0x0180011c.0485.05 ctl max SCN: 0x0000.0022c7fb prv tx SCN: 0x0000.0022c7fetxn start SCN: SCN: 0x0000.0022c809 logon user: 5prev brb: 25166108 prev bcl: 0
chd 0x0006 슬롯을 사용할 예정이기 때문에 uba, TRN CTL SCN, 0x06 slot
SCN이 before-mage로 저장
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001e.01b.0000000d 0x00000000.0000.00 C--- 0 SCN 0x0000.002263d90x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
ASCII HEXA code 41=> Value ‘A’
2. update t1 set col2='B';
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
BH (0x663ea0a0) file#: 6 rdba: 0x01800160 (6/352) class: 17 ba: 0x66210000st: XCURRENT md: NULL tch: 1buffer tsn: 6 rdba: 0x01800160 (6/352)…TRN CTL:: seq: 0x0485 chd: 0x0005 ctl: 0x0005 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.09 SCN: 0x0000.0022c7fe
…index state cflags wrap# uel SCN dba-----------------------------------------------------------------------------------------0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 10 0x80 0x0ad6 0x0005 0x0000.0022c809 0x0180011c
Undo Block
buffer tsn: 6 rdba: 0x0180011c (6/284)UNDO BLK:xid: 0x0001.006.00000ad6 seq: 0x485 cnt: 0x30 irb: 0x30 icl: 0x0 flg: 0x0000* Rec #0x9 slt: 0x06 objn: 70145(0x00011201) objd: 70145 tblspc: 5(0x00000005)uba: 0x0180011c.0485.05 ctl max SCN: 0x0000.0022c7fb prv tx SCN: 0x0000.0022c7fetxn start SCN: SCN: 0x0000.0022c809 logon user: 5prev brb: 25166108 prev bcl: 0
Undo Header
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0006 ctl: 0x0005 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.05 SCN: 0x0000.0022c7fb
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 9 0x00 0x0ad5 0x0005 0x0000.0022c7fe 0x0180011c
Update된 undo header block은TRN CTL uba에 before-image의 위치를 기록,
SCN에 이전 슬롯의 SCN을 기록
0x06 슬롯 갱신(state, cflag, wrap#, SCN)
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001e.01b.0000000d 0x00000000.0000.00 C--- 0 SCN 0x0000.002263d90x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
ASCII HEXA code 41=> Value ‘A’
Before-image가 있는Undo Block
2. update t1 set col2='B';
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Undo Block
buffer tsn: 6 rdba: 0x0180011c (6/284)UNDO BLK:xid: 0x0001.006.00000ad6 seq: 0x485 cnt: 0x30 irb: 0x30 icl: 0x0 flg: 0x0000* Rec #0x9 slt: 0x06 objn: 70145(0x00011201) objd: 70145 tblspc: 5(0x00000005)uba: 0x0180011c.0485.05 ctl max SCN: 0x0000.0022c7fb prv tx SCN: 0x0000.0022c7fetxn start SCN: SCN: 0x0000.0022c809 logon user: 5prev brb: 25166108 prev bcl: 0
BH (0x663ea0a0) file#: 6 rdba: 0x01800160 (6/352) class: 17 ba: 0x66210000st: XCURRENT md: NULL tch: 1buffer tsn: 6 rdba: 0x01800160 (6/352)…TRN CTL:: seq: 0x0485 chd: 0x0005 ctl: 0x0005 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.09 SCN: 0x0000.0022c7fe
…index state cflags wrap# uel SCN dba-----------------------------------------------------------------------------------------0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 10 0x80 0x0ad6 0x0005 0x0000.0022c809 0x0180011c
Undo Header
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0006 ctl: 0x0005 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.05 SCN: 0x0000.0022c7fb
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 9 0x00 0x0ad5 0x0005 0x0000.0022c7fe 0x0180011c
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001e.01b.0000000d 0x00000000.0000.00 C--- 0 SCN 0x0000.002263d90x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001e.01b.0000000d 0x00000000.0000.00 C--- 0 SCN 0x0000.002263d90x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
ASCII HEXA code 41=> Value ‘A’
2. update t1 set col2='B';
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Undo Block
buffer tsn: 6 rdba: 0x0180011c (6/284)UNDO BLK:xid: 0x0001.006.00000ad6 seq: 0x485 cnt: 0x30 irb: 0x30 icl: 0x0 flg: 0x0000* Rec #0x9 slt: 0x06 objn: 70145(0x00011201) objd: 70145 tblspc: 5(0x00000005)uba: 0x0180011c.0485.05 ctl max SCN: 0x0000.0022c7fb prv tx SCN: 0x0000.0022c7fetxn start SCN: SCN: 0x0000.0022c809 logon user: 5prev brb: 25166108 prev bcl: 0
BH (0x663ea0a0) file#: 6 rdba: 0x01800160 (6/352) class: 17 ba: 0x66210000st: XCURRENT md: NULL tch: 1buffer tsn: 6 rdba: 0x01800160 (6/352)…TRN CTL:: seq: 0x0485 chd: 0x0005 ctl: 0x0005 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.09 SCN: 0x0000.0022c7fe
…index state cflags wrap# uel SCN dba-----------------------------------------------------------------------------------------0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 10 0x80 0x0ad6 0x0005 0x0000.0022c809 0x0180011c
Undo Header
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0006 ctl: 0x0005 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.05 SCN: 0x0000.0022c7fb
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 9 0x00 0x0ad5 0x0005 0x0000.0022c7fe 0x0180011c
Rows
ITL
Rows
ITL
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001e.01b.0000000d 0x00000000.0000.00 C--- 0 SCN 0x0000.002263d90x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
ASCII HEXA code 41=> Value ‘A’
2. update t1 set col2='B';
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 41
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001e.01b.0000000d 0x00000000.0000.00 C--- 0 SCN 0x0000.002263d90x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
ASCII HEXA code 42=> Value ‘B’
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
3. alter system flush buffer_cache ;
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0005 ctl: 0x0005 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.09 SCN: 0x0000.0022c7fe
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 10 0x80 0x0ad6 0x0005 0x0000.0022c809 0x0180011c
buffer tsn: 6 rdba: 0x0180011c (6/284)UNDO BLK:xid: 0x0001.006.00000ad6 seq: 0x485 cnt: 0x30 irb: 0x30 icl: 0x0 flg: 0x0000* Rec #0x9 slt: 0x06 objn: 70145(0x00011201) objd: 70145 tblspc: 5(0x00000005)uba: 0x0180011c.0485.05 ctl max SCN: 0x0000.0022c7fb prv tx SCN: 0x0000.0022c7fetxn start SCN: SCN: 0x0000.0022c809 logon user: 5prev brb: 25166108 prev bcl: 0
flush
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
4. commit;
BH (0x66be9f68) file#: 6 rdba: 0x01800160 (6/352) class: 17 ba: 0x66a0e000st: XCURRENT md: NULL fpin: 'ktuwh61: ktugus:ktucmt' tch: 1buffer tsn: 6 rdba: 0x01800160 (6/352)…TRN CTL:: seq: 0x0485 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.09 SCN: 0x0000.0022c7fe
…index state cflags wrap# uel SCN dba-----------------------------------------------------------------------------------------0x05 9 0x00 0x0ad3 0x0006 0x0000.0022c7ff 0x0180011d 0x06 9 0x00 0x0ad6 0xffff 0x0000.0022c811 0x0180011c
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0005 ctl: 0x0005 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.09 SCN: 0x0000.0022c7fe
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 10 0x80 0x0ad6 0x0005 0x0000.0022c809 0x0180011c
buffer tsn: 6 rdba: 0x0180011c (6/284)UNDO BLK:xid: 0x0001.006.00000ad6 seq: 0x485 cnt: 0x30 irb: 0x30 icl: 0x0 flg: 0x0000* Rec #0x9 slt: 0x06 objn: 70145(0x00011201) objd: 70145 tblspc: 5(0x00000005)uba: 0x0180011c.0485.05 ctl max SCN: 0x0000.0022c7fb prv tx SCN: 0x0000.0022c7fetxn start SCN: SCN: 0x0000.0022c809 logon user: 5prev brb: 25166108 prev bcl: 0
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
Query SCN
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
5. Set transaction read only ;
Undo Header
Undo Block
<Read only 시점>
• 현재 세션 Commit 시점 이후 (0x0000.0022c811)
• 다른 세션 Commit 시점 이전 (0x0000.0022c818)
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0005 ctl: 0x0005 inc: 0x00000000 nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.09 SCN: 0x0000.0022c7fe
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad3 0xffff 0x0000.0022c7ff 0x0180011d 0x06 10 0x80 0x0ad6 0x0005 0x0000.0022c809 0x0180011c
buffer tsn: 6 rdba: 0x0180011c (6/284)UNDO BLK:xid: 0x0001.006.00000ad6 seq: 0x485 cnt: 0x30 irb: 0x30 icl: 0x0 flg: 0x0000* Rec #0x9 slt: 0x06 objn: 70145(0x00011201) objd: 70145 tblspc: 5(0x00000005)uba: 0x0180011c.0485.05 ctl max SCN: 0x0000.0022c7fb prv tx SCN: 0x0000.0022c7fetxn start SCN: SCN: 0x0000.0022c809 logon user: 5prev brb: 25166108 prev bcl: 0
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
6. Undo Header Slot 재사용 (세션2에서 Update 첫 번째)
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0006 ctl: 0x0005 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011c.0485.31 SCN: 0x0000.0022c7ff
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad4 0xffff 0x0000.0022c818 0x0180011e0x06 9 0x00 0x0ad6 0x0005 0x0000.0022c811 0x0180011c
buffer tsn: 6 rdba: 0x0180011c (6/284)UNDO BLK:xid: 0x0001.005.00000ad4 seq: 0x485 cnt: 0x32 irb: 0x32 icl: 0x0 flg: 0x0000* Rec #0x31 slt: 0x05 objn: 70146(0x00011202) objd: 70146 tblspc: 5(0x00000005)uba: 0x0180011c.0485.09 ctl max SCN: 0x0000.0022c7fe prv tx SCN: 0x0000.0022c7fftxn start SCN: SCN: 0x0000.0022c816 logon user: 5prev brb: 25166109 prev bcl: 0
Session2> Update t2 set col2=‘B’;
Session2> Commit;
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
7. Undo Header Slot 재사용 (세션2에서 Update 두 번째)
Session2> Update t2 set col2=‘B’;
Session2> Commit;
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0485 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011e.0485.02 SCN: 0x0000.0022c811
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad4 0x0006 0x0000.0022c818 0x0180011e0x06 9 0x00 0x0ad7 0xffff 0x0000.0022c821 0x0180011f
buffer tsn: 6 rdba: 0x0180011e (6/286)UNDO BLK:xid: 0x0001.006.00000ad7 seq: 0x485 cnt: 0x3 irb: 0x3 icl: 0x0 flg: 0x0000* Rec #0x2 slt: 0x06 objn: 70146(0x00011202) objd: 70146 tblspc: 5(0x00000005)uba: 0x0180011c.0485.31 ctl max SCN: 0x0000.0022c7ff prv tx SCN: 0x0000.0022c811txn start SCN: SCN: 0x0000.0022c820 logon user: 5prev brb: 25166108 prev bcl: 0
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
8. Undo Header Slot 재사용 (세션2에서 Update 세 번째)
Session2> Update t2 set col2=‘B’;
Session2> Commit;
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0486 chd: 0x0006 ctl: 0x0005 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011f.0485.02 SCN: 0x0000.0022c818
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad5 0xffff 0x0000.0022c829 0x018001200x06 9 0x00 0x0ad7 0x0005 0x0000.0022c821 0x0180011f
buffer tsn: 6 rdba: 0x0180011f (6/287)UNDO BLK:xid: 0x0001.006.00000ad7 seq: 0x485 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x2 slt: 0x05 objn: 70146(0x00011202) objd: 70146 tblspc: 5(0x00000005)uba: 0x0180011e.0485.02 ctl max SCN: 0x0000.0022c811 prv tx SCN: 0x0000.0022c818txn start SCN: SCN: 0x0000.0022c828 logon user: 5prev brb: 25166110 prev bcl: 0
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
9. Undo Header Slot 재사용 (세션2에서 Update 네 번째)
Session2> Update t2 set col2=‘B’;
Session2> Commit;
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42 ASCII HEXA code 42
=> Value ‘B’
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0486 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x01800120.0486.02 SCN: 0x0000.0022c821
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad5 0x0006 0x0000.0022c829 0x01800120 0x06 9 0x00 0x0ad8 0xffff 0x0000.0022c832 0x01800121
buffer tsn: 6 rdba: 0x01800120 (6/288)UNDO BLK:xid: 0x0001.005.00000ad5 seq: 0x486 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x2 slt: 0x06 objn: 70146(0x00011202) objd: 70146 tblspc: 5(0x00000005)uba: 0x0180011f.0485.02 ctl max SCN: 0x0000.0022c818 prv tx SCN: 0x0000.0022c821txn start SCN: SCN: 0x0000.0022c831 logon user: 5prev brb: 25166111 prev bcl: 0
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
BH (0x623e85d0) file#: 6 rdba: 0x01800160 (6/352) class: 17 ba: 0x621e4000st: XCURRENT md: NULL fpin: 'ktuwh05: ktugct' tch: 0buffer tsn: 6 rdba: 0x01800160 (6/352)…TRN CTL:: seq: 0x0486 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x01800120.0486.02 SCN: 0x0000.0022c821
…index state cflags wrap# uel SCN dba -----------------------------------------------------------------0x05 9 0x00 0x0ad5 0x0006 0x0000.0022c829 0x01800120 0x06 9 0x00 0x0ad8 0xffff 0x0000.0022c832 0x01800121
10. select /*+ full(t1) */count(*) from t1 where rownum <= 1; undo header block 의 CR을 만드는 과정에서 undo block read 발생함.
BH (0x66bf7720) file#: 5 rdba: 0x014000e3 (5/227) class: 1 ba: 0x66b70000st: XCURRENT md: NULL fpin: 'kdswh11: kdst_fetch' tch: 1buffer tsn: 5 rdba: 0x014000e3 (5/227)…0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 C-U- 0 SCN 0x0000.0022c8110x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000…block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
Itl Xid Uba Flag Lck SCN/fsc
BH (0x673f4b40) file#: 6 rdba: 0x01800160 (6/352) class: 17 ba: 0x67328000st: CR md: NULL tch: 1buffer tsn: 6 rdba: 0x01800160 (6/352)…TRN CTL:: seq: 0x0486 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011e.0485.02 SCN: 0x0000.0022c811
…index state cflags wrap# uel SCN dba-----------------------------------------------------------------------------------------0x05 9 0x00 0x0ad4 0x0006 0x0000.0022c818 0x0180011e0x06 9 0x00 0x0ad7 0xffff 0x0000.0022c821 0x0180011f
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0486 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x01800120.0486.02 SCN: 0x0000.0022c821
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad5 0x0006 0x0000.0022c829 0x01800120 0x06 9 0x00 0x0ad8 0xffff 0x0000.0022c832 0x01800121
buffer tsn: 6 rdba: 0x01800121 (6/289)UNDO BLK:xid: 0x0001.006.00000ad8 seq: 0x486 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x1 slt: 0x06 objn: 70146(0x00011202) objd: 70146 tblspc: 5(0x00000005)
Begin cleaning out block ...Block header dump: 0x014000e3…Itl Xid Uba Flag Lck SCN/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000WAIT #140004262172792: nam='db file sequential read' ela= 9 file#=6 block#=352 blocks=1 obj#=0 tim=1459261058673224WAIT #140004262172792: nam='db file sequential read' ela= 13 file#=6 block#=288 blocks=1 obj#=0 tim=1459261058676417WAIT #140004262172792: nam='db file sequential read' ela= 10 file#=6 block#=287 blocks=1 obj#=0 tim=1459261058677687…Block cleanout record, SCN: 0x0000.0022c834 ver: 0x01 opt: 0x01, entries follow...itli: 2 flg: 1 SCN: 0x0000.0022c811
Block header dump: 0x014000e3…Itl Xid Uba Flag Lck SCN/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 C-U- 0 SCN 0x0000.0022c8110x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Undo header Block
두 번째 update Undo Block
첫 번째 update Undo Block
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
BH (0x623e85d0) file#: 6 rdba: 0x01800160 (6/352) class: 17 ba: 0x621e4000st: XCURRENT md: NULL fpin: 'ktuwh05: ktugct' tch: 0buffer tsn: 6 rdba: 0x01800160 (6/352)…TRN CTL:: seq: 0x0486 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x01800120.0486.02 SCN: 0x0000.0022c821
…index state cflags wrap# uel SCN dba -----------------------------------------------------------------0x05 9 0x00 0x0ad5 0x0006 0x0000.0022c829 0x01800120 0x06 9 0x00 0x0ad8 0xffff 0x0000.0022c832 0x01800121
10. select /*+ full(t1) */count(*) from t1 where rownum <= 1; undo header block 의 CR을 만드는 과정에서 undo block read 발생함.
BH (0x66bf7720) file#: 5 rdba: 0x014000e3 (5/227) class: 1 ba: 0x66b70000st: XCURRENT md: NULL fpin: 'kdswh11: kdst_fetch' tch: 1buffer tsn: 5 rdba: 0x014000e3 (5/227)…0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 C-U- 0 SCN 0x0000.0022c8110x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000…block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
Itl Xid Uba Flag Lck SCN/fsc
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0486 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x01800120.0486.02 SCN: 0x0000.0022c821
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad5 0x0006 0x0000.0022c829 0x01800120 0x06 9 0x00 0x0ad8 0xffff 0x0000.0022c832 0x01800121
buffer tsn: 6 rdba: 0x01800121 (6/289)UNDO BLK:xid: 0x0001.006.00000ad8 seq: 0x486 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x1 slt: 0x06 objn: 70146(0x00011202) objd: 70146 tblspc: 5(0x00000005)
Query SCN은0x0000.0022c811
Wrap number가다름
Begin cleaning out block ...Block header dump: 0x014000e3…Itl Xid Uba Flag Lck SCN/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000WAIT #140004262172792: nam='db file sequential read' ela= 9 file#=6 block#=352 blocks=1 obj#=0 tim=1459261058673224WAIT #140004262172792: nam='db file sequential read' ela= 13 file#=6 block#=288 blocks=1 obj#=0 tim=1459261058676417WAIT #140004262172792: nam='db file sequential read' ela= 10 file#=6 block#=287 blocks=1 obj#=0 tim=1459261058677687…Block cleanout record, SCN: 0x0000.0022c834 ver: 0x01 opt: 0x01, entries follow...itli: 2 flg: 1 SCN: 0x0000.0022c811
Block header dump: 0x014000e3…Itl Xid Uba Flag Lck SCN/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 C-U- 0 SCN 0x0000.0022c8110x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Undo header Block
두 번째 update Undo Block
첫 번째 update Undo Block
SCN: 0x0000.0022c821
SCN: 0x0000.0022c818
SCN: 0x0000.0022c811
SGA
Undo SegmentData Block
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
BH (0x623e85d0) file#: 6 rdba: 0x01800160 (6/352) class: 17 ba: 0x621e4000st: XCURRENT md: NULL fpin: 'ktuwh05: ktugct' tch: 0buffer tsn: 6 rdba: 0x01800160 (6/352)…TRN CTL:: seq: 0x0486 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x01800120.0486.02 SCN: 0x0000.0022c821
…index state cflags wrap# uel SCN dba -----------------------------------------------------------------0x05 9 0x00 0x0ad5 0x0006 0x0000.0022c829 0x01800120 0x06 9 0x00 0x0ad8 0xffff 0x0000.0022c832 0x01800121
10. select /*+ full(t1) */count(*) from t1 where rownum <= 1; undo header block 의 CR을 만드는 과정에서 undo block read 발생함.
BH (0x66bf7720) file#: 5 rdba: 0x014000e3 (5/227) class: 1 ba: 0x66b70000st: XCURRENT md: NULL fpin: 'kdswh11: kdst_fetch' tch: 1buffer tsn: 5 rdba: 0x014000e3 (5/227)…0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 C-U- 0 SCN 0x0000.0022c8110x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000…block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x0 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
Itl Xid Uba Flag Lck SCN/fsc
ITL
Itl Xid Uba Flag Lck Scn/fsc0x01 0x001c.005.00000010 0x00000000.0000.00 C--- 0 SCN 0x0000.0022bf230x02 0x0001.006.00000ad6 0x0180011c.0485.27 ---- 3 fsc 0x0000.000000000x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
Rows
block_row_dump:tab 0, row 0, @0x1f70tl: 16 fb: --H-FL-- lb: 0x2 cc: 2col 0: [10] 31 20 20 20 20 20 20 20 20 20col 1: [ 1] 42
Undo Header
Undo Block
buffer tsn: 6 rdba: 0x01800160 (6/352)TRN CTL:: seq: 0x0486 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x01800120.0486.02 SCN: 0x0000.0022c821
index state cflags wrap# uel SCN dba0x05 9 0x00 0x0ad5 0x0006 0x0000.0022c829 0x01800120 0x06 9 0x00 0x0ad8 0xffff 0x0000.0022c832 0x01800121
buffer tsn: 6 rdba: 0x01800121 (6/289)UNDO BLK:xid: 0x0001.006.00000ad8 seq: 0x486 cnt: 0x1 irb: 0x1 icl: 0x0 flg: 0x0000* Rec #0x1 slt: 0x06 objn: 70146(0x00011202) objd: 70146 tblspc: 5(0x00000005)
1BH (0x673f4b40) file#: 6 rdba: 0x01800160 (6/352) class: 17 ba: 0x67328000st: CR md: NULL tch: 1buffer tsn: 6 rdba: 0x01800160 (6/352)…TRN CTL:: seq: 0x0486 chd: 0x0005 ctl: 0x0006 inc: 0x00000000 nfb: 0x0002
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)uba: 0x0180011e.0485.02 SCN: 0x0000.0022c811
…index state cflags wrap# uel SCN dba-----------------------------------------------------------------------------------------0x05 9 0x00 0x0ad4 0x0006 0x0000.0022c818 0x0180011e0x06 9 0x00 0x0ad7 0xffff 0x0000.0022c821 0x0180011f
CR 블록 적용
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
Oracle Deep Internal
Blog
Video
NAVER http://cafe.naver.com/playexem
ITPUB http://blog.itpub.net/31135309/
Wordpress https://playexem.wordpress.com/
Slideshare http://www.slideshare.net/playexem
Youtube https://www.youtube.com/channel/UC5wKR_-A0eL_Pn_EMzoauJg
Tudou http://www.tudou.com/home/maxgauge/
교육 문의 : 연구컨텐츠팀 김숙진