Oracle中表空间是由段(segment)组成的,段是由区组成的,表空间可以创建、修改、删除,那么段可不可以创建、修改、删除?如果可以,如何? 还有,段和table有什么关系?

解决方案 »

  1.   

    Oracle.段、区间和数据块
    数据库的段是由若干个区间组成的,区间中是一些连续的数据块。这三者是构成其他数据对象的基本单位
    数据库段:
    包括数据段、索引段、LOB段、溢出段、回滚段和临时段 区间(Extent):
    表空间内连续分配的相邻的数据块,叫做区间。表的区间限制在10000以内,绝大多数的数据库能运行的很好。 数据块(Data Block):
    数据块是数据库中最小、最基本的存储单元。数据块的大小必须是服务器操作系统块的大小的整数倍。相互连续的数据块叫做链接,多过的I/O操作会降低系统的性能,因此要尽量避免链接。 
      

  2.   

    Oracle 段(segment)、范围(extend)、数据块(data block)2009-04-23 15:18段、范围和数据块 
    ORACLE通过段、范围和数据块逻辑数据结构可更细地控制磁盘空间的使用。 段 
    段(SEGMENT)包含表空间中一种指定类型的逻辑存储结构,是由一组范围组成。在ORACLE数据库中有几种类型的段:数据段、牵引段、回滚段和临时段。 
    数据段:对于每一个非聚集的表有一数据段,表的所有数据存放在该段。每一聚集有一个数据段,聚集中每一个表的数据存储在该段中。 
    索引段:每一个索引有一索引段,存储索引数据。 
    回滚段:是由DBA建立,用于临时存储要撤消的信息,这些信息用于生成读一致性数据库信息、在数据库恢复时使用、回滚未提交的事务。 
    临时段:当一个SQL语句需要临时工作区时,由ORACLE建立。当语句执行完毕,临时段的范围退回给系统。 
    ORACLE对所有段的空间分配,以范围为单位。 范围 
    一个范围(EXTENT)是数据库存储空间分配的一个逻辑单位,它由连续数据块所组成。每一个段是由一个或多个范围组成。当一段中间所有空间已完全使用时,ORACLE为该段分配一个新的范围。 
    为了维护的目的,在数据库的每一段含有段标题块(segment header block)说明段的特征以及该段中的范围目录。 数据块 
    数据块(data block)是ORACLE管理数据文件中存储空间的单位,为数据库使用的I/O的最小单位,其大小可不同于操作系统的标准I/O块大小。 
     
      

  3.   

    http://www.itpub.net/thread-1127167-1-1.html
      

  4.   

    ORACLE段有多种。常见的有:
    数据段、索引段、LOB段、溢出段、回滚段和临时段等等你创建表时,即创建了表对应的表段。
    一个非分区表对应一个段,
    一个分区表对应多个段(一个分区一个段),
    一个cluster对应一个段(cluster里可能有多个表,即多个表对应一个段)
      

  5.   


    可不可以手工创建段,类似create table那样的
      

  6.   


    不行,段只是一个逻辑概念,它对应的物理结构就是表,索引,cluster等等。ORACLE里没有create segment语句。
      

  7.   


    表空间(tableSpace) 段(segment) 盘区(extent) 块(block) 关系
    http://blog.csdn.net/tianlesoftware/archive/2009/12/08/4962476.aspxOracle表空间(tableSpace)、段 (segment)、盘区(extent)、块(block),这些都是Oracle用来保存数据库对象的分配单元段 就是数据库对象,它消耗存储空间,如表、索引、回滚段等。当创建表的时候,将创建一个表段,当创建一个分区表时,即在每个分区上创建一个段,当创建索引 时,将创建一个索引段,每一个消耗存储空间的对象最终被存储在一个单一的段中,有回滚段,临时段,聚簇段、索引段等。一个段可以拥有来自许多不通数据文件 中的盘区。段本身由一个或多个盘区组成,盘区在文件中一个连续的分配空间,每个段至少开始于一个盘区,一些对象可能至少需要2个盘区(例如回滚段)。各个盘区之间并不要求正好相邻。盘区由块组成,一个块是在Oracle中空间分配的最小单元,是Oracle读写磁盘的对象,Oracle中的块通常有3个常见的大小 ,2K ,4K,8K。一个段是由一个或多个盘区所组成,一个盘区是由一些连续分配的块。表空间是一个容器,它保存段,每一个段恰好属于一个表空间,一个表空间可以有多个段,给定段的所有盘区将在与该段相关的表空间中。 Oracle中存储的层次结构如下:
    1、数据库由一个或多个表空间组成。
    2、表空间由一个或多个数据文件组成,一个表空间包含段。
    3、段由一个或多个盘区组成,段存在于表空间中,但在表空间中可以有许多数据文件中的数据。
    4、盘区是在磁盘上连续的块的组,一个盘区在一个表空间中,而且总是在表空间中单一的文件中。
    5、块是数据库中最小的分配单元,块是数据库使用的最小的I/O单元。
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    Q Q 群:62697716 
      

  8.   

    段是一个逻辑概念
    除了手工管理的回滚段可以使用类似create rollback segment的语句来建立回滚段之外
    其它都没有专门的类似create ... segment之类的语句
    实际上可以这样来简单理解
    创建一个表即创建了一个表段
    创建一个索引即创建了一个索引段
    如果表中有一个CLOB列,这也创建了一个CLOB段
    等等.....
      

  9.   

    如果表中有一个CLOB列,这也创建了一个CLOB段 
    应注意