▼▼▼
04031, 00000, "unable to allocate %s bytes of shared memory ("%s","%s", "%s","%s")"
與共享池有關(guān)陳參數(shù):
這個(gè)參數(shù)指定共享池的大小,以字節(jié)為單位。
指定為大的連續(xù)的共享池內(nèi)存請(qǐng)求預(yù)留的共享池的大小。
這個(gè)參數(shù)是隱含參數(shù),用于控制預(yù)留內(nèi)存的分配。大于這個(gè)參數(shù)的內(nèi)存分配可以使用預(yù)留內(nèi)存的列表。這個(gè)參數(shù)的默認(rèn)值適合 絕大多數(shù)的系統(tǒng)。
▼▼▼
select nam.ksppinm NAME,
val.KSPPSTVL VALUE
from x$ksppi nam,x$ksppsv val
where nam.indx = val.indx
and nam.ksppinm like %shared% order by 1;
共享池大小是否合理,可首先確定library cache中是否缺乏連續(xù)的內(nèi)存空間;
REQUEST_FAILURES > 0
LAST_FAILURE_SIZE > SHARED_POOL_RESERVED_MIN_ALLOC
解決 :
增大SHARED_POOL_RESERVED_MIN_ALLOC來(lái)減少對(duì)象被緩存到共享池保留空間中的數(shù)量
增大SHARED_POOL_RESERVED_SIZE 和SHARED_POOL_SIZE來(lái)提高共享池保留空間中有更多可用的內(nèi)存。
▼▼▼
ORA-04031: unable to allocate XXXX bytes of shared memory ("large pool","unknown object","session heap","frame")
當(dāng)出現(xiàn)上述錯(cuò)誤的時(shí)候,可以查看如下幾個(gè)方面:
▼▼▼
SELECT pool,name,bytes FROM v$sgastat where pool = large pool;
從大池中分配的內(nèi)存如果是LARGE_POOL_MIN_ALLOC 的塊數(shù)倍可以避免產(chǎn)生碎片,任何請(qǐng)求要求分配的塊大小如果小于LARGE_POOL_MIN_ALLOC,那么將分配 LARGE_POOL_MIN_ALLOC大小的內(nèi)存。
解決:增大LARGE_POOL_SIZE的大小都有助于消除這個(gè)錯(cuò)誤
▼▼▼
ORA-04031: unable to allocate bytes of shared memory ("shared pool","unknown object","joxlod: init h", "JOX: ioc_allocate_pal")
解決:關(guān)閉數(shù)據(jù)庫(kù),設(shè)置更大的JAVA_POOL_SIZE大小,錯(cuò)誤中提及的共享池很容易誤導(dǎo)認(rèn)為是SGA內(nèi)存消耗完全,此時(shí)不能去增大共享池大小,而應(yīng)該是增大JAVA池的大小,然后重啟數(shù)據(jù)庫(kù)繼續(xù)嘗試。
▼▼▼
SELECT substr(sql_text,1,40) "SQL",
count(*) ,
sum(executions) "TotExecs"
FROM v$sqlarea
WHERE executions < 5
GROUP BY substr(sql_text,1,40)
HAVING count(*) > 10
ORDER BY 2;
X$KSMLRU視圖:
這個(gè)視圖記錄所有在共享池中由于分配自由空間而導(dǎo)致其他對(duì)象被刷新出共享池的信息。通常用來(lái)判定什么導(dǎo)致了大的自由空間分配。如果很多對(duì)象周期性的被刷新出共享池,那么會(huì)導(dǎo)致響應(yīng)時(shí)間問(wèn)題,例如libaray cache latch的競(jìng)爭(zhēng)問(wèn)題。
尤其需要注意的是當(dāng)存儲(chǔ)了最大的自由空間分配之后,任何時(shí)候查詢(xún)這個(gè)視圖都會(huì)刪除這個(gè)視圖中的內(nèi)容,即使下一個(gè)分配的大的自由空間沒(méi)有以前的大,這些被查詢(xún)的值都會(huì)被重置,因此,查詢(xún)這個(gè)表的結(jié)果應(yīng)該被小心的保存下來(lái)。
監(jiān)控這個(gè)視圖只需要運(yùn)行下面的SQL:(SYS用戶(hù))
▼▼▼
SELECT * FROM X$KSMLRU WHERE ksmlrsiz > 0;
更多精彩干貨分享
點(diǎn)擊下方名片關(guān)注
IT那活兒
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/129935.html
Oracle數(shù)據(jù)庫(kù)4031故障分析 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; m...
摘要:企業(yè)在選擇云系統(tǒng)時(shí),尤其如此。云系統(tǒng)中的每個(gè)因素都與公司成長(zhǎng)模式有關(guān)。成本蠕變成本蠕變或許是最普遍也是最容易被負(fù)責(zé)人忽略的,對(duì)云系統(tǒng)的產(chǎn)生的影響也是更為負(fù)面的。如果你選擇的云服務(wù)組合是正確的,云系統(tǒng)的擴(kuò)張就應(yīng)該是順其自然的。 一、在選擇過(guò)程中忽略重要的云屬性企業(yè)在購(gòu)買(mǎi)整合系統(tǒng)時(shí)要面對(duì)一系列的挑戰(zhàn)性,除了要理解公司行為方式和原因以外,還需要有考慮到其他因素。如果忽略了某個(gè)流程或要求,那么在這個(gè)...
摘要:作者逆向驛站微信公眾號(hào)逆向驛站知乎逆向驛站上篇說(shuō)了具體方法,下篇來(lái)發(fā)逆向分析過(guò)程,看看老夫是如何得到上篇的具體方法的準(zhǔn)備環(huán)境和工具虛擬機(jī)環(huán)境專(zhuān)用脫殼器學(xué)習(xí)層次爆破,但是這個(gè)作者聲明了,爆破他是不認(rèn)可的解密流程,寫(xiě)注冊(cè)機(jī)積累程序逆向特點(diǎn)經(jīng)驗(yàn)詳 作者:逆向驛站微信公眾號(hào):逆向驛站知乎:逆向驛站showImg(https://segmentfault.com/img/bVbnHJT?w=11...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1860·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20