创建oracle表的时候,会有这样的一部分(用plsql创建)storage
{
initial 128k
next    128k
maxextents 6096
}问一:这里的maxextents 的单位是什么?
问二:当这个表的maxextents达到上限后将会报错.在没有报错前,如何查看这个表已经用的extents ?

解决方案 »

  1.   


    刚google了下:MAXEXTENTS    根据数据块大小而定 1(Extent) 无限制、随着Segment中数据量的增长,最多可分配的Extent数量 回滚段为2个Extent--示例:
    CREATE   test(a number)
    STORAGE(
    INITIAL 100K
    NEXT 100K
    MINEXTENTS 2
    MAXEXTENTS 100
    PCTINCREASE 100);
    --解释:
    初始给test表分配两个Extent,
    第一个Extent是100K,因INITIAL=100K
    第二个Extent是100K,因NEXT=100K
    如果因表内数据增长,需要分配第三个Extent,因PCTINCREASE是100,则
    第三个Extent是200K=100K+100K
    第四个Extent是400K=200K+200K
    --可通过数据字典表DBA_TABLES、ALL_TABLES、USER_TABLES查看参数设置情况,如:
    select table_name,initial_extent,next_extent,min_extents,max_extents,pct_increase
    from user_tables;参考:
    Table的默认存储Storage参数说明
    http://hi.baidu.com/edeed/blog/item/71d1d143d8b5191072f05d22.html
    ------------------------------------------------------------------------------ 
    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 
      

  2.   


    这个我也看了,那MAXEXTENTS 100是允许100次的NEXT么??MAXEXTENTS的单位是"次"?
      

  3.   


    刚研究了下 表空间(tableSpace) 段(segment) 盘区(extent) 块(block) 关系Oracle中存储的层次结构如下:
    1、数据库由一个或多个表空间组成。
    2、表空间由一个或多个数据文件组成,一个表空间包含段。
    3、段由一个或多个盘区组成,段存在于表空间中,但在表空间中可以有许多数据文件中的数据。
    4、盘区是在磁盘上连续的块的组,一个盘区在一个表空间中,而且总是在表空间中单一的文件中。
    5、块是数据库中最小的分配单元,块是数据库使用的最小的I/O单元。
    http://blog.csdn.net/tianlesoftware/archive/2009/12/08/4962476.aspxMAXEXTENTS 根据数据块大小而定 1(Extent) 无限制、随着Segment中数据量的增长,最多可分配的Extent数量 回滚段为2个Extent 所以 MAXEXTENTS 值应该是最大允许盘区(Extent)的个数..
    ------------------------------------------------------------------------------
    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