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