天天看点

段和区:USER_SEGMENTS 和USER_EXTENTS

段和区:USER_SEGMENTS 和USER_EXTENTS

如第22 章所述,空间以段(segment)为单位分配给对象(如表、群集和索引),它们在物理上对应于在数据库中创建的逻辑对象。可以查询USER_SEGMENTS 视图来查看当前的存储参数和段内有效空间的使用情况。当超出某一存储限制时,USER_SEGMENTS 视图将非常有用,它的列如下面的清单所示。

  1. SEGMENT_NAME  
  2. PARTITION_NAME  
  3. SEGMENT_TYPE  
  4. SEGMENT_SUBTYPE  
  5. TABLESPACE_NAME  
  6. BYTES  
  7. BLOCKS  
  8. EXTENTS  
  9. INITIAL_EXTENT  
  10. NEXT_EXTENT  
  11. MIN_EXTENTS  
  12. MAX_EXTENTS  
  13. MAX_SIZE  
  14. RETENTION  
  15. MINRETENTION  
  16. PCT_INCREASE  
  17. FREELISTS  
  18. FREELIST_GROUPS  
  19. BUFFER_POOL 

段由称为区(extent)的连续区域组成。构成段的区将在USER_EXTENTS 视图中描述。在USER_EXTENTS 视图中,将看到段内每个区的实际大小,这对跟踪next 和pctincrease 设置(在字典托管的表空间中)的变化所产生的影响很有帮助。除了Segment_Name 列、Segment_Type列和Tablespace_Name 列之外,USER_EXTENTS 视图还有3 个新列,即Extent_ID(识别段内的区),Bytes(区的大小,以字节为单位)、Blocks(区的大小,以Oracle 块为单位)。

USER_SEGMENTS 视图和USER_EXTENTS 视图都有“DBA”版本,该版本有助于列出所有者的对象的空间使用情况。DBA_SEGMENTS 视图和DBA_EXTENTS 视图都有一个附加的Owner 列。 如果想要列出在表空间中拥有段的全部所有者,则可以在DBA_SEGMENTS视图中基于Tablespace_ Name 列进行查询,然后列出表空间中段的全部所有者。这些视图都没有“ALL”版本。

继续阅读