Oracle数据库的“段类型”详解

标题Oracle数据库的段类型详解

Oracle数据库中有多少类型的段,除了常见的TABLE、INDEX之外还有哪些?下面通过dba_segments视图来探讨Oracle的段类型。

查询有哪些段类型?

SQL> select distinct segment_type from dba_segments;

在这里插入图片描述

下面我们将对几种重点段类型进行简单的说明:

TABLE:这是最常见的段类型,普通表(即非CLUSTER),没有分区,则每个表有一个类型为TABLE的段。

INDEX:这是除了TABLE之外最常见的段类型,表的普通索引,没有分区,则每个索引有一个类型为INDEX的段。除了表上的普通索引之外,INDEX CLUSTER上的索引也是INDEX段,并且在INDEX CLUSTER上必须有一个索引(HASH CLUSTER不要求建索引)。注意IOT表的段类型为INDEX段,而不是TABLE段。

CLUSTER:每个CLUSTER有一个CLUSTER段。一个CLUSTER中可以存储一个或多个表。由于CLUSTER不能分区,所以没有CLUSTER PARTITION这样的段。

LOBINDEX:表的每个LOB字段,有一个LOBINDEX段。注意对于分区表的LOB字段,每个分区上的LOB字段均会有LOBINDEX段。

LOBSEGMENT、LOB PARTITION:表中的每个LOB字段,有LOBSEGMENT字段,如果表进行了分区,则在每个分区上相应有LOB PARTITION。

ROLLBACK:就是8i及以前的回滚段,在9i以及以后的版本中,即使用了自动撤销段管理,仍然会有一个SYSTEM回滚段。

TYPE2 UNDO:这就是9i及以后的“撤销段”,跟ROLLBACK段类似。我们仍然习惯于叫回滚段。

TEMPORARY:临时段。除了磁盘排序产生临时段之外,临时表也会有临时段。另外,在CTAS过程中,如果SQL还没有最终完成,这个时候的表对应的段为TEMPORARY表,只有在SQL执行的最后将TEMPORARY段改为TABLE段。

NESTED TABLE:除了主键之外,每个NESTED TABLE字段上还有一个索引(实际上是每个NESTED TABLE字段对应一具隐含字段,上面建有索引)。

在这里插入图片描述

Q:知道了这些,那么日常运维中做中,如果你需要准确查询某个表空间中的对象大小,sql也应该会写了吧?

1、查询某个表空间中,所有【表】的名称、大小:

select OWNER,SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME,BYTES/1024/1024 size_MB
from dba_segments
where segment_type='TABLE' and tablespace_name='&1'
order by 5 desc;

2.查询某个表空间中,所有【索引】的名称、大小:

select OWNER,SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME,BYTES/1024/1024 size_MB
from dba_segments
where segment_type='INDEX' and tablespace_name='&1'
order by 5 desc;

3.查询某个表空间中,所有【分区表】的名称、大小:select

OWNER,SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME,BYTES/1024/1024 size_MB
from dba_segments
where segment_type='TABLE PARTITION' and tablespace_name='&1'
order by 5 desc;

4.查询某个表空间中,所有【分区索引】的名称、大小:

select OWNER,SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME,BYTES/1024/1024 size_MB
from dba_segments
where segment_type='INDEX PARTITION' and tablespace_name='&1'
order by 5 desc;

5.查询某个表空间中,所有【LOB段】的名称、大小:

select OWNER,SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME,BYTES/1024/1024 size_MB
from dba_segments
where segment_type='LOBSEGMENT' and tablespace_name='&1'
order by 5 desc;
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值