block 内部结构分解

<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Times New Roman;">Oracle block</span>
</span>
<span style="">的详细物理结构图:</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p style="text-indent: 0.1pt; margin-right: 1.25pt;"></p>
<p style="text-indent: 0.1pt; margin-right: 1.25pt;"><span style=""><img src="http://hi.csdn.net/attachment/201008/23/0_1282552406EDzS.gif" alt=""></span>
</p>
<p style="text-indent: 0.1pt; margin-right: 1.25pt;"></p>
<p style="text-indent: 0.1pt; margin-right: 1.25pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">本文主要说明<span lang="EN-US">oracle block</span>
的物理结构,它是<span lang="EN-US">oracle</span>
的最小存储单元,由多个<span lang="EN-US">os</span>
数据块组成。主要由三个逻辑层组成(通过<span lang="EN-US">c</span>
语言描绘的结构,如下图一所示):<span lang="EN-US">the cache layer</span>
,<span lang="EN-US">the transaction layer</span>
,<span lang="EN-US">data layer</span>
。如果再细化,<span lang="EN-US">data layer</span>
又分为很多结构,如<span lang="EN-US">table directory</span>
,<span lang="EN-US">row directory</span>
,<span lang="EN-US">free space</span>
,<span lang="EN-US">row data</span>
等</span>
</span>
</p>

<p style="text-indent: 0.1pt; margin-right: 1.25pt;"></p>
<p style="margin: 5pt 1.25pt 5pt 0cm; text-indent: 0.1pt;"></p>
<p style="text-indent: 0.1pt; margin-right: 1.25pt;"></p>
<p><span lang="EN-US"><span><img src="http://hi.csdn.net/attachment/201008/23/0_1282552557sVDV.gif" alt=""></span>
</span>
</p>
<p style="text-indent: 0.1pt; margin-right: 1.25pt;"><span lang="EN-US"><span> </span>
</span>
<span style="">(图一)</span>
</p>
<p style="text-indent: 0.1pt; margin-right: 1.25pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">Oracle</span>
<span style="">的<span lang="EN-US">block</span>
被映射到<span lang="EN-US">SGA kcbh</span>
(<span lang="EN-US">kernel cache block header</span>
)的对应的<span lang="EN-US">block</span>
上 。</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US"><span style="color: #008000;"><strong>the cache layer</strong>
</span>
</span>
<span style="">:它是<span lang="EN-US">block header</span>
的第一部分,占用<span lang="EN-US">20</span>
个<span lang="EN-US">bytes</span>
。用于检查数据的正确性,即被读的<span lang="EN-US">block</span>
是否断裂或损坏。它包含如下结构</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span><span style="font-size: small;">1.</span>
<span style='font: 7pt "Times New Roman";'> </span>
</span>
</span>
<span style="font-size: small;"><span style="" lang="EN-US">the data block address</span>
<span style="">(<span lang="EN-US">DBA</span>
)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span><span style="font-size: small;">2.</span>
<span style='font: 7pt "Times New Roman";'> </span>
</span>
</span>
<span style="font-size: small;"><span style="" lang="EN-US">the block type (</span>
<span style="">例如<span lang="EN-US">Table/Index, Rollback Segment, Temporary)</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span><span style="font-size: small;">3.</span>
<span style='font: 7pt "Times New Roman";'> </span>
</span>
</span>
<span style="font-size: small;"><span style="" lang="EN-US">the block format (<span style="" lang="EN-US">8i~9i </span>
<span style="">都是<span lang="EN-US">0x02 10.1.0 2k: 0x62 4k:0x82 8k:0xa2 16k:0xc2 (logfile 0x22 512 bytes)</span>
</span>
)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span><span style="font-size: small;">4.</span>
<span style='font: 7pt "Times New Roman";'> </span>
</span>
</span>
<span style="font-size: small;"><span style="" lang="EN-US">a system change number</span>
<span style="">(<span lang="EN-US">SCN</span>
)<span lang="EN-US">used for ordering purposes during recovery</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US"><span style="color: #008000;"><strong>the transaction layer:</strong>
</span>
</span>
<span style="">用户存储数据块里<span lang="EN-US">transaction</span>
信息的,包含两部分信息</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span><span style="font-size: small;">1.</span>
<span style='font: 7pt "Times New Roman";'> </span>
</span>
</span>
<span style=""><span style="font-size: small;">一个是<span lang="EN-US">a fixed component ,KTBBH(TRANSACTION FIXED HEADER),</span>
包含关于数据块的类型,数据块的最 新<span lang="EN-US">cleanout</span>
时间,<span lang="EN-US">ITL</span>
(<span lang="EN-US">Interested Transcation List</span>
)的数量,空闲列表的链接,还有空闲空间<span lang="EN-US">lock</span>
。</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span><span style="font-size: small;">2.</span>
<span style='font: 7pt "Times New Roman";'> </span>
</span>
</span>
<span style=""><span style="font-size: small;">另一个是<span lang="EN-US"> a variable portion</span>
,<span lang="EN-US">KTBIT</span>
(<span lang="EN-US">TRANSACTION VARIABLE HEADER</span>
),包含一个进程在一个<span lang="EN-US">block</span>
里要编辑行所需要的<span lang="EN-US">ITLs</span>
。默认的包含一个表的数据块只有一个<span lang="EN-US">ITL</span>
,<span lang="EN-US">ITL</span>
的多少是通过存储参数<span lang="EN-US">INITRANS</span>
来设置的,设置较大的值会减少<span lang="EN-US">row data</span>
的可用空间,这个参数是可以动态修改的,但只影响新的<span lang="EN-US">block</span>
,对已经存在的<span lang="EN-US">block</span>
没有作用(可以用<span lang="EN-US">imp/exp,move</span>
等方法可以让其对存在的<span lang="EN-US">block</span>
起作用)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US"><strong><span style="color: #008000;">The data layer</span>
</strong>
</span>
<span style="">:包含<span lang="EN-US">data header </span>
结构,<span lang="EN-US">KDBH</span>
(</span>
<span lang="EN-US"><span style="font-family: Times New Roman;">kernel data block header</span>
</span>
<span style="">,是</span>
<span style="" lang="EN-US">DATA HEADER</span>
<span style="">,占用<span lang="EN-US">14bytes</span>
),和<span lang="EN-US">row data</span>
。其中<span lang="EN-US">data header</span>
包含表的数量(在表索引中,即<span lang="EN-US">table directory</span>
),数据行的数量,第一个空闲行的条目(在行索引中,即<span lang="EN-US">row directory</span>
)</span>
<span style="">,指向空闲区域的开始和结束的偏移量,可用的空闲空间。数据行是从</span>
<span lang="EN-US"><span style="font-family: Times New Roman;">block</span>
</span>
<span style="">的底部开始</span>
<span lang="EN-US"><span style="font-family: Times New Roman;">insert</span>
</span>
<span style="">的,伴随</span>
<span lang="EN-US"><span style="font-family: Times New Roman;">insert</span>
</span>
<span style="">和</span>
<span lang="EN-US"><span style="font-family: Times New Roman;">delete</span>
</span>
<span style="">操作,行数据是随机存储的。</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">如下图所示:</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"><img src="http://hi.csdn.net/attachment/201008/23/0_128255263321Y2.gif" alt=""></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">假设初始化<span lang="EN-US">5</span>
行数据,每行<span lang="EN-US">10bytes</span>
大小,按<span lang="EN-US">offsets</span>
排序是<span lang="EN-US">5</span>
,<span lang="EN-US">4</span>
,<span lang="EN-US">3</span>
,<span lang="EN-US">2</span>
,<span lang="EN-US">1</span>
。现在删除<span lang="EN-US">2</span>
,<span lang="EN-US">4</span>
行,再<span lang="EN-US">insert</span>
一行<span lang="EN-US">20bytes</span>
的数据,在<span lang="EN-US">row directory </span>
中<span lang="EN-US">slot2</span>
被使用,但实际的<span lang="EN-US">row data</span>
存储在<span lang="EN-US">row5</span>
之上。这个时候再按<span lang="EN-US">offsets</span>
排序就是<span lang="EN-US">2</span>
,<span lang="EN-US">5</span>
,<span lang="EN-US">3</span>
,<span lang="EN-US">1 </span>
。随着你在数据块上的<span lang="EN-US">DML</span>
操作的越频繁,这种行的随机性就更强。</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">下面说下<span lang="EN-US">data block</span>
的设计,如下图所示</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><img src="http://hi.csdn.net/attachment/201008/23/0_1282552682skLx.gif" alt=""></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">下面是<span lang="EN-US">oracle block</span>
的<span lang="EN-US">dump</span>
文件,结合上面这个图片来验证下<span lang="EN-US">oracle block</span>
的存储情况</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Dump file e:\oracle\product\10.2.0\admin\test\udump\test_ora_4820.trc</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Thu Aug 19 13:01:36 2010</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">ORACLE V10.2.0.4.0 - Production vsnsta=0</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">vsnsql=14 vsnxtr=3</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">With the Partitioning, OLAP, Data Mining and Real Application Testing options</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Windows XP Version V5.1 Service Pack 3, v.3300</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">CPU<span> </span>
: 2 - type 586, 2 Physical Cores</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Process Affinity<span> </span>
: 0x00000000</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Memory (Avail/Total): Ph:313M/1918M, Ph+PgF:2399M/3812M, VA:1289M/2047M</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Instance name: test</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Redo thread mounted by this instance: 1</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Oracle process number: 21</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Windows thread id: 4820, image: ORACLE.EXE (SHAD)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">*** 2010-08-19 13:01:36.593</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">*** ACTION NAME:() 2010-08-19 13:01:36.578</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">*** MODULE NAME:(SQL*Plus) 2010-08-19 13:01:36.578</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">*** SERVICE NAME:(test) 2010-08-19 13:01:36.578</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">*** SESSION ID:(201.21830) 2010-08-19 13:01:36.578</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Error: alter system dump datafile/tempfile: invalid input file # 0</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">*** 2010-08-19 13:02:41.375</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Error: alter system dump datafile/tempfile: invalid input file # 0</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">*** 2010-08-19 13:03:17.296</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Start dump data blocks tsn: 4 file#: 4 minblk 29347 maxblk 29347</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">buffer tsn: 4 rdba: 0x010072a3 (4/29347)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">scn: 0x0000.009b876f seq: 0x01 flg: 0x04 tail: 0x876f2301</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">frmt: 0x02 chkval: 0x4671 type: 0x23=PAGETABLE SEGMENT HEADER</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Hex dump of block: st=0, typ_found=1</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Dump of memory from 0x0A2A8400 to 0x0A2AA400</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">A2A8400</span>
<span style="" lang="EN-US"> <strong>0000A</strong>
<strong>223 010072A3 009B876F 04010000</strong>
</span>
<span style="" lang="EN-US"><span> </span>
[#....r..o.......]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">A2A8410</span>
<span style="" lang="EN-US"> <strong><span style="color: green;">00004671</span>
</strong>
<span style="color: purple;">00000000 00000000 00000000</span>
<span> </span>
[qF..............]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">A2A8420</span>
<span style="" lang="EN-US"> <span style="color: purple;">00000000 00000001 00000008</span>
00000A9C<span> </span>
[................]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">A2A8430</span>
<span style="" lang="EN-US"> 00000000 00000004 00000008 010072A5<span> </span>
[.............r..]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">..r....</span>
<span style="" lang="EN-US">..</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">..r....</span>
<span style="" lang="EN-US">..</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">A2A9850</span>
<span style="" lang="EN-US"> 00000000 00000000 00000000 00000000<span> </span>
[................]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US"><span> </span>
</span>
<span style="" lang="EN-US"><span></span>
Repeat 185 times</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">A2AA3F0</span>
<span style="" lang="EN-US"> 00000000 00000000 00000000 876F2301<span> </span>
[.............#o.]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><strong><span style=""><span style="font-size: small;"><span style="color: #008000;"><span style="font-size: x-small;">这里说明下<span lang="EN-US">TAIL</span>
用于验证<span lang="EN-US">block</span>
的完整性的,它是由<span lang="EN-US">SCNBase</span>
,<span lang="EN-US">block type</span>
,<span lang="EN-US">SCN seq number</span>
组成。</span>
</span>
</span>
</span>
</strong>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><strong><span style=""><span style="font-size: small;"></span>
</span>
</strong>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="color: #008000;"><span style="font-size: x-small;"><strong><span style="" lang="EN-US">876F</span>
</strong>
<strong><span style="" lang="EN-US">2301=876F</span>
</strong>
<strong><span style="">(<span lang="EN-US">last two bytes of SCN Base</span>
)<span lang="EN-US">+ 23</span>
(<span lang="EN-US">type</span>
)<span lang="EN-US">+ 01</span>
(<span lang="EN-US">seq</span>
)</span>
</strong>
</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;"><strong>红色的字是<span lang="EN-US">offset</span>
(偏移量)</strong>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">首先来看前<span lang="EN-US">20</span>
个<span lang="EN-US">bytes</span>
,也就是<span lang="EN-US">the cache layer,16进制的数据如下:</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">0000A</span>
<span style="" lang="EN-US">223 010072A3 009B876F 04010000 00004671</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第一和第二个字节是<span lang="EN-US">filler</span>
,也就是未被使用(</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US">ub1 spare1_kcbh this field is no longer used (old inc#, now always 0) <br>
ub1 spare2_kcbh this field is no longer used (old ts#, now always 0)</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">),未被定义<span style="color: green;">(和前面的图有点出入)</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""></span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第三个字节是<span lang="EN-US">frmt</span>
,一般是<span lang="EN-US">0x02</span>
,这里是<span lang="EN-US">0xa2,</span>
用掩码<span lang="EN-US">0x0f</span>
与运算可以取出<span lang="EN-US">0x02</span>
(掩码是为了保护敏感信息)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第四个字节是<span lang="EN-US">type</span>
,这里是<span lang="EN-US">23</span>
,代表<span lang="EN-US">PAGETABLE SEGMENT HEADER</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第五个到第八个字节是<span lang="EN-US">rdba</span>
,这里是<span lang="EN-US">0x010072a3</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第九个到第十二字节是<span lang="EN-US">SCNBase </span>
,这里是<span lang="EN-US"> 0x009B876F</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第十三个字节是<span lang="EN-US">flg</span>
,这里是<span lang="EN-US">0x04</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">(</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US">as defined in kcbh.h <br>
#define KCBHFNEW 0x01 /* new block - zeroed data area */<br>
#define KCBHFDLC 0x02 /* Delayed Logging Change advance SCN/seq */<br>
#define KCBHFCKV 0x04 /* ChecK Value saved-block xor's to zero */<br>
#define KCBHFTMP 0x08 /* Temporary block */<br></span>
<span style="">这是一个可以组合的值 也就是说有为<span lang="EN-US"> 6 </span>
的时候是<span lang="EN-US"> 2,4 </span>
两种情况的组合</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第十四个字节<span lang="EN-US">seq</span>
,这里是<span lang="EN-US"> 0x01</span>
。</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="">(<span lang="EN-US">A sequence number incremented for each change to a block at the same SCN <br>
A new SCN is allocated if the sequence number wraps. <br></span>
同一个<span lang="EN-US">SCN</span>
影响这个<span lang="EN-US">block</span>
中的行数大于<span lang="EN-US"> 254 </span>
行就会为这个事务分配一个新的<span lang="EN-US">SCN <br></span>
如下面的操作就可能引起同一个<span lang="EN-US">SCN</span>
但影响的同一个<span lang="EN-US">block </span>
中的行超过<span lang="EN-US">254</span>
行<span lang="EN-US"> <br>
"delete from table_name" <br></span>
影响的行数<span lang="EN-US">(</span>
最大<span lang="EN-US">254) </span>
是用从<span lang="EN-US"> 0x01 </span>
到<span lang="EN-US"> 0xfe </span>
表示的<span lang="EN-US"><br></span>
<strong>当这个<span lang="EN-US">byte </span>
的数据为<span lang="EN-US"> 0xff </span>
的时候标志这个<span lang="EN-US"> block </span>
坏调了<span lang="EN-US">---> ora-01578</span>
</strong>
<span lang="EN-US"><br>
Sequence number:<br>
SEQ -> 0 /* non-logged changes - do not advance seq# */<br>
SEQ -> (UB1MAXVAL-1)/* maximum possible sequence number */<br>
SEQ -> (UB1MAXVAL) /* seq# to indicate a block is corrupt,equal to FF. <strong>soft corrupt</strong>
*/ <br>
0xff
: When present it indicates that the block has been marked as corrupt
by Oracle. either by the db_block_checking functionality or the
equivalent events (10210 for data blocks, 10211 for index blocks, and
10212 for cluster blocks) when making a database change, or by the
DBMS_REPAIR.FIX_CORRUPT_BLOCKS procedure, or by PMON after an
unsuccessful online block recovery attempt while recovering a failed
process, or by RMAN during a BACKUP, COPY or VALIDATE command with the
CHECK LOGICAL option. Logical corruptions are normally due to either
recovery through a NOLOGGING operation, or an Oracle software bug.</span>
</span>
<span style="">)</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第十五和第十六字节是<span lang="EN-US">SCNWrap </span>
,这里是<span lang="EN-US">0x0000</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第十七和第十八字节是</span>
</span>
<span style="" lang="EN-US">spare3_kcbh</span>
<span style="">,这里未使用</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第十九和第二十字节是<span lang="EN-US">checksum</span>
,这里是<span lang="EN-US">0x4671</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;"><span style="color: #008000;">正好和<span lang="EN-US">dump</span>
的内容一样</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""></span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">buffer tsn: 4 rdba: 0x010072a3 (4/29347)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">scn: 0x0000.009b876f seq: 0x01 flg: 0x04 tail: 0x876f2301</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">frmt: 0x02 chkval: 0x4671 type: 0x23=PAGETABLE SEGMENT HEADER</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;"><span style="color: #008000;"><strong>相关说明:</strong>
</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">Rdba</span>
<span style="">:<span lang="EN-US">block</span>
的相对地址(<span lang="EN-US">DBA</span>
)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">Scn</span>
<span style="">:<span lang="EN-US"> SCN number</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">Seq</span>
<span style="">:<span lang="EN-US">sequence number incremented for each change made to the block at the same SCN</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Flg:flag </span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">Tail:</span>
<span style="">验证<span lang="EN-US">block</span>
的完整性,通过检查<span lang="EN-US">block</span>
的开始和结束是否是同一版本</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">Frmt</span>
<span style="">:<span lang="EN-US">block format </span>
通常是<span lang="EN-US">0x02</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">Chkval</span>
<span style="">:如果<span lang="EN-US">db_block_checksum=true</span>
时,<span lang="EN-US">block</span>
的核查值</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">Type</span>
<span style="">:<span lang="EN-US">block</span>
的类型,如<span lang="EN-US">data</span>
,<span lang="EN-US">index</span>
等</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;"><span style="color: #008000;"><strong>到此<span lang="EN-US">block</span>
的前<span lang="EN-US">20bytes</span>
都已经解读了,然后再看看紧跟其后的<span lang="EN-US">kttbh </span>
的<span lang="EN-US">24bytes</span>
内容解读</strong>
</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">BBED> p ktbbh</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">struct ktbbh, 48 bytes<span> </span>
@20<span> </span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub1 ktbbhtyp<span> </span>
@20<span> </span>
0x01 (KDDBTDATA)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
union ktbbhsid, 4 bytes<span> </span>
@24<span> </span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub4 ktbbhsg1<span> </span>
@24<span> </span>
0x0000001c</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub4 ktbbhod1<span> </span>
<span></span>
@24<span> </span>
0x0000001c</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
struct ktbbhcsc, 8 bytes<span> </span>
@28<span> </span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub4 kscnbas<span> </span>
@28<span> </span>
0x805c12df</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub2 kscnwrp<span> </span>
@32<span> </span>
0x0000</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
b2 ktbbhict<span> </span>
<span></span>
@36<span> </span>
1</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub1 ktbbhflg<span> </span>
@38<span> </span>
0x02 (NONE)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub1 ktbbhfsl<span> </span>
@39<span> </span>
0x00</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub4 ktbbhfnx<span> </span>
@40<span> </span>
0x00000000</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
struct ktbbhitl[0], 24 bytes<span> </span>
@44<span> </span>
<span></span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
struct ktbitxid, 8 bytes<span> </span>
@44<span> </span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub2 kxidusn<span> </span>
@44<span> </span>
0x0002</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub2 kxidslt<span> </span>
@46<span> </span>
0x0025</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub4 kxidsqn<span> </span>
@48<span> </span>
0x0006e714</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
struct ktbituba, 8 bytes<span> </span>
@52<span> </span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub4 kubadba<span> </span>
@52<span> </span>
0x00801ba0</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub2 kubaseq<span> </span>
@56<span> </span>
0xaa14</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub1 kubarec<span> </span>
@58<span> </span>
0x10</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub2 ktbitflg<span> </span>
<span></span>
@60<span> </span>
0x2001 (KTBFUPB)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
union _ktbitun, 2 bytes<span> </span>
@62<span> </span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
b2 _ktbitfsc<span> </span>
@62<span> </span>
0</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub2 _ktbitwrp<span> </span>
@62<span> </span>
0x0000</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
ub4 ktbitbas<span> </span>
<span></span>
@64<span> </span>
0x805c12e0</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;"><strong>以下是<span lang="EN-US">16</span>
进制文件内容:</strong>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Start dump data blocks tsn: 4 file#: 4 minblk 29348 maxblk 29348</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">buffer tsn: 4 rdba: 0x010072a4 (4/29348)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">scn: 0x0000.00e66a1e seq: 0x02 flg: 0x06 tail: 0x6a1e0602</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">frmt: 0x02 chkval: 0x4590 type: 0x06=trans data</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Hex dump of block: st=0, typ_found=1</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Dump of memory from 0x061E8400 to 0x061EA400</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8400</span>
<span style="" lang="EN-US"> 0000A206 010072A4 00E66A1E 06020000<span> </span>
[.....r...j......]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8410</span>
<span style="" lang="EN-US"> 00004590 <span style="color: #00ccff;">00000001 0000ED65 009B8769</span>
<span> </span>
[.E......e...i...]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8420</span>
<span style="" lang="EN-US"> <span style="color: #00ccff;">00000000 00320003 010072A1</span>
<span style="color: #cc99ff;">0000FFFF</span>
<span> </span>
[......2..r......]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8430</span>
<span style="" lang="EN-US"> <span style="color: #cc99ff;">00000000 00000000 00000000 00008000</span>
<span> </span>
[................]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8440</span>
<span style="" lang="EN-US"> <span style="color: #cc99ff;">009B8769</span>
00190001 00001B03 0080027B<span> </span>
[i...........{...]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8450</span>
<span style="" lang="EN-US"> 002C0E55 00002001 00E66A1E 00000000<span> </span>
[U.,.. ...j......]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8460</span>
<span style="" lang="EN-US"> 00000000 00000000 00000000 00000000<span> </span>
[................]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8470</span>
<span style="" lang="EN-US"> 00000000 00000000 00000000 00090100<span> </span>
[................]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8480</span>
<span style="" lang="EN-US"> 0024FFFF 1C291C4D 00001C29 1F1E0009<span> </span>
[..$.M.).).......]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8490</span>
<span style="" lang="EN-US"> 1E6C1EC3 1DB71E13 1D021D5B 1C4D1CA7<span> </span>
[..l.....[.....M.]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E84A0</span>
<span style="" lang="EN-US"> 00000000 00000000 00000000 00000000<span> </span>
[</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">.</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">.</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">.</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61EA3E0</span>
<span style="" lang="EN-US"> 38302D35 3A30332D 353A3331 30333A30<span> </span>
[5-08-30:13:50:30]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61EA3F0</span>
<span style="" lang="EN-US"> 4C415605 4E014449 4E014E01 6A1E0602<span> </span>
[.VALID.N.N.N...j]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p><span style="" lang="EN-US"><span style="font-size: small;">
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><strong><span style=""><span style="color: #000000;">其中<span lang="EN-US">buffer tsn: </span>
数据文件对应的<span lang="EN-US"> tablespace </span>
的<span lang="EN-US"> number </span>
,这只是<span lang="EN-US">dump</span>
文件中记录的数据而已,<span lang="EN-US">block </span>
中是没有记录<span lang="EN-US"> tablespace </span>
的<span lang="EN-US"> number </span>
的</span>
</span>
</strong>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">21-24</span>
字节,即<span lang="EN-US">0x00000001</span>
,表示<span lang="EN-US">typ </span>
,占<span lang="EN-US">4</span>
个<span lang="EN-US">bytes</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">(</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">1 </span>
</span>
<span style="">:</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;"> DATA </span>
</span>
<span style="">,</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;"> 2</span>
</span>
<span style="">:</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;"> index <br></span>
</span>
<span style="">改成</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">3</span>
</span>
<span style="">了在</span>
<span style="font-family: Times New Roman;"><span style="font-size: 10pt; color: green;" lang="EN-US">10.1.0</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"> </span>
</span>
<span style="">上引起了</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">ora-600[2032]</span>
</span>
<span style="">然后</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">ORA-27101: shared memory realm does not exist<br>
oracle</span>
</span>
<span style="">进行查询的时候是根据</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;"> obj$</span>
</span>
<span style="">表中的情况来判断对象的类型的</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">,</span>
</span>
<span style="">不是根据这个</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">typ<br></span>
</span>
<span style="">也就是说如果有一个表但改变表中</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">block</span>
</span>
<span style="">的这个标志位,一样可以查询出数据来</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">,<br></span>
</span>
<span style="">但</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">dump block </span>
</span>
<span style="">时会出错</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">,ORA-00600: </span>
</span>
<span style="">内部错误代码,自变量</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">: [4555], [0], [], [], [], [], [], []<br></span>
</span>
<span style="">错误中的</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;"> [0] </span>
</span>
<span style="">就是</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">typ</span>
</span>
<span style="">对应的数据</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><br></span>
<span style="">在</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">10G</span>
</span>
<span style="">中改变它后</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">update</span>
</span>
<span style="">这个</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">block</span>
</span>
<span style="">的数据</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">commit</span>
</span>
<span style="">可以但</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">rollback</span>
</span>
<span style="">的报错</span>
<span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">25-28</span>
字节,即<span lang="EN-US">0x0000ED65</span>
,表示</span>
</span>
<span style="" lang="EN-US">seg/obj</span>
<span style="">,占<span lang="EN-US">4</span>
个字节</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">29-36</span>
字节,即<span lang="EN-US"> 0x009B8769.00000000</span>
,表示<span lang="EN-US">csc ,</span>
占<span lang="EN-US">6</span>
个字节(</span>
</span>
<span style="" lang="EN-US">The SCN at which the last full cleanout was performed on the block</span>
<span style="">) </span>
<span style="" lang="EN-US"><span style="font-size: small;"><span></span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">37</span>
字节,即<span lang="EN-US">0x00 </span>
表示<span lang="EN-US"> fsl </span>
(</span>
</span>
<span style="" lang="EN-US">Index to the first slot on the ITL freelist. ITL TX freelist slot</span>
<span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">38</span>
字节,即<span lang="EN-US">0x32 </span>
表示<span lang="EN-US">flg</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">(</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US">indicates that the block is on a freelist. Otherwise the flag is -<br>
9i </span>
<span style="">的<span lang="EN-US">ASSM </span>
的情况下这个值为<span lang="EN-US"> E<br>
ixora </span>
上说他占用<span lang="EN-US"> 2 bytes </span>
但我下面的试验和他的结果有一定的出入<span lang="EN-US"><br></span>
我观察到的情况是<span lang="EN-US"> : Object id on Block? Y flg: O ver: 0x01 <br></span>
上面的<span lang="EN-US">3</span>
项是用同一个<span lang="EN-US"> byte </span>
来表示的<span lang="EN-US"><br><br>
flg: O ver: 0x01 Object id on Block? Y <br></span>
从我的观察中<span lang="EN-US"> dump </span>
出来的文件中<span lang="EN-US"> flg ver Object id on Block<br></span>
他们共同占用的这个一个字节 他的规律可以从下面的情况看出<span lang="EN-US"><br>
2</span>
进制数据<span lang="EN-US"> flg ver Object id on Block?<br>
0x00 - 0x00 N<br>
0x01 0 0x00 N<br>
0x02 - 0x01 Y<br>
0x03 0 0x01 Y<br>
0x04 - 0x02 Y<br>
0x05 0 0x02 Y<br>
0x06 - 0x03 Y<br>
0x07 0 0x03 Y<br>
0x08 - 0x04 N<br>
0x09 0 0x04 N<br>
0x0a - 0x05 Y<br>
0x0b 0 0x05 Y<br>
0x0c - 0x06 Y<br>
0x0d 0 0x06 Y<br>
0x0e - 0x07 Y<br>
0x0f 0 0x07 Y<br>
0x10 ... </span>
类似上面的循环了 这种情况在<span lang="EN-US">9i</span>
上已经改变因为<span lang="EN-US">ASSM</span>
的出现</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">39-40</span>
字节,即<span lang="EN-US">0x0003 </span>
表示<span lang="EN-US"> itc </span>
,占<span lang="EN-US">2</span>
个字节。</span>
</span>
<span style="">用<span lang="EN-US">0x00ff</span>
掩码取值,值为<span lang="EN-US">3</span>
</span>
<span style=""><span style="font-size: small;">(</span>
</span>
<span style="" lang="EN-US">ITL </span>
<span style="">条目的个数<span lang="EN-US"> max 255</span>
超过会报<span lang="EN-US">ORA-02207 ORA-00060 ORA-00054 </span>
可能是没空间分配<span lang="EN-US">itl</span>
条目了或它的争用引起的,在<span lang="EN-US">8i</span>
中<span lang="EN-US"> INITRANS default</span>
为<span lang="EN-US">1 , 9.2.0</span>
中<span lang="EN-US"> INITRANS default</span>
为<span lang="EN-US">2</span>
</span>
<span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">41-44</span>
字节,即<span lang="EN-US">0x010072A1 </span>
表示 <span style="color: green;">(</span>
</span>
</span>
<span style="">自由列表中下一块的地址<span lang="EN-US"> Null if this block is not on a freelist</span>
)</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">从<span lang="EN-US">44</span>
字节以后就是<span lang="EN-US">ITL</span>
的记录,每个<span lang="EN-US">itl</span>
所占<span lang="EN-US">24bytes</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">45-52</span>
字节,即<span lang="EN-US">0x0000.FFFF.00000000</span>
,表示<span lang="EN-US">xid </span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">(</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US">Transaction ID (UndoSeg.Slot.Wrap)<br></span>
<span style="">值可以用<span lang="EN-US">select XIDUSN, XIDSLOT,XIDSQN from v$transaction;</span>
查到<span lang="EN-US"> <br>
This is comprised of the rollback segment number (2 bytes), the slot number<br>
in the transaction table of that rollback segment (2 bytes), and the number<br>
of times use of that transaction table has wrapped (4 bytes).</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="">)</span>
<span style=""> </span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">53-60</span>
字节,即<span lang="EN-US">0x00000000.000000.00</span>
,表示<span lang="EN-US">uba</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">(</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US">Undo address (UndoDBA.SeqNo.RecordNo)<br>
The
location of the undo for the most recent change to this block by this
transaction. This is comprised of the DBA of the rollback segment block
(4 bytes), the sequence number (2 bytes), and the record number for the
change in that undo block (1 byte), plus 1 unused byte.</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="">)</span>
<span style=""> </span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">63-64</span>
字节,即<span lang="EN-US">0x8000 </span>
,表示<span lang="EN-US">lck flag </span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">(</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">Lck </span>
</span>
<span style="">锁定的</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">row</span>
</span>
<span style="">数</span>
<span style="font-size: 10pt; color: green;"><span style="font-family: Times New Roman;"> </span>
</span>
<span style="">这里还用到了下一个</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;"> byte </span>
</span>
<span style="">的数据</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><br><span style="font-family: Times New Roman;">2 </span>
</span>
<span style="">对应的二进制表示为</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;"> 0010 </span>
</span>
<span style="">正好和</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">dump</span>
</span>
<span style="">文件中的</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;"> --U- </span>
</span>
<span style="">吻合</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><br><span style="font-family: Times New Roman;">flag 1 nibble <br>
C = Committed; U = Commit Upper Bound; T = Active at CSC; B = Rollback of this UBA gives before image of the ITL.<br>
---- = transaction is active, or committed pending cleanout<br>
C--- = transaction has been committed and locks cleaned out<br>
-B-- = this undo record contains the undo for this ITL entry<br>
--U- = transaction committed (maybe long ago); SCN is an upper bound<br>
---T = transaction was still active at block cleanout SCN<br>
Lck 3 nibbles <br>
The number of row-level locks held in the block by this transaction.</span>
</span>
<span style="font-size: small;"><span style="">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">61-62</span>
和<span lang="EN-US">65-68</span>
字节,即<span lang="EN-US"> 0x0000.009B8769 </span>
表示</span>
</span>
<span style="" lang="EN-US">Scn/Fsc</span>
<span style="">:</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="">(</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US">If
the transaction has been cleaned out, this is the commit SCN or an
upper bound thereof. Otherwise the leading two bytes contain the free
space credit for the transaction - that is, the number of bytes freed in
the block by the transaction <br>
Scn = SCN of commited TX; Fsc = Free space credit (bytes)</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="">)</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p>
<span style="" lang="EN-US"><span style="font-size: small;"><span style="color: #000000;">再往下分析,</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">Block header dump:<span> </span>
0x010072a4</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span></span>
Object id on Block? Y</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span></span>
seg/obj: 0xed65<span> </span>
csc: 0x00.9b8769<span> </span>
itc: 3<span> </span>
flg: E<span> </span>
typ: 1 - DATA</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
brn: 0<span> </span>
bdba: 0x10072a1 ver: 0x01 opc: 0</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
inc: 0<span> </span>
exflg: 0</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span></span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span></span>
Itl<span> </span>
Xid<span> </span>
Uba<span> </span>
Flag<span> </span>
Lck<span> </span>
Scn/Fsc</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x01<span> </span>
0xffff.000.00000000<span> </span>
0x00000000.0000.00<span> </span>
C---<span> </span>
0<span> </span>
scn 0x0000.009b8769</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x02<span> </span>
0x0001.019.00001b03 <span></span>
0x0080027b.0e55.2c<span> </span>
--U-<span> </span>
1<span> </span>
fsc 0x0000.00e66a1e</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x03<span> </span>
0x0000.000.00000000<span> </span>
0x00000000.0000.00<span> </span>
----<span> </span>
0<span> </span>
fsc 0x0000.00000000</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">因为这里有三个<span lang="EN-US">itls</span>
,所有共占用<span lang="EN-US">24</span>
×<span lang="EN-US">3=72bytes</span>
空间,再加上<span lang="EN-US">20+24+8</span>
(<span style="color: red;">这个可能是保留的,具体做什么,不是很清楚?</span>
),总<span lang="EN-US">124</span>
字节</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">16</span>
<span style="">进制文件如下:</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8470</span>
<span style="" lang="EN-US"> 00000000 <span style="text-decoration: underline;"><span style="color: #333399;">00000000 00000000</span>
</span>
<span style="color: #99cc00;">00090100</span>
<span> </span>
[................]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8480</span>
<span style="" lang="EN-US"> <span style="color: #99cc00;">0024FFFF 1C291C4D 00001C29</span>
1F1E0009<span> </span>
[..$.M.).).......]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="" lang="EN-US">61E8490</span>
<span style="" lang="EN-US"> 1E6C1EC3 1DB71E13 1D021D5B 1C4D1CA7<span> </span>
[..l.....[.....M.]</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">125</span>
字节,即<span lang="EN-US">0x00 </span>
表示<span lang="EN-US">flag</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">(</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US">N=pctfree hit(clusters), F=don't put on free list <br>
K=flushable cluster keys. </span>
<span style="">当然还有别的标记<span lang="EN-US">: A ...</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">126</span>
字节,即<span lang="EN-US">0x09</span>
,表示<span lang="EN-US">nrow </span>
(</span>
</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">block </span>
</span>
<span style="">有多少行数据</span>
<span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">127</span>
字节,即<span lang="EN-US">0x01</span>
,表示<span lang="EN-US">ntab </span>
(</span>
</span>
<span style="">这</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">block</span>
</span>
<span style="">中有几个</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">table</span>
</span>
<span style="">的数据</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;"> cluster</span>
</span>
<span style="">这个就可能大于</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">1</span>
</span>
<span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">128-129</span>
字节,即<span lang="EN-US">0x0000,</span>
表示<span lang="EN-US">frre<span style="color: #99cc00;"> </span>
</span>
<span style="color: #99cc00;">(</span>
</span>
</span>
<span style="" lang="EN-US">First free row index entry. -1=you have to add one</span>
<span style="" lang="EN-US">.</span>
<span style="font-size: small;"><span style="">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">130</span>
字节,即<span lang="EN-US">0x24</span>
,表示<span lang="EN-US">fsbo</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">(</span>
</span>
<span style="" lang="EN-US">Free Space Begin offset </span>
<span style="">出去<span lang="EN-US">row dict </span>
后面的可以放数据的空间的起始位置<span lang="EN-US"><br></span>
也可以看成是从这个区域的开始<span lang="EN-US">"flag"</span>
到最后一个<span lang="EN-US"> "row offs"</span>
占用的空间</span>
<span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">135-136</span>
字节,即<span lang="EN-US"> 0x1C4D</span>
,表示<span lang="EN-US">fseo</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">(</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US">Free Space End offset ( 9.2.0 )</span>
<span style="">参与<span lang="EN-US">db_block_checking</span>
的计算剩余空间<span lang="EN-US"><br>
select </span>
的时候<span lang="EN-US">oracle</span>
不是简单的根据<span lang="EN-US">offset</span>
定位<span lang="EN-US">row.</span>
这个值也是参与了定位<span lang="EN-US">row</span>
的</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">139-140</span>
字节,即<span lang="EN-US">0x1C29</span>
,表示<span lang="EN-US">tosp</span>
(</span>
</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">Total available space when all TXs commit ( 9.2.0 )</span>
</span>
<span style="">参与</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">db_block_checking</span>
</span>
<span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">133-134</span>
字节,即<span lang="EN-US">0x1C29</span>
,表示<span lang="EN-US">avsp</span>
<span style="color: green;">(</span>
</span>
</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">Available space in the block (pctfree and pctused) ORA-01578</span>
</span>
<span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><strong><span style="" lang="EN-US">Oracle</span>
</strong>
<strong><span style="">的<span lang="EN-US">dsi</span>
文档里和<span lang="EN-US">bbed</span>
查看<span lang="EN-US">block</span>
的结构,都表明<span lang="EN-US">kdbh</span>
占<span lang="EN-US">14</span>
字节,但我的这个测试和其有些出入,希望高人指出</span>
</strong>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><strong></strong>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">其中第<span lang="EN-US">141-142</span>
字节,即<span lang="EN-US">0x1F1E</span>
,表示<span lang="EN-US">offsets </span>
(</span>
</span>
<span style="">偏移量</span>
<span style="font-size: 10pt; color: green;"><span style="font-family: Times New Roman;"> </span>
</span>
<span style="">用</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;"> cluster </span>
</span>
<span style="">的时候可以看出值</span>
<span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span style="font-size: small;">第<span lang="EN-US">143-144</span>
字节,即<span lang="EN-US">0x0009</span>
,表示<span lang="EN-US">nrow</span>
(</span>
</span>
<span style="">这个</span>
<span style="font-size: 10pt; color: green;" lang="EN-US"><span style="font-family: Times New Roman;">table</span>
</span>
<span style="">有多少行数据</span>
<span style=""><span style="font-size: small;">)</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="font-size: small;"><span style="">和下面的</span>
<span style="" lang="EN-US">Block</span>
<span style="">的<span lang="EN-US">dump</span>
文件是对应符合的</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"></span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p><span style="" lang="EN-US"><span style="font-size: small;">
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US">data_block_dump,data header at 0x61e847c</span>
</p>
<pre style="text-indent: 36pt;"><span style=""><span style="font-size: 9pt; color: blue;" lang="EN-US">//data_block_dump,data header at </span>
<span style="font-size: 9pt;" lang="EN-US">0x61e847c</span>
</span>
</pre>
<pre style=""><span style=""><span style="font-size: 9pt; color: blue;" lang="EN-US"><span> </span>
//</span>
<span style="font-size: 9pt; color: blue;">其实这个<span lang="EN-US">block</span>
不是直接从<span lang="EN-US"> data buffer </span>
中<span lang="EN-US"> dump </span>
出来的这个表示真正<span lang="EN-US">dump</span>
时<span lang="EN-US"> block </span>
的数<span lang="EN-US">//</span>
据区的起始位置</span>
</span>
</pre>
<pre><span style=""><span style="font-size: 9pt; color: blue;" lang="EN-US"><span> </span>
//</span>
<span style="font-size: 9pt; color: blue;">也就是下面这部分开始的位置</span>
</span>
</pre>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"></span>
<span style=""><span lang="EN-US"><span style="font-size: small;">===============<span> </span>
</span>
</span>
<span style="font-size: 9pt; color: blue;" lang="EN-US"><span> </span>
tsiz:<span> </span>
hsiz:<span> </span>
pbl:<span> </span>
bdba: </span>
<span style="font-size: 9pt; color: blue;">在数据文件都是没有存储的 </span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"></span>
<span style="" lang="EN-US">tsiz: 0x1f80<span> </span>
</span>
<span lang="EN-US"><span style="font-family: Times New Roman;"><span></span>
</span>
<span style="font-size: xx-small;"><span style="color: blue;"><span style="font-size: x-small;"> Total data area size<span></span>
</span>
</span>
</span>
</span>
<span style=""><span style="color: blue;" lang="EN-US"><span><span style="font-size: small;">---</span>
</span>
</span>
<span style="font-size: 9pt; color: blue;" lang="EN-US">8k</span>
<span style="font-size: 9pt; color: blue;">的<span lang="EN-US">block: 8192-20(block head)-24(Transaction Header)-24*2(</span>
一个事务条<span lang="EN-US">)-8(</span>
我不太清楚的<span lang="EN-US">8</span>
个字节<span lang="EN-US">)-4(block tail)=8072(0x1f80)</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"></span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span lang="EN-US"><span style="font-size: small;">hsiz: 0x24<span> </span>
</span>
</span>
<span style="font-size: 9pt;" lang="EN-US"><span></span>
<span style="color: blue;"> Data header size<span> </span>
</span>
</span>
<span style="font-size: 9pt; color: blue;">数据块头<span lang="EN-US">20</span>
个字节<span lang="EN-US">+</span>
数据块尾<span lang="EN-US">4</span>
个字节<span lang="EN-US">=24</span>
字节<span lang="EN-US">(0x14)</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style=""><span lang="EN-US"><span style="font-size: small;">pbl: 0x061e847c<span> </span>
</span>
</span>
<span style="font-size: 9pt; color: blue;" lang="EN-US"> Pointer to buffer holding the block</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"></p>
<p>
<span style="" lang="EN-US"><span style="font-size: small;">bdba: 0x010072a4</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;"><span> </span>
76543210</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">flag=--------</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">ntab=1 ---<span style="font-size: x-small;"><span style="color: #0000ff;">这</span>
<span style="color: #0000ff;"><span style="color: #0000ff;">block中有几个table的数据 cluster这个就可</span>
能大于1</span>
</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">nrow=9 ---<span style="font-size: x-small;"><span style="color: #0000ff;">block 有多少行数据</span>
</span>
</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">frre=-1</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">fsbo=0x24</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">fseo=0x1c4d</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">avsp=0x1c29</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">tosp=0x1c29</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0xe:pti[0]<span> </span>
nrow=9<span> </span>
offs=0</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x12:pri[0]<span> </span>
offs=0x1f1e</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x14:pri[1]<span> </span>
offs=0x1ec3</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x16:pri[2]<span> </span>
offs=0x1e6c</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x18:pri[3]<span> </span>
offs=0x1e13</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x1a:pri[4]<span> </span>
offs=0x1db7</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x1c:pri[5]<span> </span>
offs=0x1d5b</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x1e:pri[6]<span> </span>
offs=0x1d02</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x20:pri[7]<span> </span>
offs=0x1ca7</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">0x22:pri[8]<span> </span>
offs=0x1c4d</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">block_row_dump:</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">tab 0, row 0, @0x1f1e</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">tl: 98 fb: --H-FL-- lb: 0x2<span> </span>
cc: 15</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col<span> </span>
0: [ 5]<span> </span>
c4 02 07 4c 0c</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col<span> </span>
1: [ 4]<span> </span>
32 30 30 31</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col<span> </span>
2: [ 3]<span> </span>
53 59 53</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col<span> </span>
3: [16]<span> </span>
53 4e 41 50 5f 4c 4f 41 44 45 52 54 49 4d 45 24</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col<span> </span>
4: *NULL*</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col<span> </span>
5: [ 3]<span> </span>
c2 02 3f</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col<span> </span>
6: [ 3]<span> </span>
c2 02 3e</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col<span> </span>
7: [ 5]<span> </span>
54 41 42 4c 45</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col<span> </span>
8: [ 7]<span> </span>
78 69 08 1e 0e 33 1f</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col<span> </span>
9: [ 7]<span> </span>
78 69 08 1e 0e 33 1f</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col 10: [19]<span> </span>
32 30 30 35 2d 30 38 2d 33 30 3a 31 33 3a 35 30 3a 33 30</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col 11: [ 5]<span> </span>
56 41 4c 49 44</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col 12: [ 1]<span> </span>
4e</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col 13: [ 1]<span> </span>
4e</span>
</span>
</p>
<p class="MsoNormal" style="margin: 0cm 1.25pt 0pt 0cm; text-indent: 0.1pt;"><span style="" lang="EN-US"><span style="font-size: small;">col 14: [ 1]<span> </span>
4e</span>
</span>
</p>
<p>------续----</p>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值