Oracle块,区,段
|
SEGMENT_NAME?? VARCHAR2(81) Y?????????????? Name,of the segment????????????????????????????????????????????????????????????????????????????????????????????????????????? PARTITION_NAME VARCHAR2(30) Y??????? Partition/Subpartition Name,of the segment?????????????????????????????????????????????????????????????????????????????????? SEGMENT_TYPE?? VARCHAR2(18) Y??? Type of segment: "TABLE","CLUSTER","INDEX","ROLLBACK", "DEFERRED ROLLBACK","TEMPORARY","SPACE HEADER","TYPE2 UNDO" or "CACHE" TABLESPACE_NAME VARCHAR2(30) Y?????????????? Name of the tablespace containing the segment???????????????????????????????????????????????????????????????????????????????????????? HEADER_FILE??? NUMBER????? Y?????????????? ID of the file containing the segment header????????????????????????????????????????????????????????????????????????????????????????? HEADER_BLOCK?? NUMBER????? Y?????????????? ID of the block containing the segment header???????????????????????????????????????????????????????????????????????????????????????? BYTES????????? NUMBER????? Y?????????????? Size,in bytes,of the segment??????????????????????????????????????????????????????????????????????????????????????????????????????? BLOCKS???????? NUMBER????? Y?????????????? Size,in Oracle blocks,of the segment??????????????????????????????????????????????????????????????????????????????????????????????? EXTENTS??????? NUMBER????? Y?????????????? Number of extents allocated to the segment INITIAL_EXTENT NUMBER????? Y??????? Size,of the initial extent of the segment????????????????????????????????????????????????????????????????????????????????? NEXT_EXTENT??? NUMBER????? Y? Size,of the next extent to be allocated to the segment???????????????????????????????????????????????????????????????????? MIN_EXTENTS??? NUMBER????? Y?????????????? Minimum number of extents allowed in the segment????????????????????????????????????????????????????????????????????????????????????? MAX_EXTENTS??? NUMBER????? Y?????????????? Maximum number of extents allowed in the segment????????????????????????????????????????????????????????????????????????????????????? PCT_INCREASE?? NUMBER????? Y? Percent by which to increase the size of the next extent to be allocated????????????????????????????????????????????????????????????? FREELISTS????? NUMBER????? Y? Number of process freelists allocated in this segment???????????????????????????????????????????????????????????????????????????????? FREELIST_GROUPS NUMBER????? Y? Number of freelist groups allocated in this segment?????????????????????????????????????????????????????????????????????????????????? RELATIVE_FNO?? NUMBER????? Y???? Relative number of the file containing the segment header???????????????????????????????????????????????????????????????????????????? BUFFER_POOL??? VARCHAR2(7) Y???? The default buffer pool to be used for segments blocks??????????
从segment_type列的comment信息中,可以看出数据段的类型是多样的。任何种类的数据库对象,本质上都是一种数据段。数据表、索引、回滚、聚集这些都是数据段的一种表现形式。同时,数据段是在数据对象创建的时候就已经创建出来,随着对象体积的增大,而不断分配多个extents进行管理。
另一部分信息可以从dba_segments中读出的,就是该数据对象分配的空间大小和数据块、分区个数。使用这个视图,可以方便的获取到指定schema的所有对象大小。
SQL> select owner,sum(bytes)/1024/1024 as vol,sum(blocks) as totalblocks,sum(extents) as totalextents from dba_segments group by owner having wner=‘SYS‘;
OWNER??????????? VOL TOTALBLOCKS TOTALEXTENTS ------------------------------ ---------- ----------- ------------ SYS??????????????? 585.5????? 74944??????? 3248
上面查询,说明SYS的schema,所占用空间585.5MB,包括74944个数据块和3248个分区。
一个对象创建出来之后,在segment层次上是分配一个分区extent和八个数据块block。
有一个问题需要注意,通常我们的数据段是与数据对象相关。一个数据对象对应一个segment。但是,分区表的时候,一个分区要对应一个segment对象。还有就是,segment对象是可以指定存储在那个表空间里,实现存储划分的基础也就在于此。不同类型的segment划分建立在不同的表空间里,才有可能存放在不同的文件中,最后分布在不同的物理存储。
分区实际上就是存在分开存储的可能。一般一个对象是不会跨物理存储进行存放的,分区表是对应的多个segment。所以,分区表分开存储空间是可能的。
表空间tablespace
TableSpace是存储结构中的最高层结构。建立一个表空间的时候,是需要指定存储的文件。一个表空间可以指定多个数据文件,多个文件可以在不同的物理存储上。也就是说,表空间是可以跨物理存储的。但是有一点就是,表空间下一级对象数据段的存储,是不能指定存储在那个文件里的。所以,要想让数据对象访问IO负载均衡,需要指定不同的数据对象在不同的表空间里。这也就是为什么将数据表和索引建立在不同的表空间的原因。
表空间通过v$tablespace进行访问。
SQL> desc v$tablespace; Name?????????????????????? Type??????? Nullable Default Comments --------------------------- ------------ -------- ------- -------- TS#??????????????????????? NUMBER????? Y??????????????????????? NAME?????????????????????? VARCHAR2(30) Y??????????????????????? INCLUDED_IN_DATABASE_BACKUP VARCHAR2(3) Y??????????????????????? BIGFILE??????????????????? VARCHAR2(3) Y??????????????????????? FLASHBACK_ON?????????????? VARCHAR2(3) Y??????????????????????? ENCRYPT_IN_BACKUP????????? VARCHAR2(3) Y?????????????????????
相对于前面的结构视图,表空间视图的结构要简单的多,只是一些描述信息。其中两个参数需要注意一下。
(编辑:安卓应用网_ASP源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
