insert into cat_tran_histories
            *
ERROR at line 1:
ORA-01653: unable to extend table CAT_TRAN_HISTORIES by 8497 in
tablespace DAT简单的insert 语句,直接在DB可以操作,在程序中执行就出这错?怎么解决?谢谢

解决方案 »

  1.   


    表空间DAT 扩展失败.......使用“ALTER TABLESPACE ADD DATAFILE”命令增加文件系统文件和原始分区,或者增加INITIAL的大小(如:alter tablespace CDRS101 default storage(next 500M pctincrease 1))应该能够解决,否则就是有人使用你的表空间上创建了一个比较大的数据文件导致你的表空间不够用。
      

  2.   

    谢谢两位。澄清一下,我想说的是,在SQL Navigator 执行就没问题,
    如果把那个sql 语句放在shell script 中之行,就出现这个问题,但也不是每次都出现,这是唯一的一次如果是表空间不够,会突然不够么?什么情况下会不够呢?我的语句很简单,就是
    insert into tableA select * from table B ,一共才60个纪录。
    而且在做这个的同时,数据库应该没有别人或者别的程序在用。主要是想知道原因,谢谢!!
      

  3.   

    看看表空间的利用情况,用下面的查询:
    COLUMN "Tablespace" format a13
    COLUMN "Used MB"    format 99,999,999
    COLUMN "Free MB"    format 99,999,999
    COLUMN "Total MB"   format 99,999,999SELECT fs.tablespace_name "Tablespace",
           (df.totalspace - fs.freespace)  "Used MB", 
           fs.freespace  "Free MB",
           df.totalspace  "Total MB",
           ROUND (100 * (fs.freespace / df.totalspace)) "Pct. Free"
      FROM (SELECT   tablespace_name, ROUND (SUM (BYTES) / 1024 / 1024)
                                                                       totalspace
                FROM dba_data_files
            GROUP BY tablespace_name) df,
           (SELECT   tablespace_name, ROUND (SUM (BYTES) / 1024 / 1024) freespace
                FROM dba_free_space
            GROUP BY tablespace_name) fs
     WHERE df.tablespace_name = fs.tablespace_name
       AND fs.tablespace_name='DAT';
      

  4.   

    dba_data_files 
    dba_free_space 这都是什么表?是DBA 自己命名的吗?
    好像俺的DB没有这两个,还是因为俺的权限不够 看不到?俺不是DBA,今天DBA又不在,如果说每个DB都有类似dba_data_files 
    dba_free_space,该怎么查看在我的DB里他们的名字大概是什么呢?需要什么权限? 谢谢
    另外这个查看应该是程序运行当时的情况把,过后看到的情况已经和当时不同了吧?
      

  5.   

    dba_data_files和dba_free_space都是Oracle自带的字典表,dba_data_files查表空间的大小,dba_free_space查表空间的自由空间大小,都需要DBA权限或者select any dictionary权限也可。
      

  6.   

    空间没有了,方法三个1. 加入一个新的datafile
    SQL>alter tablespace ts1 add datafile '' .....;
    2.设置datafile autoextend on
    SQL>alter database datafile 3 autoextend on;3. resize datafile 不推荐
    SQL>alter database datafile 3 resize 1000M;