oracle normal bitmap,深入解析Oracle ASSM结构之Level 1 Bitmap Block

一、概念介绍

L1 BMB中存储了一组连续的同一个extent中的数据块空间使用信息,L1内部结构由Cache Header、Header Control及DBA range三层结构组成,Oracle数据块类型代码为“type: 0x20=FIRST LEVEL BITMAPBLOCK”,和L3、L2相同bbed工具同样不支持查询L1的物理结构,本节主要使用C语言解析L1物理结构。

f4157dd81b7cf0f30182d5f39d4da84b.png

Level 1Bitmap Block特点:L1中存储了一组连续的同一个extent中的数据块空间使用信息。

更高性能的空间重组及extent移动。

每个L1可以指向最小16个到最多1024个数据块。

更高性能的segment重组和dml支持。

二、dump块结构解析

altersession set tracefile_identifier='orastar_bmb1';

oradebugsetmypid

altersystem dump datafile 5 block 7704;

oradebugclose_trace

oradebugtracefile_name

CacheHeader:

type: 0x20=FIRST LEVEL BITMAP BLOCK该数据块为L1 BMB

8f107b30a3e3b6c154c2dc59a5f30660.png

HeaderControl:nranges:指向数据块extent的个数。

parent dba:你节点L2 dba地址

unformatted:未格式化数据块的数量

total:总数据块的数量

first useful block:当前inserts操作的数据块offset

owning instance:关联实例

Freeness Status:统计块使用状态

nf1 represents 0–25% free block count,

nf2 represents 25 – 50% free block count,

nf3 represents 50–75% free block count and

nf4 represents 75–100% free block countfirst free datablock:下次insert操作的数据块offset

objd:表示对象object_id

936a77a54fb2335f9d066f787a156195.png

DBArange:extent开始地址

区大小block数

对L1 地址的offset

13b9c01ff23ab2eeeacb607d6d35ab0a.png

三、二进制结构

Cache Header:

7d5067efa9e8f484cfdcb79591493102.png

Header Control:

8704d2ef8dcd5c931cc44b3d39cfc752.png

DBA range:

11bec03f5f6f2179239b18054e7c777f.png

四、数据块解析

由于bbed不支持L1数据块的物理结构解析,报错信息如下所示,

BBED>set dba 5,7704

DBA               0x01401e18(20979224 5,7704)

BBED>map v

File: oradata/epmsn/hsql01.dbf (5)

Block: 7704                                 Dba:0x01401e18

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

BBED-00400:invalid blocktype (32)

使用C语言结构体解析该数据块结构,解析后的物理结构如下所示,

5208fb38cce2b5482bf03c8dc383c9db.png

五、说明

1、以上内容为个人多次测试结果,由于个人原因,如有分析不足之处还请见谅及指正。

2、文章涉及内容,请勿的生产环境模拟。3cd6c84bfcb1116ee107f1bcf62e47de.png

见贤思齐焉,见不贤而内自省也。--《论语·里仁》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值