各种类型的段

段:是在数据库中占有磁盘空间的对象。这些段使用数据库的数据文件中的磁盘空间。Oracle为了数据库管理和维护的方便,提供了多种不同类型的段。它们包括:

*表:表是Oracle数据库中最重要的段。表是数据库中最常用的存储数据的机制,在表段中所存储的数据是无序的,数据库管理员无法控制某一行数据所存放在一个表中的具体位置。Oracle规定一个表中的所有数据必须存放在一个表空间中。

*分区表:当一个表的规模很大或并行操作非常频繁时,可以将这个表划分为若干个分区(partition),此时表已经成了逻辑的概念,每一个分区为一个存储数据的段,每个分区的存储参数可以单独定义。
在一些大型数据库中使用分区表有时是不可避免的,如银行和电信系统。
例如电信的客户表可能很大,此时可以将客户表按客户所居住的地区分区。这样做的好处是可以改进数据库的可获得性,因为对于分区表来说,当一个分区损坏了并不影响其他分区的操作。另外可以通过把每个分区放在不同的磁盘上以提高并行操作的能力,从而达到改进系统效率的目的。

*索引:引入索引段的目的是加快基于某一特殊键的查询速度,这样的查询可以很快的查找到在某一表中所需数据行的准确位置。如果每一个表有5个索引,那么,就会有5个相应的索引段。

*簇:能少用就少用

*索引分区:在一个超大型表上创建索引时,这个索引可能很大,所以可以想分区表那样,将该索引划分为若干个分区,每个索引分区为一单独的段。这样一个索引可以发布在不同的表空间上。但是每个索引分区(段)只能存放在一个表空间中。引入索引分区的主要目的也是为了减少输入或输出竞争。

*索引表:如果用户的查询主要是基于索引关键字,那么在索引树的叶子结点中的数据行的地址部分可以存放真正的数据,这种存储结构就称为索引表。索引表可以大大加快基于索引关键字的查询,但是这种存储结构不适合DML操作非常频繁的表。

*临时段:在sql语句中使用了诸如ORDER BY,GROUP BY或DISTINCT等子句或关键字时,Oracle服务器就要试着在内存中进行排序。如果内存中排不下就要把中间 的结果写到磁盘上,该磁盘区就是临时段。

*还原段:还原段用来存放事务对数据库所作的改变。在对任何数据块或索引块改变之前,所有的原始值都将存放在还原段中。这样不但允许用户可以还原所作的变化,而且还可以在一个进程对某一行数据进行DML操作的同时,允许其他进程对该行数据进行读操作(读的是存放在还原段的原来的数据)。

*大对象段(LOB SEGMENT):用来存放大的正文文档,图像或音像信息的。在一个表中可以有一列或多列LOB数据类型。如果LOB类型的列很大,Oracle服务器就会将该列的值单独存放在另一个段中,该段就称为大对象段(LOB segment),在表中只包含了一个指向相应大对象数据的指针(地址)。

*嵌套表(nested table):嵌套表是种特殊的表,该表中的某一列又由一个用户定义的表组成,即表中套表。
 
*自举段:是在数据库被创建时由sql.bsp脚本建立的。它也被称为高速缓存段。该段在实例打开数据库时帮助初始化数据字典高速缓存区,不能对自举段进行任何的查询或修改,DBA也无需对该段进行任何的维护。

 

整理自 何明《Oracle DBA基础培训教程》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值