alter tablespace temp1 add tempfile '%oracle_home%\ora902\temp1_1.dbf' size 10m;
直接收缩表空间文件
可以解决你的问题

解决方案 »

  1.   

    我来看看:
    ALTER DATABASE DATAFILE 'XXXXX' RESIZE  最小的Resize值M
    XXXXX是表空间对应的数据文件名可以减到最小的Resize值=当前表空间利用(M) + 1select max((a.blocks+a.block_id)*to_number(b.value)/1024/1024) as "当前表空间利用(M)",a.tablespace_name
    from dba_extents a,v$parameter b
    where b.name='db_block_size'
    group by a.tablespace_name
    order by 2
    ==================================就行了
    alter tablespace <tablespace_name> coalesce
    表空间的大小不会变,变的是使用率
    他可以让你看到使用了多少空间,但不会收缩大小的。
    如果直接对文件操作就可以改变空间大小
      

  2.   

    我记得只能用ALTER DATABASE DATAFILE 'XXXXX' RESIZE 增大表空间
    不能缩小呀, 如果要缩小的话还是楼上的方法好
      

  3.   

    表空间大小是逻辑概念,该表空间的所有数据文件之和就是表空间大小,
    你可以在oem中,直接修改系统文件的大小,当然可以缩小。