问题是这样的:我们建立了一个ORACLE数据库,三个表数据空间,对应三个索引表空间,也应时说表数据与索引数据是分开存放的不同的表空间的。问题是:
现在在其中一个表空间中,有一个表,在最近几天内所占空间突然无故疯狂增大。4月14号,那个表有202万多条数据,占空间0.7G左右,4月14号以后,每当这个表增加10万多条数据,其所占表空间增加将近1G!!请问,出现这种情况,是什么原因造成的?????有高手请指教!! 谢谢!!

解决方案 »

  1.   

    在插入好个表的数据时使用了操作符:insert /*+append*/ into DW.F_PURCHASESTAT_DETAILS(.......)
    select /*+NO_MERGE(r) NO_MERGE(i) NO_MERGE(t)*/
    .....
    ....
    from .....请问这有影响 吗?
    另外,创建表空间的语句为:CREATE TABLESPACE "DW_DATA"
    NOLOGGING
    DATAFILE 'D:\oracle\oradata\alcan\DW_DATA.ORA' SIZE 1024M REUSE
    AUTOEXTEND
    ON NEXT 512M MAXSIZE 32767M EXTENT MANAGEMENT LOCAL
    SEGMENT SPACE MANAGEMENT AUTO ;COMMIT;CREATE TABLESPACE "DW_INDX"
    NOLOGGING
    DATAFILE 'D:\oracle\oradata\alcan\DW_INDX.ORA' SIZE 1024M REUSE
    AUTOEXTEND
    ON NEXT 512M MAXSIZE 32767M EXTENT MANAGEMENT LOCAL
    SEGMENT SPACE MANAGEMENT AUTO ;COMMIT;请问操作符有影响吗? 另外创建表空间的语句是否合适?
      

  2.   

    /*+append*/ 首先你使用了append是为了使insert时不审核下面的空间是否存在可用空间,增加了insert速度,但占用了空间,另外 AUTOEXTEND ON NEXT 512M 自扩展512M也挺大了阿。