AIOps 一场颠覆传统运维的盛筵
1202
2022-10-29
深入解析 Oracle PAGETABLE EXTENT MAP BLOCK结构
从Oracle 9i开始,管理段空间有两种方法:手动段空间管理和自动段空间管理(Auto Segment Space Management,ASSM),Oracle默认使用assm进行空间管理,在assm空间管理时,Oracle在段头块(0x23=PAGETABLE SEGMENT HEADER)存储extmap信息,表示该表使用了哪些数据块,extmap从offset 280开始到2735结束,最多可存储307个ext,大于307个ext时,oracle 使用单向链表结构指针mhnext(offset 260--263) 4 bytes指向0x24=PAGETABLE EXTENT MAP BLOCK(以下简称EMB块)存储extmap信息,在EMB块中存储指针mhnext(offset 24~27)指向下一个EMB块直到mhnext存储的值为(0x00000000)为至,本文主要对EMB块结构做以下说明,问题1、 EMB块结构到底是什么? 答: 段头块中大于307个extmap使用单向链表指针存储在EMB块中。问题2、 什么时候会出现EMB块结构? 答: 单表exts>307,7.75时出现第一个EMB块,exts>307+508=815,39.5G时出现第二个EMB块问题3、 一个EMB块中最多可以存储多少个extmap信息? 答: 508个问题4、 drop操作对EMB块结构做了哪些变更? 答: 4.1 drop操作将段头块next_MapHeader设置为0x000000004.2 drop操作未删除段头块中的L2地址信息4.3 drop操作将EMB块next_MapHeader设置为0x00000000 4.4 drop操作对EMB块删除Extent Map时保留ext 0,但Auxillary Map未删除,所以单表大于EMB块中的extmap信息可以通过保留的Auxillary Map恢复
发表评论
暂时没有评论,来抢沙发吧~