首页 > 数据库 > Oracle > Oracle 11G 区管理方式
Oracle 11G 表空间数据文件区管理方式有两种分别是统一区大小表空间和系统管理区大小表空间。Oracle 11G 默认管理方式为系统管理区大小。
如下是创建一个新表空间,并且创建一张表:
从上述查询结果可以看出,数据文件从6号问题的128号块开始分配,分配了8个块,每个块8K,即一个区分配64K,6号文件从0号块到127号块未分配给表,说明是用于内部管理使用,我们使用dump 命令查看一下:
6号文件0号和1号块信息(数据文件头):

6号文件2号块-127号块信息(KTFB Bitmapped File Space Header):
......

6号文件128号块信息(FIRST LEVEL BITMAP BLOCK):
从上述结果可以看出: 数据文件0-1号数据块记录数据文件信息,2-127号块是位图,用于管理数据块
第二 当表插入数据时,数据库如何给表分配空间,随着数据量的增加,区分配大小从64K(8*8K)到 1M(128*8k),各区的大小从最初8个 64K的区,多个1M的区,详细自行测试(alter table test.test allocate extent;),如下:
针对dump 文件内容解析材料如下:
|
域 |
长度 |
含义 |
|
type |
1 |
本 Block 的类型,可以取值:
|
|
frmt |
1 |
格式,标识不同的 block 版本 |
|
spare1/2 |
2 |
保留 |
|
rdba |
4 |
相对 block 地址,前 10 个 bit 为相对文件 id ,后 22 个 bit 为 block 号,可见 1 个 tablespace 可以有 1023 个 datafile ,每个 datafile 可以有 4M 个 block |
|
scn |
6 |
本 block 最近一次更新时的 scn |
|
seq |
1 |
如果更新本 block 时 scn 相同,则 seq 加 1 |
|
flg |
1 |
组合标志位:
|
|
chkval |
2 |
flg 的 CHECKSUM 标志为真时,写入前对 block 计算 CHECKSUM ,并填入本域,后继读出时会再次计算并检查,防止块损坏 |
|
spare3 |
2 |
保留 |
KTFB Bitmapped File Space Bitmap部分关键信息
|
域 |
含义 |
|
beginblock |
存放 data 的 block 地址,前面的区域存放Data File Header、KTFB Bitmapped File Space Header、KTFB Bitmapped File Space Bitmap |
|
flag |
0 permanent 文件, 1 临时文件 |
|
first |
本 block 中第 1 个可用的 unit 位置 |
|
free |
本 block 中 free 的 unit 数量 |
|
map |
1 个 bit 代表 1 个 unit , 0 表示 free , 1 表示 used |
segment 3级bitmap管理机制

表1.2-6 L1 BMB部分关键信息
|
一级域 |
二级域 |
含义 |
|
parent dba |
其归属的 L2 BMB 地址 | |
|
unformatted |
未格式化的 block 数量 | |
|
total |
MAP 中 block 总数 | |
|
first useful block |
MAP 中第 1 个可用的 block | |
|
MAP(*n) |
offset |
extent 的地址,即 extent 中第一个 block 的地址 |
|
length |
extent 中 block 的数量 | |
|
bits |
标识 extent 中各个 block 的状态,每个 block 的状态占用 4 个 bit 位:
| |
表1.2-7 L2 BMB部分关键信息
|
一级域 |
二级域 |
含义 |
|
parent dba |
其归属的 L3 BMB 地址或 segment header block 地址 | |
|
number |
MAP 中 L1 BMB 的数量 | |
|
nfree |
MAP 中尚有空闲空间的 L1 BMB 数量 | |
|
ffree |
MAP 中已满的 L1 BMB 数量 | |
|
MAP(*n) |
dba |
L1 BMB 的地址 |
|
free |
5 :空闲; 0 : FULL ; | |
部分材料来自:https://developer.aliyun.com/article/1137769
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26342786/viewspace-2969943/ ,如需转载,请注明出处,否则将追究法律责任。