ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 表空间和数据文件实验二:ASSM

表空间和数据文件实验二:ASSM

原创 Linux操作系统 作者:dawningwang 时间:2011-01-07 16:12:41 0 删除 编辑

ASSM实验

 

通过一次性创建一个表,查看该表的段的组织结构。

 

SQL>  create table scott.test2 as select * from dba_objects;

 

表已创建。

 

SQL> select extent_id,file_Id,block_id from dba_extents where segment_name='TEST2';

 

 EXTENT_ID    FILE_ID   BLOCK_ID

---------- ---------- ----------

         0          4        601

         1          4        609

         2          4        625

         3          4        633

         4          4        641

         5          4        649

         6          4        657

         7          4        665

         8          4        673

         9          4        681

        10          4        689

 

 EXTENT_ID    FILE_ID   BLOCK_ID

---------- ---------- ----------

        11          4        697

        12          4        705

        13          4        713

        14          4        721

        15          4        729

        16          4        777

        17          4        905

 

已选择18行。

 

SQL> alter system dump datafile 4  block min 601  block max 640;

 

系统已更改。

 

通过比较发现,段TEST2的第一个区间的前3个块是元数据,记录的是这个段的结构信息,记录的信息有PAGETABLE SEGMENT HEADER,SECOND LEVEL BITMAP BLOCK和FIRST LEVEL BITMAP。上面是新建立的一个段TEST2,空间也是一次分配的。只有一个PAGETABLE SEGMENT HEADER,一个SECOND LEVEL BITMAP BLOCK,然后有很多FIRST LEVEL BITMAP BLOCK。FIRST LEVEL BITMAP BLOCK通常是一个区间有8个block的是2个相邻区间一个,即一个FIRST LEVEL BITMAP BLOCK管理16个block。区间长度大于16的使用两个FIRST LEVEL BITMAP BLOCK,两个FIRST LEVEL BITMAP BLOCK是相邻的,如果长度是128,则前64个块由第一个FIRST LEVEL BITMAP BLOCK管理,后64个块由第二个管理。此处长度为24的第一个FIRST LEVEL BITMAP BLOCK管理全部的24个块,后一个FIRST LEVEL BITMAP BLOCK管理的为空,因为前面还能管理更多的块,现在还没满足。orc1_ora_2296.trc关键信息如下所示:

 

PAGETABLE SEGMENT HEADER  位置603块

 

Extent Map

  -----------------------------------------------------------------

   0x01000259  length: 8    

   0x01000261  length: 8    

   0x01000271  length: 8    

   0x01000279  length: 8    

   0x01000281  length: 8    

   0x01000289  length: 8    

   0x01000291  length: 8    

   0x01000299  length: 8    

   0x010002a1  length: 8    

   0x010002a9  length: 8    

   0x010002b1  length: 8    

   0x010002b9  length: 8    

   0x010002c1  length: 8    

   0x010002c9  length: 8    

   0x010002d1  length: 8    

   0x010002d9  length: 8    

   0x01000309  length: 128  

   0x01000389  length: 24   

 

  Auxillary Map

  --------------------------------------------------------

   Extent 0     :  L1 dba:  0x01000259 Data dba:  0x0100025c

   Extent 1     :  L1 dba:  0x01000259 Data dba:  0x01000261

   Extent 2     :  L1 dba:  0x01000271 Data dba:  0x01000272

   Extent 3     :  L1 dba:  0x01000271 Data dba:  0x01000279

   Extent 4     :  L1 dba:  0x01000281 Data dba:  0x01000282

   Extent 5     :  L1 dba:  0x01000281 Data dba:  0x01000289

   Extent 6     :  L1 dba:  0x01000291 Data dba:  0x01000292

   Extent 7     :  L1 dba:  0x01000291 Data dba:  0x01000299

   Extent 8     :  L1 dba:  0x010002a1 Data dba:  0x010002a2

   Extent 9     :  L1 dba:  0x010002a1 Data dba:  0x010002a9

   Extent 10    :  L1 dba:  0x010002b1 Data dba:  0x010002b2

   Extent 11    :  L1 dba:  0x010002b1 Data dba:  0x010002b9

   Extent 12    :  L1 dba:  0x010002c1 Data dba:  0x010002c2

   Extent 13    :  L1 dba:  0x010002c1 Data dba:  0x010002c9

   Extent 14    :  L1 dba:  0x010002d1 Data dba:  0x010002d2

   Extent 15    :  L1 dba:  0x010002d1 Data dba:  0x010002d9

   Extent 16    :  L1 dba:  0x01000309 Data dba:  0x0100030b

   Extent 17    :  L1 dba:  0x01000389 Data dba:  0x0100038b

  --------------------------------------------------------

 

   Second Level Bitmap block DBAs

   --------------------------------------------------------

   DBA 1:   0x0100025a

 

 

SECOND LEVEL BITMAP BLOCK  0x0100025a   位置:602块

L1 Ranges :

  --------------------------------------------------------

   0x01000259  Free: 1 Inst: 1    对应的块:    601

   0x01000271  Free: 1 Inst: 1    对应的块:    625

   0x01000281  Free: 1 Inst: 1    对应的块:    641

   0x01000291  Free: 1 Inst: 1    对应的块:    657

   0x010002a1  Free: 1 Inst: 1    对应的块:    673

   0x010002b1  Free: 1 Inst: 1    对应的块:    689

   0x010002c1  Free: 1 Inst: 1    对应的块:    705

   0x010002d1  Free: 1 Inst: 1    对应的块:    721

   0x01000309  Free: 1 Inst: 1    对应的块:    777

   0x0100030a  Free: 1 Inst: 1     对应的块:   778

   0x01000389  Free: 5 Inst: 1     对应的块:   905

   0x0100038a  Free: 5 Inst: 1     对应的块:   906

 

FIRST LEVEL BITMAP 

位置:依据SECOND LEVEL BITMAP BLOCK的L1 Ranges

 

RDBA转换为地址是这样的:前10位为文件号,后22位为块号。

如0x01000259转成二进制是00100   00,0000,0000,0010,0101,1001 ,前面001,00是4,后面刚好是601,即文件4的601块。

一次分配的空间只有一个,而且HWM就在开始时的第三个块里面记录,其他块中找不到。

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22528444/viewspace-683446/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-05-15

  • 博文量
    18
  • 访问量
    26439