undo 表空間滿了的處理方法

kunlunzhiying發表於2017-11-01

在插入資料或者update時,有時會報ora_30036錯誤,導致資料插入失敗,其原因是資料庫的undo表空間不足所致,解決undo表空間間滿的方法有兩種

方法一:

新增undo 表空間的資料檔案

alter tablespace undo add datafile '/u01/oracle/backup/undo02.dbf' size 100M reuse;

 

方法二:

切換undo表空間

1、建立新的表空間undotbs3

create undo tablespace undotbs3 datafile '/u01/oracle/backup/undo03.dbf'

 

2、切換到新的Undo表空間上

alter system set undo_tablespace=undotbs3 scope=both;

 

3、將原來的Undo表空間,設定為離線

alter tablespace undo offline;

 

4、刪除原來的undo 表空間

drop tablespace undo including contents and datafiles cascade constraints;

注意:如果只是drop tablespace undo 只是刪除控制檔案的記錄,並不會物理刪除檔案,且必須是在未使用的情況下才能進行刪除undo。

預設情況下的 Undo_retention  只有 15 分鐘,這個預設值一般都無法滿足系統的需求。 一般建議是改成3個小時, 這樣給萬一的情況,多爭取些時間。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2146708/,如需轉載,請註明出處,否則將追究法律責任。

相關文章