截斷表後空間不釋放的原因分析
這個問題以前也遇到過,沒具體分析。今天再次遇到,用比較合適的方法解決了這個問題。所以記錄一下。
現象:
表T在被截斷後,表空間仍為原來的大小。
下面查詢:
select segment_name, round(bytes/1024/1024,4) || 'M' from user_segments where segment_name = 'T';
查詢到表T的大小為304m。
將T表截斷後再次查詢,發現仍為304M.
檢視錶的儲存引數後發現,原來是初始段(initial_extent)引起的:
執行下面查詢:
select table_name, pct_free, pct_used, initial_extent from user_tables where table_name = 'T';
查到initial_extent的大小為304m;
要解決這個問題,可以對錶進行move:
alter table t move storage(initial 16k);
執行如上命令後,再次檢視錶的大小變為16k。
另外,看了下truncate命令中的drop/reuse storage子句,發現這兩個附加選項不能解決如上問題。
現象:
表T在被截斷後,表空間仍為原來的大小。
下面查詢:
select segment_name, round(bytes/1024/1024,4) || 'M' from user_segments where segment_name = 'T';
查詢到表T的大小為304m。
將T表截斷後再次查詢,發現仍為304M.
檢視錶的儲存引數後發現,原來是初始段(initial_extent)引起的:
執行下面查詢:
select table_name, pct_free, pct_used, initial_extent from user_tables where table_name = 'T';
查到initial_extent的大小為304m;
要解決這個問題,可以對錶進行move:
alter table t move storage(initial 16k);
執行如上命令後,再次檢視錶的大小變為16k。
另外,看了下truncate命令中的drop/reuse storage子句,發現這兩個附加選項不能解決如上問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-1082520/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- delete不釋放表空間delete
- Linux rm掉檔案空間不釋放原因Linux
- drop表空間以及對應的資料檔案後空間不釋放的問題
- hpux刪除檔案後空間不釋放UX
- Linux 刪除檔案後空間不釋放Linux
- 解決linux下刪除檔案或oracle表空間後空間不釋放的問題LinuxOracle
- Oracle 整理表碎片、釋放表的空間Oracle
- MySQL UNDO表空間獨立和截斷MySql
- MySQL 5.7的表刪除資料後的磁碟空間釋放MySql
- (轉載)刪除檔案後硬碟空間不釋放的問題硬碟
- Oracle 釋放過度使用的Undo表空間Oracle
- Oracle delete資料後的釋放表空間問題的解決 --轉Oracledelete
- SQLServer如何釋放tempdb臨時表空間SQLServer
- 如何釋放Mac空間?釋放Mac系統空間小技巧Mac
- 記錄刪除後,資料塊空間不釋放,請大家幫忙看看分析一下
- OS 刪除temp表空間 而磁碟空間未釋放的解決方案
- oracle 釋放undo空間Oracle
- 解決刪除檔案後 WSL2 磁碟空間不釋放的問題
- MongoDB Drop集合不釋放磁碟空間的解決辦法MongoDB
- 刪除正在使用的檔案,空間不釋放的問題
- Mysql 刪除資料後為釋放物理空間MySql
- Mysql InnoDB刪除資料後釋放磁碟空間的方法MySql
- oracle刪除(釋放)資料檔案/表空間流程Oracle
- 分析表空間空閒率並收縮表空間
- 關於如何釋放表空間的問題(About Reclaimable Unused Space)AI
- lsof |grep deleted 釋放磁碟空間delete
- 禪道 - 儲存空間釋放
- DATAFILE SHRINK 釋放系統空間
- Sqlserver delete表部分資料釋放資料檔案空間SQLServerdelete
- Linux檔案刪除但空間不釋放問題篇Linux
- 10、MySQL Case-釋放ibtmp表空間正確姿勢MySql
- Oracle資料庫高水位釋放——LOB欄位空間釋放Oracle資料庫
- 處理Linux刪除檔案後空間未釋放的問題Linux
- 刪除檔案後,磁碟空間沒有釋放的處理記錄
- mysql臨時表,臨時表空間,ibtmp1表空間暴增原因初探MySql
- 臨時表空間被佔滿的原因查詢
- oracle臨時表空間過大的原因&&處理Oracle
- set unused 是否會釋放儲存空間