CLUSTER內部結構的總結(3)
將這個塊dump出來,這部分是資料塊的頭:
Start dump data blocks tsn: 18 file#: 5 minblk 12 maxblk 12 buffer tsn: 18 rdba: 0x0140000c (5/12) scn: 0x0000.00318001 seq: 0x01 flg: 0x02 tail: 0x80010601 frmt: 0x02 chkval: 0x0000 type: 0x06=trans data Hex dump of block: st=0, typ_found=1 |
這部分是ITL,這裡需要注意的是在9i之前資料的ITL最小是1,在Oracle 10g之後預設的最小是2。但是在9i時候custer的ITL的最小是2。
Block header dump: 0x0140000c Object id on Block? Y seg/obj: 0xcbcb csc: 0x00.318000 itc: 2 flg: E typ: 1 - DATA brn: 0 bdba: 0x1400009 ver: 0x01 opc: 0 inc: 0 exflg: 0
Itl Xid Uba Flag Lck Scn/Fsc 0x01 0x0006.020.00000479 0x00800017.012b.09 C--- 0 scn 0x0000.00318000 0x02 0x0002.004.00000479 0x0080041b.02cf.14 --U- 8 fsc 0x0000.00318001 |
開始看正題了:
data_block_dump,data header at 0x8222264 =============== tsiz: 0x1f98 hsiz: 0x32 pbl: 0x08222264 bdba: 0x0140000c 76543210 flag=-------K ntab=3 nrow=12 frre=-1 fsbo=0x32 fseo=0x1ef4 avsp=0x1ec2 tosp=0x1ec2 |
這裡面與其他的不一樣的是flag的標誌。
flag=----N-K-F-AN:
No inserts (pctfree hit, clusters only)
K: Flushable Key(s)
F: Do not put block on free list
A: Array style hash cluster only
還有ntab,這裡表示這個資料塊中存放的是三個表的資料,其實在這個表存放的是一個cluster和兩個表的資料。
nrow標識的是這三個表的總共的行數。
0xe:pti[0] nrow=4 offs=0 0x12:pti[1] nrow=4 offs=4 0x16:pti[2] nrow=4 offs=8 這三個需要解釋一個這個是和普通的堆表存放不一樣的地方。這個一般存放在資料部分的0x0e這個位置開始,按照offs(兩個位元組),rows(兩個位元組)的順序排列,以上的排列應該是這樣的: -- -- -- -- Offs rows 00 00 04 00 04 00 04 00 08 00 04 00 這就是告訴Oracle,第一個表有四行,從00開始偏移,其實這個表就是cluster本身。 然後是第二個表也是有四行,從04開始偏移,。 第三個表四行,從08開始偏移。 我們們再做一個試驗,檢驗一下這個結論的正確像: SQL> insert into t1 values ('1','t1aaa');――向t1表插入一個數值。 1 row inserted SQL> commit; Commit complete SQL> alter system checkpoint; System altered SQL> alter system dump datafile 5 block 12; System altered SQL> 可以在dump上看到: 0xe:pti[0] nrow=4 offs=0 0x12:pti[1] nrow=5 offs=4 ――t1 0x16:pti[2] nrow=4 offs=9 這時候可以看到我們的猜測是正確的。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/222350/viewspace-917323/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Kafak探究之路- 內部結構小結
- Redis 內部資料結構Redis資料結構
- 【REDO】Oracle redo內部結構Oracle Redo
- Redis 字串 內部資料結構Redis字串資料結構
- 探索Kafka消費者的內部結構Kafka
- Redis資料結構的內部編碼Redis資料結構
- Redis 物件內部組織結構 —— 字典Redis物件
- FPGA內部硬體結構簡介FPGA
- gdb golang 檢視iface 內部結構Golang
- redis 資料結構和內部編碼Redis資料結構
- Java HashMap原理及內部儲存結構JavaHashMap
- PostgreSQL DBA(16) - WAL segment file內部結構SQL
- PostgreSQL DBA(17) - XLOG Record data內部結構SQL
- 放大器內部結構原理圖解圖解
- 資料庫內部儲存結構探索資料庫
- 位元組碼檔案的內部結構之謎
- 利用泛型模擬棧結構實現內部鏈式儲存結構泛型
- 樹結構總結
- Redis內部資料結構詳解(4)——ziplistRedis資料結構
- 【Redis】內部資料結構自頂向下梳理Redis資料結構
- 見微知著 —— Redis 字串精緻的內部結構Redis字串
- 這高階玩意的的內部結構你瞭解多少
- 《微機結構》總結
- 微機結構總結
- 線性結構總結
- 內部業務系統的一些經驗總結
- 14_深入解析Oracle table cluster結構Oracle
- 資料結構3-4周總結(1) 基本操作資料結構
- 探索Redis設計與實現3:Redis內部資料結構詳解——sdsRedis資料結構
- 集合資料結構總結資料結構
- 程式設計之美(第3章 結構之法-字串及連結串列的探索)總結程式設計字串
- CNN、RNN、DNN的內部網路結構有什麼區別?CNNRNNDNN
- (三分鐘系列)詳解Redis字串內部結構Redis字串
- 見微知著——Redis字串內部結構原始碼分析Redis字串原始碼
- 32. DDR2記憶體內部結構-1記憶體
- 三菱PLC內部常用的特殊輔助繼電器總結
- 3:Oracle體系結構(邏輯結構)Oracle
- Java刷題常用的資料結構總結Java資料結構
- 內網穿透的常用方法總結內網穿透