>進入 很多情況下,臨時段并不會被像想象那樣被清除掉,而是一直駐留n個小時,這會導(dǎo)致表空間不恰當?shù)倪\行溢出,為了避免此類問題發(fā)生,數(shù)據(jù)庫管理員可以定期激活清除孤獨的臨時段。 產(chǎn)生的原因: 當一個" />
歡迎進入Oracle社區(qū)論壇,與200萬技術(shù)人員互動交流 >>進入 很多情況下,臨時段并不會被像想象那樣被清除掉,而是一直駐留n個小時,這會導(dǎo)致表空間不恰當?shù)倪\行溢出,為了避免此類問題發(fā)生,數(shù)據(jù)庫管理員可以定期激活清除孤獨的臨時段。 產(chǎn)生的原因: 當一個
歡迎進入Oracle社區(qū)論壇,與200萬技術(shù)人員互動交流 >>進入
很多情況下,臨時段并不會被像想象那樣被清除掉,而是一直駐留n個小時,這會導(dǎo)致表空間不恰當?shù)倪\行溢出,為了避免此類問題發(fā)生,數(shù)據(jù)庫管理員可以定期激活清除孤獨的臨時段。
產(chǎn)生的原因:
當一個段被刪除時,其分區(qū)不會立刻釋放。當進程刪除段后,段僅僅更改為其類型為臨時段,如果語句失敗,該操作將會備回滾。臨時段通常被清除并基于調(diào)用的結(jié)果釋放分區(qū),但是如果字典緩存行代表的段仍然在使用或是臟的,臨時段清除將不會在此時發(fā)生。這通常在臨時段被遞歸調(diào)用釋放時出現(xiàn),因為父事務(wù)沒有提交,臨時段不會被立刻清除。
如何使孤獨的臨時段被清除
清除臨時段并釋放它們的分區(qū)是SMON進程的任務(wù)。雖然smon每5分鐘被喚醒,但是除非被顯示喚醒,否則其每隔
2:05才檢查一次臨時段。即使如此,每次也只能清除5個臨時段,并且必須在5秒內(nèi)得到鎖。因此臨時段清除可能很長時間才出現(xiàn)。
但是如果smon被其他進程顯示喚醒,它將執(zhí)行臨時段清除。smon在每次空間事務(wù)失敗時也會被喚醒。通常較好的方法是使用ORADEBUG WAKEUP命令進行喚醒。
具體示例如下:
column pid new_value Smon set termout off select p.pid from sys.v_$bgprocess b, sys.v_$process p where b.name = 'SMON' and p.addr = b.paddr / set termout on oradebug wakeup &Smon undefine Smon |
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com