oracle數據塊pctfree變化查看

這篇文章對文章ORACLE空間管理實驗6:塊管理之ASSM下插入操作--高水位的影響及大併發插入的性能問題中第實驗二:查看pctfree變化,做個實驗補充。

思路:

1、創建一個表t1

2、通過t1表的segment的segment_header找到L2 -> L1從而查看L1中的pctfree變化

3、讓數據塊pctfree變化的方法是插入數據再刪除數據

SQL> create table t1(name varchar2(1000)) tablespace test1;

Table created.

SQL> insert into t1 select rpad('A', 999, 'A') from dual;

1 row created.

SQL> commit;

Commit complete.

SQL> alter system checkpoint;

System altered.

SQL> select OWNER, SEGMENT_NAME, HEADER_FILE, HEADER_BLOCK from dba_segments where SEGMENT_NAME='T1' and owner='TEST';

OWNER  SEGMENT_NAME  HEADER_FILE HEADER_BLOCK
------ ------------- ----------- ------------
TEST   T1                      9          146

SQL> alter system dump datafile 9 block 146;

System altered.
通過dump文件信息找到L2塊號

  Segment Type: 1 nl2: 1      blksz: 8192   fbsz: 0      
  L2 Array start offset:  0x00001434
  First Level 3 BMB:  0x00000000
  L2 Hint for inserts:  0x02400091
  Last Level 1 BMB:  0x02400090
  Last Level II BMB:  0x02400091
  Last Level III BMB:  0x00000000
     Map Header:: next  0x00000000  #extents: 1    obj#: 17370  flag: 0x10000000
  Inc # 0 
從上面可以看到L2塊號是 0x91 -> 145(十進制)

再dump 9號文件145號塊

SQL> alter system dump datafile 9 block 146;

System altered.
下面是對我有用的信息

Dump of Second Level Bitmap Block
   number: 1       nfree: 1       ffree: 0      pdba:     0x02400092 
   Inc #: 0 Objd: 17370
  opcode:0 
 xid: 
  L1 Ranges :
  --------------------------------------------------------
   0x02400090  Free: 5 Inst: 1 
  
  --------------------------------------------------------
End dump data blocks tsn: 8 file#: 9 minblk 145 maxblk 145
從上面我們看到L1號塊時 0x90 -> 144(十進制)

再dump 9號文件144號塊

SQL> alter system dump datafile 9 block 144;

System altered.
下面是對我們有用的信息

Dump of First Level Bitmap Block
 --------------------------------
   nbits : 4 nranges: 1         parent dba:  0x02400091   poffset: 0     
   unformatted: 0       total: 8         first useful block: 3      
   owning instance : 1
   instance ownership changed at 08/24/2014 18:42:49
   Last successful Search 08/24/2014 18:42:49
   Freeness Status:  nf1 0      nf2 0      nf3 0      nf4 5       --nf4 5 :代表 <75-100% free>類型的快有5個
 
   Extent Map Block Offset: 4294967295 
   First free datablock : 3      
   Bitmap block lock opcode 0
   Locker xid:     :  0x0000.000.00000000
   Dealloc scn: 0.0 
   Flag: 0x00000001 (-/-/-/-/-/HWM)
   Inc #: 0 Objd: 17370 
  HWM Flag: HWM Set
      Highwater::  0x02400098  ext#: 0      blk#: 8      ext size: 8     
  #blocks in seg. hdr's freelists: 0     
  #blocks below: 5     
  mapblk  0x00000000  offset: 0     
  --------------------------------------------------------
  DBA Ranges :
  --------------------------------------------------------
   0x02400090  Length: 8      Offset: 0      
  
   0:Metadata   1:Metadata   2:Metadata   3:75-100% free
   4:75-100% free   5:75-100% free   6:75-100% free   7:75-100% free
 --看出有五塊的pctfree都是在 <75-100% free>類型中
  --------------------------------------------------------
這時我們向表t1中插入數據查看 以上兩處的變化

SQL> insert into t1 select rpad('B', 999, 'B') from dual;

1 row created.

SQL> commit;

Commit complete.

SQL> alter system checkpoint;

System altered.

SQL> alter system dump datafile 9 block 144;

System altered.
Dump of First Level Bitmap Block
 --------------------------------
   nbits : 4 nranges: 1         parent dba:  0x02400091   poffset: 0     
   unformatted: 0       total: 8         first useful block: 3      
   owning instance : 1
   instance ownership changed at 08/24/2014 18:42:49
   Last successful Search 08/24/2014 18:42:49
   Freeness Status:  nf1 0      nf2 0      nf3 1      nf4 4      --看到有一個塊變化了在nf3類型中<50-75% free>
 
   Extent Map Block Offset: 4294967295 
   First free datablock : 3      
   Bitmap block lock opcode 0
   Locker xid:     :  0x0000.000.00000000
   Dealloc scn: 0.0 
   Flag: 0x00000001 (-/-/-/-/-/HWM)
   Inc #: 0 Objd: 17370 
  HWM Flag: HWM Set
      Highwater::  0x02400098  ext#: 0      blk#: 8      ext size: 8     
  #blocks in seg. hdr's freelists: 0     
  #blocks below: 5     
  mapblk  0x00000000  offset: 0     
  --------------------------------------------------------
  DBA Ranges :
  --------------------------------------------------------
   0x02400090  Length: 8      Offset: 0      
  
   0:Metadata   1:Metadata   2:Metadata   3:75-100% free
   4:75-100% free   5:75-100% free   6:75-100% free   7:50-75% free   --看到一個塊pctfree已經發生變化

下面我們再刪除一行看看塊的pctfree變化

SQL> delete from t1 where name like '%B%';

1 row deleted.

SQL> commit;

Commit complete.

SQL> alter system checkpoint;

System altered.

SQL> alter system dump datafile 9 block 144;

System altered.
下面是對我們有用的信息

Dump of First Level Bitmap Block
 --------------------------------
   nbits : 4 nranges: 1         parent dba:  0x02400091   poffset: 0     
   unformatted: 0       total: 8         first useful block: 3      
   owning instance : 1
   instance ownership changed at 08/24/2014 18:42:49
   Last successful Search 08/24/2014 18:42:49
   Freeness Status:  nf1 0      nf2 0      nf3 0      nf4 5      --變回原來的樣子
 
   Extent Map Block Offset: 4294967295 
   First free datablock : 3      
   Bitmap block lock opcode 0
   Locker xid:     :  0x0000.000.00000000
   Dealloc scn: 0.0 
   Flag: 0x00000001 (-/-/-/-/-/HWM)
   Inc #: 0 Objd: 17370 
  HWM Flag: HWM Set
      Highwater::  0x02400098  ext#: 0      blk#: 8      ext size: 8     
  #blocks in seg. hdr's freelists: 0     
  #blocks below: 5     
  mapblk  0x00000000  offset: 0     
  --------------------------------------------------------
  DBA Ranges :
  --------------------------------------------------------
   0x02400090  Length: 8      Offset: 0      
  
   0:Metadata   1:Metadata   2:Metadata   3:75-100% free
   4:75-100% free   5:75-100% free   6:75-100% free   7:75-100% free
--pctfree變回原來的樣子

發佈了48 篇原創文章 · 獲贊 19 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章