2013-11-01 75 views

回答

4

否和否。

表空間由一個或多個數據文件構成。數據文件最靠近磁盤。表空間中的數據被分散到數據文件中。如果您從表中刪除行,那麼該表中將有可用空間。如果您然後縮小該表,則表空間中的可用空間會增加,並且在支持的表空間中也會變得相同。

如果你很幸運並且你的表數據在數據文件的末尾,那麼你也可以縮小數據文件,然後在OS上獲得更多的空閒空間。

1

是表空間表示磁盤上的實際物理存儲空間。
不,如果您刪除了一百萬條記錄,則不會釋放空間。

表空間是預先設定大小的磁盤上的數據文件的集合;通過從這些數據文件中刪除數據,您不會釋放任何空間,因爲您沒有減小表空間的大小。它有一個沒有改變的預定大小。

可以manually resize a datafile,但只有當存儲在該文件(而不是表空間)的數據量小於大小你想減少它。要使用Oracle的示例語法:

ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf' 
    RESIZE 100M; 

這不是要玩的東西。數據文件和表空間的大小通常有很好的理由。在做任何事之前,你應該和你的DBA談談。