日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ORA-04031: Unable To Allocate 32 Bytes Of Shared Memory

發布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORA-04031: Unable To Allocate 32 Bytes Of Shared Memory 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

記錄一次生產庫遇到的4031錯誤,后來通過調整sga大小將問題解決了

報錯信息:

ORA-04031: 無法分配 32 字節的共享內存 ("shared pool","select user#,password,datats...","SQLA","tmp")
Incident details in: /u01/app/oracle/diag/rdbms/twprod/xxxxx/incident/incdir_237848/xxxxx_ora_36005_i237848.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Tue Jun 06 19:57:24 2017
Errors in file /u01/app/oracle/diag/rdbms/xxxx/xxxx/trace/xxxx_e004_106234.trc (incident=238416):
ORA-04031: unable to allocate 32 bytes of shared memory ("shared pool","select /*+ INDEX(TAB AQ$_AQ...","SQLA","tmp")
Incident details in: /u01/app/oracle/diag/rdbms/xxxx/xxxx1/incident/incdir_238416/xxxx1_e004_106234_i238416.trc

?

查看當前sga設置:

SYS@ xxxx1> show parameter sga

NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE ? ? ? ?VALUE
------------------------------------ ----------- ------------------------------
lock_sga ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? boolean ? ? ?FALSE
pre_page_sga ? ? ? ? ? ? ? ? ? ? ? ?boolean ? ? ?FALSE
sga_max_size ? ? ? ? ? ? ? ? ? ? ? ? big integer ?20G
sga_target ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?big integer ?20G

?

調整sga為30g并重啟數據庫使參數生效:

SYS@ xxxx1>?alter system set sga_max_size=30G scope=spfile;

SYS@ xxxx1>?alter system set sga_target=30G scop=spfile;

SYS@ xxxx1> shutdown immediate

SYS@ xxxx1> startup

?

以下是Mos的解決方法,以供參考:


ORA-04031: Unable To Allocate 32 Bytes Of Shared Memory ("shared pool","select tablespace_id, rfno, ...","SQLA","tmp")" (文檔?ID 1986741.1)?
?

In this Document

?

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.2 and later

Information in this document applies to any platform.

SYMPTOMS

Alert log reports errors like below in almost all the instances:

ORA-04031: unable to allocate 32 bytes of shared memory ("shared pool","select tablespace_id, rfno, ...","SQLA","tmp")"

?

CAUSE

The trace file shows there are 6 sga subpools allocated.

...?

****************** End of process map dump ************

==============================================

TOP 10 MEMORY USES FOR SGA HEAP SUB POOL 1

----------------------------------------------

"KGH: NO ACCESS " 4056 MB 61%

"gcs dynamic s " 713 MB 11%

"free memory " 625 MB 9%

"gcs dynamic r " 501 MB 8%

"init_heap_kfsg " 195 MB 3%

"FileOpenBlock " 122 MB 2%

"gcs resources " 64 MB 1%

"ges enqueues " 62 MB 1%

"gcs shadows " 45 MB 1%

"PRTMV " 40 MB 1%

??-----------------------------------------

free memory 625 MB

memory alloc. 6031 MB

Sub total 6656 MB

==============================================

TOP 10 MEMORY USES FOR SGA HEAP SUB POOL 2

----------------------------------------------

"KGH: NO ACCESS " 3822 MB 71%

"free memory " 343 MB 6%

"SQLA " 223 MB 4%

"gcs dynamic r " 146 MB 3%

"KGLH0 " 126 MB 2%

"gcs dynamic s " 98 MB 2%

"gc name table " 96 MB 2%

"ges resource " 78 MB 1%

"PRTMV " 68 MB 1%

"gcs resources " 65 MB 1%

??-----------------------------------------

free memory 343 MB

memory alloc. 5033 MB

Sub total 5376 MB

==============================================

TOP 10 MEMORY USES FOR SGA HEAP SUB POOL 3

----------------------------------------------

"KGH: NO ACCESS " 3812 MB 80%

"free memory " 215 MB 5%

"SQLA " 112 MB 2%

"KGLH0 " 97 MB 2%

"ges resource " 80 MB 2%

"gcs resources " 66 MB 1%

"gcs shadows " 46 MB 1%

"PRTMV " 45 MB 1%

"KQR X PO " 44 MB 1%

"ges enqueues " 22 MB 0%

??-----------------------------------------

free memory 215 MB

memory alloc. 4521 MB

Sub total 4736 MB

==============================================

TOP 10 MEMORY USES FOR SGA HEAP SUB POOL 4

----------------------------------------------

"KGH: NO ACCESS " 3557 MB 79%

"free memory " 367 MB 8%

"KQR L PO " 79 MB 2%

"KGLH0 " 76 MB 2%

"gcs resources " 66 MB 1%

"SQLA " 61 MB 1%

"gcs shadows " 45 MB 1%

"PRTMV " 39 MB 1%

"ges enqueues " 16 MB 0%

"KGLHD " 12 MB 0%

??-----------------------------------------

free memory 367 MB

memory alloc. 4113 MB

Sub total 4480 MB

==============================================

TOP 10 MEMORY USES FOR SGA HEAP SUB POOL 5

----------------------------------------------

"KGH: NO ACCESS " 3689 MB 85%

"free memory " 215 MB 5%

"KGLH0 " 74 MB 2%

"gcs resources " 65 MB 2%

"gcs shadows " 44 MB 1%

"PRTMV " 40 MB 1%

"SQLA " 32 MB 1%

"ges enqueues " 24 MB 1%

"db_block_hash_buckets " 21 MB 0%

"KGLHD " 12 MB 0%

??-----------------------------------------

free memory 215 MB

memory alloc. 4137 MB

Sub total 4352 MB

==============================================

TOP 10 MEMORY USES FOR SGA HEAP SUB POOL 6

----------------------------------------------

"KGH: NO ACCESS " 3685 MB 76%

"free memory " 240 MB 5%

"gcs dynamic s " 138 MB 3%

"flashback generation buff " 122 MB 2%

"SQLA " 116 MB 2%

"gcs dynamic r " 106 MB 2%

"KGLH0 " 91 MB 2%

"gcs resources " 64 MB 1%

"gcs shadows " 44 MB 1%

"PRTMV " 41 MB 1%

??-----------------------------------------

free memory 240 MB

memory alloc. 4624 MB

Sub total 4864 MB

TOTALS ---------------------------------------

Total free memory 2005 MB

Total memory alloc. 28 GB

Grand total 30 GB

==============================================

?

There are 6 subpools created in the SGA and a high amount of memory is allocated to "KGH: NO ACCESS "

There are multiple bugs open on the same but on 11gR2 there is no actual fix.

?

SOLUTION

As a solution for the issue you can disable the use of durations.

The shared pool can have subpools with 4 durations. These durations are "instance", "session", "cursor", and "execution". By default these durations are separate from each other.

?

The disable durations, you have to set the underscore parameter:

"_enable_shared_pool_durations = false"

This is recommended by development for all similar issues.

?

The main advantage of "_enable_shared_pool_durations = false" is that all the durations are combined into one pool and so a duration will not run out while another duration has free memory.?

This issue will be fixed in 12c version due to architectural changes which will allow less need of durations for subpools.

?

Note:?

Please note that unpublished Enhancement Request Bug 8857940 - NEED COMMON DURATIONS FOR UNSHRINKABLE POOLS 8857940, fixed starting with 12.1.0.1, addresses the durations issue as well. With the fix for Bug?8857940 in place, Oracle permits to group the shared pool durations in 2 groups to allow better shareability of the memory and avoid the ORA-4031 errors.?

Another possible solution is to apply?Patch 8857940?if it is available for your platform and version.

?

REFERENCES

BUG:19236833?- EXADATA: ORA-04031: UNABLE TO ALLOCATE 32 BYTES OF SHARED MEMORY "SQLA" "TMP"

NOTE:411.1?- ADR Different Methods to Create IPS Package

BUG:17789414?- SUPERCLUSTER: ORA-4031 ERRORS OCCURING WEEKLY CAUSING INSTANCE CRASHES

BUG:20447919?- ORA-4031: UNABLE TO ALLOCATE 32 BYTES

?

轉載于:https://www.cnblogs.com/MrLeo701/p/7084771.html

總結

以上是生活随笔為你收集整理的ORA-04031: Unable To Allocate 32 Bytes Of Shared Memory的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。