a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 82|回复: 0

[综合] Oracle综合辅导ITL描述

[复制链接]
发表于 2012-8-4 13:54:49 | 显示全部楼层 |阅读模式
ITL描述:! l/ ~; [: d" I0 Q. I  f7 c$ _
    4 E- C0 E" E  v  R
    ITL(Interested Transaction List)是Oracle数据块内部的一个组成部分,9 l4 K- t! L+ [/ D! T2 z$ O: p
      Y/ v1 \6 d1 ?
    位于数据块头(block header),itl由xid,uba,flag,lck和scn/fsc组成,5 ]* g9 z/ t1 L6 d1 ?9 C
    ( p7 U; r1 ^9 G
    用来记录该块所有发生的事务,一个itl可以看作是一条事务记录。
2 [' ]7 a* S# z      q2 a" j+ ]5 T6 s; G4 E
    当然,如果这个事务已经提交,那么这个itl的位置就可以被反复使用了,
) w7 @, y: H* G8 K! C: ~, d- Q9 Y    * z) Y% F, j! {6 [' S# ]' O0 _* [
    因为itl类似记录,所以,有的时候也叫itl槽位。如果一个事务一直没有提交,
2 G. O! @& ?3 b5 p    - M& ^+ \2 L, Q% X0 U
    那么,这个事务将一直占用一个itl槽位,itl里面记录了事务信息,回滚段的入口,
+ ]1 W# T1 r( ], ]9 `% `- Q   
- U) ]+ ]0 N  `    事务类型等等。如果这个事务已经提交,
  R. ]: ^. |' R" Y6 O! `4 N    , E: e: x# [9 I, @$ R
    那么,itl槽位中还保存的有这个事务提交时候的SCN号。- g4 ?6 L6 z1 n  q' v' ?- x' q6 B
      o' l7 ^. R3 P& A5 S
    ITL个数其最小值为1,由参数initrans控制(由于兼容性的原因,
! m- A0 ?8 K6 s2 Y( y/ ?5 T   
2 n' ]5 g7 n* q9 ]% p    oracle会在对象的存储块分配两个itl,所以initrans的最小值实际上为2),# S' j7 @; j( H1 E$ }9 S0 p
   
# W) b. y( N. o* n    最大值为255,由参数maxtrans控制,最大值参数在10g以后不能被修改,
( M" H' R8 q3 Q# o0 {/ _1 ]4 ]8 q7 K$ h   
2 h: t: b$ Y9 [. O% W+ P+ g( D    itl是block级的概念,一个itl占用块46B的空间,参数initrans意味着块中+ Q* S5 a$ x. r1 g* N" s4 |
   
' E. m5 X1 y* d; {4 z    除去block header外一部分存储空间无法被记录使用(46B*initrans),
" o0 ^) v. Y7 q7 h. j   
# d- u- E; |+ y8 b; L    当块中还有一定的free space时,oracle可以使用free space构建itl供事务使用,1 u, g1 b/ W2 @& b0 C: t  J1 g
   
& W! t1 m5 p9 f+ j. ]  s2 ~. J    如果没有了free space,那么,这个块因为不能分配新的itl,所以就可能发生itl等待。
, ]* w$ t* F9 \5 `3 m    / }' D' {$ I$ c0 c) z6 ?* [
    如果在并发量特别大的系统中,最好分配足够的itl个数,其实它并浪费不了太多的空间,. w3 O$ _0 k+ v8 B* R# X) \
      L) l$ Y9 I# ~3 V
    或者,设置足够的pctfree,保证itl能扩展,但是pctfree有可能是被行数据给消耗掉的,0 A+ i7 h5 N" Z. {6 B' c
    / H, q  v: d8 a+ |4 o* I
    如update,所以,也有可能导致块内部的空间不够而导致itl等待。
* ^( r& z7 C$ G' Z- ?    ; x3 s% D$ y. ^
    dump一个块可以看到ITL信息类似如下:
% l( A- {3 a% H1 c# E; E: I   
7 K' w, ?* f# o" W    Itl Xid Uba
4 @  u: y; l7 T6 D0 P    ) l( ]1 k! p! q  y" {. `
    Flag Lck Scn/Fsc6 N" G7 Y1 E. ~9 b% w# O
   
: t+ J: ~) i* C8 Q; K, t, N$ c    0x01 0x0006.002.0000158e 0x0080104d.00a1.6e --U- 734  c# C6 C5 U1 g' a
   
; `5 J$ J' x" E; m) S    fsc 0x0000.6c9deff0
* y3 }  ^) ^0 P   
. l0 n0 [3 D; A& P! u3 `. _5 g' T    0x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0
6 S8 e. i( C9 e6 s# O: P   
' z. M& D$ o4 T3 P1 C    fsc 0x0000.00000000
" O* f& C/ o! Z' l! o0 ?   
  p# a' d+ J2 ~) Y6 l3 i    Xid:事务id,在回滚段事务表中有一条记录和这个事务对应
+ Y) ^, `' h! V% s1 m' ~   
1 [& y& p& Y6 ~/ P# q& L0 d% D4 @    Uba:回滚段地址,该事务对应的回滚段地址
" `/ J( l' v7 p    % q- X- v0 K5 h" m9 b! e7 e
    第一段地址:回滚数据块的地址,包括回滚段文件号和数据块号: D- h9 B" Z4 Z. M% b% @# M
    8 F8 u4 N+ [3 m0 n, g' x1 q
    第二段地址:回滚序列号
$ t" G) j5 V5 n1 e3 L' y7 k% J( u) T   
" g4 G, j0 ^" J! d, s    第三段地址:回滚记录号4 v( T+ O7 E: b% ~8 ?' ^
   
9 X  V. q; p" s  X    SELECT UBAFIL 回滚段文件号,UBABLK 数据块号,UBASQN 回滚序列号,
( c% u1 S2 C7 Q" K8 t   
6 _5 F; n8 W( i9 V5 N: m    UBAREC 回滚记录号 FROM v$transaction --查看UBA% z9 S" M; j/ }' b$ R
    2 E! a! ~1 ?0 N- l
    Flag:事务标志位。这个标志位就记录了这个事务的操作,各个标志的含义分别是:2 B* `- Q8 r9 e( }4 l$ s  a
   
0 i" [. v0 I0 P  M* f" L- g    ----- = 事务是活动的,或者在块清除前提交事务
1 X; o# c4 J5 G* }! R' n   
1 D' u' w' \' w( u    C--- = 事务已经提交并且清除了行锁定。
/ F  |' a1 h% p   
  j1 W# ^" o; k" i6 \3 S" a    -B-- = this undo record contains the undo for this ITL entry, N; d1 Y5 }6 A4 B# D
    " o! k; q, a: g5 j. e0 r
    --U- = 事务已经提交(SCN已经是最大值),但是锁定还没有清除(快速清除)。
: s' W0 S/ j$ W- o   
: c: t5 m  u! w, Z% n- V5 {2 l    ---T =当块清除的SCN被记录时,该事务仍然是活动的,块上如果有已经提交的事务,
* f+ n7 ~) I0 w   
" i9 j6 M+ i* ~/ K8 E! K& X    那么在clean ount的时候,块会被进行清除,但是这个块里面的事务不会被清除。8 O6 a8 T' s8 I" m* b1 U# ?
    " ]" W2 ]0 M& t7 d
    Lck:影响的记录数
8 N# K3 q, B2 L- X    ! n! j7 d' K7 J& K2 R; ^4 l
    Scn/Fsc:快速提交(Fast Commit Fsc)的SCN或者Commit SCN.7 J8 m- d! }# z2 r
    % \! [. `' j, U- a9 M$ A
    每条记录中的行级锁对应于Itl列表中的序号,即哪个事务在该记录上产生的锁。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-22 17:00 , Processed in 0.462129 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表