DROP是将对象从数据库中删除,空间也随之释放.但delete不会,除非重整表
dba_tables.table_name为数据库中所有用户表
all_tables.table_name为数据库中你能访问的用户表
user_tables.table_name为你自己创建的表.

解决方案 »

  1.   

    drop,truncate都可以释放空间,DELETE不行。
      

  2.   

    但是好像drop并没有释放空间?我插了10000000条纪录,一个分区剩下80M,drop以后空间没有扩大?我受不了了,不行就将Oracle Uninstall了!
      

  3.   

    建议Oracle Uninstall,反正只是几块钱的D版。
      

  4.   

    DROP 可以释放空间,TRUNCATE和DELETE 不释放空间。
      

  5.   

    嗨 michaelzhang,你让seahorse多活几天吧,安oracle是整人的着.
      

  6.   

    drop tablespace并没有删除物理文件。
      

  7.   

    guo:我觉得seahorse(海马)只是玩玩ORACLE而已,并不是要用ORACLE,所以建议他删掉算了。
      

  8.   

    我并不是玩玩Oracle,有一个项目需要对Oracle进行高速访问,所以测了10000000条记录的插入速度,每条记录124字节,现在速度可以达到平均每条0.5毫秒,使用Pro*C。但是由于不善将数据库表drop,但空间没有释放,我觉得非常奇怪!
      

  9.   

    seahorse(海马) sorry那我搞错了,ORACLE是这样的,比较麻烦。
      

  10.   

    Oracle 的存储结构分为物理数据结构和逻辑数据结构,物理数据结构是由数据文件、日志文件、控制文件等操作系统文件所决定,而逻辑结构包括表空间、段、范围、数据块和模式对象。不要混淆物理结构与逻辑结构,要释放磁盘空间只能通过操作系统删除文件的命令来实现。drop表属于Oracle逻辑空间的管理,可以腾出逻辑空间存储其他数据,但只要不对物理数据文件进行删增,其物理空间是不会发生改变的。但千万不能随便删除物理文件,这会导致数据库的崩溃,必须先删除相关的表空间等等的一系列操作,可要小心哦!
      

  11.   

    但是数据库实际上应该在物理数据结构中存放数据,drop怎么能不对物理空间进行操作?想不通
      

  12.   

    打个比方,先建立了表空间和数据文件就好象是建了一间空的房子,在表空间里建表并插入数据就好象是把一张桌子搬进去,数据多了就等于家具摆满了房子,drop掉其中的一个表就好象把其中一件家具般出去,腾出空间来放别的家具,但房子的结构和尺寸没发生变化。所以必须要删除物理数据文件才相当于把房子拆除。这是oracle对存储空间管理的特点,想不出更好的表达方法,就举这个例子吧。
      

  13.   

    你指的是如果在一个表空间中建表,然后再向表中写入数据,如果将表drop掉,表空间的大小(物理数据文件)并没有缩小?
    这好像不太和逻辑,删除表时应该将此表中的数据所占的空间全部释放才对呀?
      

  14.   

    对,数据文件不会自动伸缩,只不过是由oracle自己在已分配给自己的物理空间上进行逻辑管理。建议参考DBA的书籍。