我有一個存儲過程做了非常大的更新。有時候作業失敗,出現錯誤ORA-30036 Unable to extend segment by 8 in undo tablespace 'undotbs2'
ORA-30036間歇性發生
但是幾個小時後,我們重新開始工作,併成功完成。
我檢查並發現undotbs2已經將AUTOEXTENSIBLE設置爲YES,並且大小爲3 GB,所以我猜測undo表空間在那裏已經有相當體面的大小,並且自動空間管理已經打開。
我的問題是,爲什麼它在我們重新運行後成功完成?是否因爲其他交易同時使用了undotbs2?對於這個錯誤,Oracle提到「另一種方法是等待直到活動事務提交。」,「活動事務」是指除存儲過程之外發生的其他事務/ sql嗎?
Oracle版本是11.2.0.1.0
謝謝
表空間/數據文件是自動擴展的,但是它達到了它的最大大小(從'dba_data_files.maxbytes'或者'dba_tablespaces.maxsize'),並且不能超過3GB?是的,其他會話可能正在使用它(這是'其他事務'所指的內容),但在增加大小限制之前,可能需要查明還有哪些內容正在運行以及正在使用空間。 –