2016-09-23 46 views
0

我創建了一個表空間和用戶,並且我在這個用戶下有10個表,有LOB對象佔用了空間,但是它需要作爲應用程序的一部分。我創建了一個刪除腳本,可以在這些表格的30天之前刪除數據,但即使從表格中刪除數據後,空間也不會被清除。 當我有200天的數據時,我有5%的可用空間。現在我有30天的數據,仍然有5%的可用空間。 請諮詢,我如何掩飾這種情況。這很關鍵。從表中刪除沒有清除oracle空間

+0

可用空間是否具有彈性? –

+0

不確定。但是如果你想讓我延長空間。這是最糟糕的情況。我想知道,如何清除佔用的空間,因爲清除表格數據不起作用。請注意,我必須保持原樣。 –

回答

0

當的程度被分配給一個表(或索引等)它屬於該表,直到

  1. 刪除表
  2. 截斷表

當刪除來自表的數據 - 塊將進入該表的空閒列表(假設已釋放塊的空間量低於pctused)。這些塊將用於後續插入和更新到此表中。

當湯姆暗示https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1336002638218回收的空間,您可以:

  1. 創建一個自動擴展數據文件一個新的本地管理表空間(所以文件將僅增長大如需要)
  2. ALTER TABLE T移至表空間that_new_one
  3. drop tablespace that_old_one;
+0

這真的很有用:)謝謝Evgeniy –