如下是在 图形方式(DBA Studio) 的作法:
 数据库名 -> 存储 -> 空间 -> 你的用户名-> 数据文件(选中之后)
 在右边有: "一般信息" 和 "存储" 两个可选页面~
 单击 "存储" 进入页面~
      选定 "数据文件已满后自动扩展(AUTOEXTEND)
            然后,自己看着办吧. ^&^ (有手动和自动,任君选择...)或者用 命令方式(SQL 语句) 的作法:
 ALTER DATABASE DATAFILE '数据文件(路径+名称)' AUTOEXTEND ON

解决方案 »

  1.   

    根据你的情况来看,你所说的2GB应该是此表空间的剩余空间的总和(sum),可能是很多数据文件的碎片组成的,你可以使用下面的SQL检查一下,最大的碎片的尺寸,如果小于50M,就会出现你所说的现象。因为扩展需要的是连续的空间,而不是利用碎片的总和。
    select tablespace_name,sum(bytes),max(bytes),count(*) 
    from dba_free_space group
    by tablespace_name;
    解决的办法可以增加数据文件或按照楼上的说法。
      

  2.   

    1. 如果你的表空间是字典管理方式的话,
      在 dba studio中看看相关的存储参数,特别是pctincrease.2. 索引有碎片,可能需要重新整理。Q: How can you determine if an index needs to be dropped and rebuilt?A: Run the ANALYZE INDEX command on the index to validate its structure
       and then calculate the ratio of 
       
        LF_BLK_LEN/LF_BLK_LEN+BR_BLK_LEN     if it isn’t near 1.0 (i.e. greater than 0.7 or so) then the
        index should be rebuilt. 
         
        Or if the ratio BR_BLK_LEN/ LF_BLK_LEN+BR_BLK_LEN is nearing 0.3.
      

  3.   

    你的下一个扩展空间太大了,next extent size 为 50M,代表着一次性创建50m空间的扩展,特别容易产生碎片,一旦产生大量碎片的话,很容易报表空间错误。换种方法说就是一个100k的索引也同样扩展了50m的空间地址,于是很容易在这个50m的空间上随意占用块,一旦drop index后,就产生了碎片。解决方法很多,例如减小空间扩展大小,增加init.ora(or initSID.ora)参数pctincrease = 0等等。查询看3楼的,增加数据文件看1楼的。