国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

有關(guān)ORA-04031的分析過(guò)程

IT那活兒 / 854人閱讀
有關(guān)ORA-04031的分析過(guò)程


一. ORA-04031的問(wèn)題表現(xiàn)


當(dāng)Oracle需要分配一個(gè)大對(duì)象到共享池中卻無(wú)法找到一段連續(xù)可用的內(nèi)存空間時(shí)候,通常會(huì)報(bào):
04031, 00000, "unable to allocate %s bytes of shared memory ("%s","%s", "%s","%s")"


二. 涉及的參數(shù)


與共享池有關(guān)陳參數(shù):

  1. SHARED_POOL_SIZE

    這個(gè)參數(shù)指定共享池的大小,以字節(jié)為單位。

  2. SHARED_POOL_RESERVED_SIZE

    指定為大的連續(xù)的共享池內(nèi)存請(qǐng)求預(yù)留的共享池的大小。

  3. _SHARED_POOL_RESERVED_MIN_ALLOC

    這個(gè)參數(shù)是隱含參數(shù),用于控制預(yù)留內(nèi)存的分配。大于這個(gè)參數(shù)的內(nèi)存分配可以使用預(yù)留內(nèi)存的列表。這個(gè)參數(shù)的默認(rèn)值適合 絕大多數(shù)的系統(tǒng)。

    可以通過(guò)執(zhí)行如下SQL查到:
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;



三. 可能的原因及處理措施


1. 共享池大小設(shè)置不合理

共享池大小是否合理,可首先確定library cache中是否缺乏連續(xù)的內(nèi)存空間;

可以通過(guò)查詢(xún)視圖v$SHARED_POOL_RESERVED,滿(mǎn)足如下的條件:
  • REQUEST_FAILURES>0
    AST_FAILURE_SIZE < SHARED_POOL_RESERVED_MIN_ALLOC
  • REQUEST_FAILURES=0
    LAST_FAILURE_SIZE < SHARED_POOL_RESERVED_MIN_ALLOC
如滿(mǎn)足則說(shuō)明SHARED_POOL_RESERVED_MIN_ALLOC設(shè)置過(guò)小
解決:增大到滿(mǎn)足為止

2. 共享池碎片太多

如果是由于共享池碎片引起的ORA-04031錯(cuò)誤,那么需要判斷是由于library cache的碎片導(dǎo)致的還是共享池保留空間中的碎片太多導(dǎo)致的,判定規(guī)則:
  • 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)存。


3. 大內(nèi)存分配導(dǎo)致,報(bào)錯(cuò)信息如下:

ORA-04031: unable to allocate XXXX bytes of shared memory ("large pool","unknown object","session heap","frame")


當(dāng)出現(xiàn)上述錯(cuò)誤的時(shí)候,可以查看如下幾個(gè)方面:

  • 檢查V$SGASTAT看看多少的內(nèi)存被使用和空閑:
SELECT pool,name,bytes FROM v$sgastat where pool = large pool;
  •  使用heapdump level 32來(lái)dump出大池heap,確定自由的塊大小。

    從大池中分配的內(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ò)誤


4. Oracle bug

Oracle強(qiáng)烈建議安裝最新的數(shù)據(jù)庫(kù)補(bǔ)丁,大部分的ORA-04031錯(cuò)誤都和BUGs相關(guān),安裝最新的補(bǔ)丁可以避免這些錯(cuò)誤。報(bào)錯(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ù)嘗試。


5. 共享池碎片原因及視圖

  1. 沒(méi)有共享的SQL
  2. 執(zhí)行了沒(méi)有必要的軟分析調(diào)用
  3. 沒(méi)有使用綁定變量
根據(jù)造成共享池碎片的以上三個(gè)方面,對(duì)應(yīng)用SQL進(jìn)行有針對(duì)性的優(yōu)化改造;為了捕獲有問(wèn)題的SQL,可通過(guò)以下視圖進(jìn)行分析:
  • V$SQLAREA視圖,該視圖保存了每個(gè)SQL和PL/SQL執(zhí)行的塊,具體查詢(xún)腳本如下:
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;



END


更多精彩干貨分享

點(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

相關(guān)文章

  • Oracle數(shù)據(jù)庫(kù)4031故障分析

    Oracle數(shù)據(jù)庫(kù)4031故障分析 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; m...

    不知名網(wǎng)友 評(píng)論0 收藏2316
  • 選型云ERP中五個(gè)不能忽視問(wèn)題

    摘要:企業(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è)...

    venmos 評(píng)論0 收藏0
  • CrackMe005-下篇 | 逆向破解分析 | 160個(gè)CrackMe(視頻+圖文)深度解析系列

    摘要:作者逆向驛站微信公眾號(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...

    jeyhan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<