oracle資料庫收縮空間

2021-04-20 09:40:56 字數 834 閱讀 4052

我的資料庫環境是這樣的:windows+oracle9i

由於我的磁碟空間已經爆滿,檢視了下表空間大小

乙個存放資料的表空間占用了30g,使用率為46%,還有乙個臨時檔案表空間temp占用了2g,使用率為0

我想騰出一些磁碟空間給作業系統用,所以我在更改資料表時先進性臨時表空間的收縮。

步驟一:

alter database

datafile 'e:/oradata/sky/temp01.ora' resize  1500m

結果:系統丟擲異常ora-03297

於是我新建了乙個臨時表空間,將它設定為預設的臨時表空間,然後再進行上面的一步

步驟二:

alter database

datafile 'e:/oradata/sky/temp01.ora' resize  1500m

結果:系統又丟擲了異常ora-01516

於是我又直接對存放資料的表空間進行

步驟三:

alter database

datafile 'e:/oradata/sky/data01.ora' resize  20000m

結果:丟擲異常ora-03297

檢視了網上的一些資料,說要進行move,但是move時還說,一些像索引的資料沒有辦法一起儲存進去,這個方法就沒有敢試。

我接下來要處理的是生產系統,在測試機上沒有通過的測試不敢在生產上使用,但是生產上由於磁碟已滿,使系統無法進行。

還有,就是我在測試機上使用的鬥志將資料存放到自己建立的表空間,而在生產上,資料存放的是system表空間,這個表空間的資料就更是要慎重了。

請問我該怎樣處理才能收縮我的表空間呢。

mysql收縮空間 Oracle表空間收縮方案

對於表空間收縮,oracle只提供擴大的功能,而不提供收縮。所以,要實現這樣的要求,就只能先建立乙個中間表空間,然後將待收縮表 應用背景 某些情況下,由於前期設計上沒有考慮全面,導致表空間預建太大,遠遠超出實際使用大小。於是,就出現了收縮表空間這樣的需求,即將這個表空間的占用空間進行收縮。處理方案 ...

收縮資料庫

sql 2008 右擊要清除日誌的資料庫 選擇 屬性 在資料庫屬性中 選擇 選項 在右邊 恢復模式 下拉列表框中 選擇 簡單 單擊確定 返回 右擊要清除日誌的資料庫 選擇 任務 收縮 資料庫 單擊確定 完成收縮 指令碼 use master goalter database dnname set r...

收縮資料庫

顯示當前資料庫的空間使用情況 exec sp spaceused 顯示表的空間使用 exex sp spaceused objname wct updateusage true 顯示整個伺服器中所有資料庫的日誌使用情況 dbcc sqlperf logspace 收縮資料庫 dbcc shrinkd...