初學Oracle資料庫,有個問題搞不懂
當我開始一個事務但是不提交,然后這個時候切換undo表空間,再commit,原來undo表空間的undo段狀態應該會變成offline?
但是這樣還是洗掉不了原來的undo表空間,看了教程,為什么會跟這個有關?
uj5u.com熱心網友回復:
undo 表空間是存放已更改過的部分資料。undo_retention = n 這個引數,表示可以閃回查詢 n 秒之前的資料,也可以保證其他會話查詢的資料的一致性。
就你現在這個實驗,一般來說,這個引數基本上都是900秒,過 900 秒后再試,應該就沒有這個問題了。
uj5u.com熱心網友回復:
意思是在這個時間段內undo表的undo段還是online狀態嗎?uj5u.com熱心網友回復:
求解呀,commit后undo段不是不需要用到了嗎uj5u.com熱心網友回復:
當commit之后undo保存的依然是你更改過的資料檔案啊,當你使用DML陳述句的時候,undo段就已經發生了更改。跟你commit是沒有關系的,只有在UNDO_RETENTION 引數范圍外,這個undo才會失效。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/92117.html
標籤:基礎和管理
