为什么一个表在dba_extents和dba_segments中显示的起始块差距大

[复制链接]
查看11 | 回复4 | 2013-12-18 09:29:10 | 显示全部楼层 |阅读模式
各位好:
如下附图所示,我的 tuser.objs 表 在 dba_extents 中显示最小的 block_id(即起始块编号)是128,最大块编号是 2296。
但为什么在 dba_segments 中的 header_block=2186呢?
请问:
1、一个段(如表)的 header_block (段头块)不是一般就是指段的起始块吗?不是应该和 dba_extents 的 min(block_id) 差不多,是128吗?最多也是130吧,前面两块可以是ASMM位图块。
2、为什么 dba_extents的 header_block 和 dba_extents 的 min(block_id) 差距那么大呢?

实在搞不懂,还望大侠指点。
感谢!



blocks.jpg (30.57 KB, 下载次数: 8)
下载附件
block
2017-2-16 01:31 上传


回复

使用道具 举报

千问 | 2013-12-18 09:29:10 | 显示全部楼层
header 前面有2级位图,1级位图,... 而且这些信息到处分部.

回复

使用道具 举报

千问 | 2013-12-18 09:29:10 | 显示全部楼层
段空间管理的最小单位是extent,一个extent内的块是连续的。默认配置下,一个extent通常最少有8个连续的块。但extent和extent之间,其所在位置却并不一定是连续的。所以,就可能出现为段分配的第一个extent是某个数据文件中相对靠后的位置,而后续分配的第二extent却在前边的情况。
回复

使用道具 举报

千问 | 2013-12-18 09:29:10 | 显示全部楼层
会不会是别的表被drop了,空间给你tuser.objs 表重用了
回复

使用道具 举报

千问 | 2013-12-18 09:29:10 | 显示全部楼层
tablespace不止是只有一个datafile好吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行