[20160727]行链接行迁移与ITL槽2.txt
--昨天我测试了如果出现行链接或者行迁移,会出现itl槽增加的情况。
http://blog.itpub.net/267265/viewspace-2122599/
Itl Xid Uba Flag Lck Scn/Fsc
...
0x03 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
--我仔细想想主要问题在于当出现行链接或者行迁移时,一般行会占用很大的空间,为了一些事务的需要要预留一定的itl槽,避免出现
--ITL的不足。今天看看如何增加的?
1.环境:
--// drop table t purge;
spool a.sql
select 'create table t (' from dual
union all
select 'col'||lpad(rownum-1,3,'0')||' number(2),' from dual connect by level<=1000
union all
select 'constraint t1_pk primary key (col000));' from dual ;
spool off
SCOTT@book> alter table t pctfree 0;
Table altered.
2.插入一些数据看看ITL变化的情况。
insert into t (col000,col766) values (1,1);
commit ;
SCOTT@book> select rowid,t.col000 from t ;
ROWID COL000
------------------ ----------
AAAXUOAAEAAAALuAAD 1
SCOTT@book> @ &r/rowid AAAXUOAAEAAAALuAAD
OBJECT FILE BLOCK ROW DBA TEXT
------ ---- ----- --- ------ ----------------------------------------
95502 4 750 3 4,750 alter system dump datafile 4 block 750 ;
SCOTT@book> alter system checkpoint ;
System altered.
3.插入一些数据看看ITL变化情况。
--有点懒,写一个脚本直接执行它:
alter system dump datafile 4 block 750 ;
insert into t (col000,col766) values (2,2);
commit ;
alter system checkpoint ;
alter system dump datafile 4 block 750 ;
insert into t (col000,col766) values (3,3);
commit ;
alter system checkpoint ;
alter system dump datafile 4 block 750 ;
insert into t (col000,col766) values (4,4);
commit ;
alter system checkpoint ;
alter system dump datafile 4 block 750 ;
insert into t (col000,col766) values (5,5);
commit ;
alter system checkpoint ;
alter system dump datafile 4 block 750 ;
insert into t (col000,col766) values (6,6);
commit ;
alter system checkpoint ;
alter system dump datafile 4 block 750 ;
insert into t (col000,col766) values (7,7);
commit ;
alter system checkpoint ;
alter system dump datafile 4 block 750 ;
insert into t (col000,col766) values (8,8);
commit ;
alter system checkpoint ;
alter system dump datafile 4 block 750 ;
insert into t (col000,col766) values (9,9);
commit ;
alter system checkpoint ;
alter system dump datafile 4 block 750 ;
insert into t (col000,col766) values (10,10);
commit ;
alter system checkpoint ;
alter system dump datafile 4 block 750 ;
4.观察itl槽变化的情况:
$ sed -n '/Itl/,/bdba:/p' /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_45731.trc
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.004.0000d0c9 0x00c0024a.29fd.23 --U- 4 fsc 0x0000.15762d70
0x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
0x03 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x04 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x05 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
bdba: 0x010002ee
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.004.0000d0c9 0x00c0024a.29fd.23 --U- 4 fsc 0x0000.15762d70
0x02 0x000a.017.0000d0b7 0x00c00240.29fd.1c --U- 4 fsc 0x0000.15762dfb
0x03 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x04 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x05 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x06 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
bdba: 0x010002ee
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.004.0000d0c9 0x00c0024a.29fd.23 --U- 4 fsc 0x0000.15762d70
0x02 0x000a.017.0000d0b7 0x00c00240.29fd.1c --U- 4 fsc 0x0000.15762dfb
0x03 0x000a.00d.0000d0be 0x00c00240.29fd.25 --U- 4 fsc 0x0000.15762e02
0x04 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x05 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x06 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x07 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
bdba: 0x010002ee
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.004.0000d0c9 0x00c0024a.29fd.23 --U- 4 fsc 0x0000.15762d70
0x02 0x000a.017.0000d0b7 0x00c00240.29fd.1c --U- 4 fsc 0x0000.15762dfb
0x03 0x000a.00d.0000d0be 0x00c00240.29fd.25 --U- 4 fsc 0x0000.15762e02
0x04 0x000a.006.0000d0c6 0x00c00240.29fd.2e --U- 4 fsc 0x0000.15762e09
0x05 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x06 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x07 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x08 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
bdba: 0x010002ee
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.004.0000d0c9 0x00c0024a.29fd.23 --U- 4 fsc 0x0000.15762d70
0x02 0x000a.017.0000d0b7 0x00c00240.29fd.1c --U- 4 fsc 0x0000.15762dfb
0x03 0x000a.00d.0000d0be 0x00c00240.29fd.25 --U- 4 fsc 0x0000.15762e02
0x04 0x000a.006.0000d0c6 0x00c00240.29fd.2e --U- 4 fsc 0x0000.15762e09 [0/11371]
0x05 0x000a.014.0000d0c3 0x00c00240.29fd.35 --U- 4 fsc 0x0000.15762e10
0x06 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x07 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x08 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x09 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
bdba: 0x010002ee
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.004.0000d0c9 0x00c0024a.29fd.23 --U- 4 fsc 0x0000.15762d70
0x02 0x000a.017.0000d0b7 0x00c00240.29fd.1c --U- 4 fsc 0x0000.15762dfb
0x03 0x000a.00d.0000d0be 0x00c00240.29fd.25 --U- 4 fsc 0x0000.15762e02
0x04 0x000a.006.0000d0c6 0x00c00240.29fd.2e --U- 4 fsc 0x0000.15762e09
0x05 0x000a.014.0000d0c3 0x00c00240.29fd.35 --U- 4 fsc 0x0000.15762e10
0x06 0x000a.00f.0000d0b8 0x00c00240.29fd.3c --U- 4 fsc 0x0000.15762e17
0x07 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x08 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x09 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0a 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
bdba: 0x010002ee
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.004.0000d0c9 0x00c0024a.29fd.23 --U- 4 fsc 0x0000.15762d70
0x02 0x000a.017.0000d0b7 0x00c00240.29fd.1c --U- 4 fsc 0x0000.15762dfb
0x03 0x000a.00d.0000d0be 0x00c00240.29fd.25 --U- 4 fsc 0x0000.15762e02
0x04 0x000a.006.0000d0c6 0x00c00240.29fd.2e --U- 4 fsc 0x0000.15762e09
0x05 0x000a.014.0000d0c3 0x00c00240.29fd.35 --U- 4 fsc 0x0000.15762e10
0x06 0x000a.00f.0000d0b8 0x00c00240.29fd.3c --U- 4 fsc 0x0000.15762e17
0x07 0x000a.00c.0000d0b8 0x00c00240.29fd.43 --U- 4 fsc 0x0000.15762e1e
0x08 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x09 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0a 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0b 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
bdba: 0x010002ee
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.004.0000d0c9 0x00c0024a.29fd.23 --U- 4 fsc 0x0000.15762d70
0x02 0x000a.017.0000d0b7 0x00c00240.29fd.1c --U- 4 fsc 0x0000.15762dfb
0x03 0x000a.00d.0000d0be 0x00c00240.29fd.25 --U- 4 fsc 0x0000.15762e02
0x04 0x000a.006.0000d0c6 0x00c00240.29fd.2e --U- 4 fsc 0x0000.15762e09
0x05 0x000a.014.0000d0c3 0x00c00240.29fd.35 --U- 4 fsc 0x0000.15762e10
0x06 0x000a.00f.0000d0b8 0x00c00240.29fd.3c --U- 4 fsc 0x0000.15762e17
0x07 0x000a.00c.0000d0b8 0x00c00240.29fd.43 --U- 4 fsc 0x0000.15762e1e
0x08 0x000a.00a.0000d0d3 0x00c0024a.29fd.2c --U- 4 fsc 0x0000.15762e25
0x09 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0a 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0b 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0c 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
bdba: 0x010002ee
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.004.0000d0c9 0x00c0024a.29fd.23 --U- 4 fsc 0x0000.15762d70
0x02 0x000a.017.0000d0b7 0x00c00240.29fd.1c --U- 4 fsc 0x0000.15762dfb
0x03 0x000a.00d.0000d0be 0x00c00240.29fd.25 --U- 4 fsc 0x0000.15762e02
0x04 0x000a.006.0000d0c6 0x00c00240.29fd.2e --U- 4 fsc 0x0000.15762e09
0x05 0x000a.014.0000d0c3 0x00c00240.29fd.35 --U- 4 fsc 0x0000.15762e10
0x06 0x000a.00f.0000d0b8 0x00c00240.29fd.3c --U- 4 fsc 0x0000.15762e17
0x07 0x000a.00c.0000d0b8 0x00c00240.29fd.43 --U- 4 fsc 0x0000.15762e1e
0x08 0x000a.00a.0000d0d3 0x00c0024a.29fd.2c --U- 4 fsc 0x0000.15762e25
0x09 0x0001.00e.00000f91 0x00c0049a.0817.0f --U- 4 fsc 0x0000.15762e2c
0x0a 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0b 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0c 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0d 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
bdba: 0x010002ee
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.004.0000d0c9 0x00c0024a.29fd.23 C--- 0 scn 0x0003.15762d70
0x02 0x000a.017.0000d0b7 0x00c00240.29fd.1c C--- 0 scn 0x0003.15762dfb
0x03 0x000a.00d.0000d0be 0x00c00240.29fd.25 C--- 0 scn 0x0003.15762e02
0x04 0x000a.006.0000d0c6 0x00c00240.29fd.2e C--- 0 scn 0x0003.15762e09
0x05 0x000a.014.0000d0c3 0x00c00240.29fd.35 C--- 0 scn 0x0003.15762e10
0x06 0x000a.00f.0000d0b8 0x00c00240.29fd.3c C--- 0 scn 0x0003.15762e17
0x07 0x000a.00c.0000d0b8 0x00c00240.29fd.43 C--- 0 scn 0x0003.15762e1e
0x08 0x000a.00a.0000d0d3 0x00c0024a.29fd.2c C--- 0 scn 0x0003.15762e25
0x09 0x0001.00e.00000f91 0x00c0049a.0817.0f C--- 0 scn 0x0003.15762e2c
0x0a 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0b 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0c 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
0x0d 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
bdba: 0x010002ee
--从测试只要在一个块中出现4个类似如下的ITL槽。
0x0d 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000
--就不会增加。当然这是一个不完全的测试。
SCOTT@book> select rowid,t.col000 from t ;
ROWID COL000
------------------ ------
AAAXUOAAEAAAALuAAD 1
AAAXUOAAEAAAALuAAH 2
AAAXUOAAEAAAALuAAL 3
AAAXUOAAEAAAALuAAP 4
AAAXUOAAEAAAALuAAT 5
AAAXUOAAEAAAALuAAX 6
AAAXUOAAEAAAALuAAb 7
AAAXUOAAEAAAALuAAf 8
AAAXUOAAEAAAALuAAj 9
AAAXUOAAEAAAALvAAD 10
10 rows selected.
SCOTT@book> @ &r/rowid AAAXUOAAEAAAALvAAD
OBJECT FILE BLOCK ROW DBA TEXT
---------- ---------- ---------- ---------- -------------------- ----------------------------------------
95502 4 751 3 4,751 alter system dump datafile 4 block 751 ;
--最后1条记录在另外1个块中。