用网上给的脚本扩展过表空间,并且查询了表空间是自动扩展的,不知道为什么插入数据的时候还会出现
ORA-01653错误oracle扩展数据脚本

解决方案 »

  1.   


    --表空间使用情况
    select 
    b.file_id "文件ID号", 
    b.tablespace_name "表空间名", 
    b.bytes/1024/1024||'M' "字节数", 
    (b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M' "已使用", 
    sum(nvl(a.bytes,0))/1024/1024||'M' "剩余空间", 
    100 - sum(nvl(a.bytes,0))/(b.bytes)*100 "占用百分比" 
    from dba_free_space a,dba_data_files b 
    where a.file_id=b.file_id 
    group by b.tablespace_name,b.file_id,b.bytes 
    order by b.file_id;
      

  2.   

    看看sql语句,是不是做查询时做了笛卡尔积
      

  3.   

     恩,是windows server的系统
      

  4.   

    看看操作系统上的这个表空间对应的数据文件有多大了,windows上面的文件最大只能有32G,表空间如果超过了这个大小,是不能继续自动扩展的了,必须另外增加表空间数据文件。
      

  5.   

    找到满了的表空间,然后找一些可以删除的数据,删掉这些数据,再使用表的shrink,空间就释放出来了.
    这个时候就可以做其他操作,比如移动数据文件,增加数据文件等.