亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

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

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


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


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


二. 涉及的參數(shù)


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

  1. SHARED_POOL_SIZE

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

  2. SHARED_POOL_RESERVED_SIZE

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

  3. _SHARED_POOL_RESERVED_MIN_ALLOC

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

    可以通過執(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)存空間;

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

2. 共享池碎片太多

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

  • LAST_FAILURE_SIZE > SHARED_POOL_RESERVED_MIN_ALLOC

解決 :

  • 增大SHARED_POOL_RESERVED_MIN_ALLOC來減少對象被緩存到共享池保留空間中的數(shù)量

  • 增大SHARED_POOL_RESERVED_SIZE 和SHARED_POOL_SIZE來提高共享池保留空間中有更多可用的內(nèi)存。


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

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


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

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

    從大池中分配的內(nèi)存如果是LARGE_POOL_MIN_ALLOC 的塊數(shù)倍可以避免產(chǎn)生碎片,任何請求要求分配的塊大小如果小于LARGE_POOL_MIN_ALLOC,那么將分配 LARGE_POOL_MIN_ALLOC大小的內(nèi)存。

解決:增大LARGE_POOL_SIZE的大小都有助于消除這個錯誤


4. Oracle bug

Oracle強(qiáng)烈建議安裝最新的數(shù)據(jù)庫補(bǔ)丁,大部分的ORA-04031錯誤都和BUGs相關(guān),安裝最新的補(bǔ)丁可以避免這些錯誤。報錯有:
ORA-04031: unable to allocate bytes of shared memory ("shared pool","unknown object","joxlod: init h", "JOX: ioc_allocate_pal")


解決:關(guān)閉數(shù)據(jù)庫,設(shè)置更大的JAVA_POOL_SIZE大小,錯誤中提及的共享池很容易誤導(dǎo)認(rèn)為是SGA內(nèi)存消耗完全,此時不能去增大共享池大小,而應(yīng)該是增大JAVA池的大小,然后重啟數(shù)據(jù)庫繼續(xù)嘗試。


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

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

    這個視圖記錄所有在共享池中由于分配自由空間而導(dǎo)致其他對象被刷新出共享池的信息。通常用來判定什么導(dǎo)致了大的自由空間分配。如果很多對象周期性的被刷新出共享池,那么會導(dǎo)致響應(yīng)時間問題,例如libaray cache latch的競爭問題。

    尤其需要注意的是當(dāng)存儲了最大的自由空間分配之后,任何時候查詢這個視圖都會刪除這個視圖中的內(nèi)容,即使下一個分配的大的自由空間沒有以前的大,這些被查詢的值都會被重置,因此,查詢這個表的結(jié)果應(yīng)該被小心的保存下來。

監(jiān)控這個視圖只需要運(yùn)行下面的SQL:(SYS用戶)

SELECT * FROM X$KSMLRU WHERE ksmlrsiz > 0;



END


更多精彩干貨分享

點(diǎn)擊下方名片關(guān)注

IT那活兒

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/129935.html

相關(guān)文章

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

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

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

    摘要:企業(yè)在選擇云系統(tǒng)時,尤其如此。云系統(tǒng)中的每個因素都與公司成長模式有關(guān)。成本蠕變成本蠕變或許是最普遍也是最容易被負(fù)責(zé)人忽略的,對云系統(tǒng)的產(chǎn)生的影響也是更為負(fù)面的。如果你選擇的云服務(wù)組合是正確的,云系統(tǒng)的擴(kuò)張就應(yīng)該是順其自然的。 一、在選擇過程中忽略重要的云屬性企業(yè)在購買整合系統(tǒng)時要面對一系列的挑戰(zhàn)性,除了要理解公司行為方式和原因以外,還需要有考慮到其他因素。如果忽略了某個流程或要求,那么在這個...

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

    摘要:作者逆向驛站微信公眾號逆向驛站知乎逆向驛站上篇說了具體方法,下篇來發(fā)逆向分析過程,看看老夫是如何得到上篇的具體方法的準(zhǔn)備環(huán)境和工具虛擬機(jī)環(huán)境專用脫殼器學(xué)習(xí)層次爆破,但是這個作者聲明了,爆破他是不認(rèn)可的解密流程,寫注冊機(jī)積累程序逆向特點(diǎn)經(jīng)驗詳 作者:逆向驛站微信公眾號:逆向驛站知乎:逆向驛站showImg(https://segmentfault.com/img/bVbnHJT?w=11...

    jeyhan 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<