Gathering Initial Troubleshooting Information for Analysis of ORA-4031 Errors on the Shared Pool
In this Document
| Purpose |
| Troubleshooting Steps |
| References |
APPLIES TO:
Oracle Database - Enterprise Edition - Version 8.0.6.3 and later
Information in this document applies to any platform.
PURPOSE
The purpose of this document is to provide some steps to take to gather some essential information necessary for initial analysis of ORA-4031 errors on the shared pool. For more detailed information gathering, please
refer to MOS Document 430473.1.
For ORA-4031 errors on the Java and Streams pools, please review MOS Document 1675450.1.
TROUBLESHOOTING STEPS
Review MOS Document 1674117.1 on
what information is to be gathered for analysis of an ORA-4031 issue, why this information is necessary, and how to obtain it.
At least the following pieces of information should be collected to be able to start analysis of the ORA-4031 issue:
- For Oracle10g and lower releases, obtain the trace file of the very first ORA-4031 occurrence reported after the last instance startup. For Oracle11g and higher release, obtain the incident package (see MOS Document 443529.1)
of the very first ORA-4031 incident reported after the last instance startup. - Obtain the RDA report (see MOS Document 314422.1 for
details of installing & running RDA. RDA can be included in incident packages by default in 11.2.0.2 onwards by following the instructions in MOS Document 1456047.1). - Obtain the current memory allocations in the shared pool:
CONNECT / AS SYSDBA
SET PAGESIZE 9999
SET LINESIZE 256
SET TRIMOUT ON
SET TRIMSPOOL ON
COL 'Total Shared Pool Usage' FORMAT 99999999999999999999999
COL bytes FORMAT 999999999999999
COL current_size FORMAT 999999999999999
COL name FORMAT A40
COL value FORMAT A20
ALTER SESSION SET nls_date_format='DD-MON-YYYY HH24:MI:SS';
SPOOL SGAPARAMS.TXT
/* Database identification */
SELECT name, platform_id, database_role FROM v$database;
SELECT * FROM v$version WHERE banner LIKE 'Oracle Database%';
/* Current instance parameter values */
SELECT n.ksppinm name, v.KSPPSTVL value
FROM x$ksppi n, x$ksppsv v
WHERE n.indx = v.indx
AND (n.ksppinm LIKE '%shared_pool%' OR n.ksppinm IN ('_kghdsidx_count', '_ksmg_granule_size', '_memory_imm_mode_without_autosga'))
ORDER BY 1;
/* Current memory settings */
SELECT component, current_size FROM v$sga_dynamic_components;
/* Memory resizing operations */
SELECT start_time, end_time, component, oper_type, oper_mode, initial_size, target_size, final_size, status
FROM v$sga_resize_ops
ORDER BY 1, 2;
/* Historical memory resizing operations */
SELECT start_time, end_time, component, oper_type, oper_mode, initial_size, target_size, final_size, status
FROM dba_hist_memory_resize_ops
ORDER BY 1, 2;
/* Shared pool 4031 information */
SELECT request_failures, last_failure_size FROM v$shared_pool_reserved;
/* Shared pool reserved 4031 information */
SELECT requests, request_misses, free_space, avg_free_size, free_count, max_free_size FROM v$shared_pool_reserved;
/* Shared pool memory allocations by size */
SELECT name, bytes FROM v$sgastat WHERE pool = 'shared pool' AND (bytes > 999999 OR name = 'free memory') ORDER BY bytes DESC;
/* Total shared pool usage */
SELECT SUM(bytes) "Total Shared Pool Usage" FROM v$sgastat WHERE pool = 'shared pool' AND name != 'free memory';
/* Cursor sharability problems */
/* This version is for >= 10g; for <= 9i substitute ss.kglhdpar for ss.address!!!! */
SELECT sa.sql_text,sa.version_count,ss.*
FROM v$sqlarea sa,v$sql_shared_cursor ss
WHERE sa.address=ss.address AND sa.version_count > 50
ORDER BY sa.version_count ;
SPOOL OFF - For Oracle10g ang later, obtain an AWR report (see MOS Document 748642.1)
from the period where the first ORA-4031 was encountered:CONNECT / AS SYSDBA
@?/rdbms/admin/awrrpt.sql - For Oracle10g and later, obtain SGA statistics:
CONNECT / AS SYSDBA
ORADEBUG setmypid
ORADEBUG unlimit
ALTER SESSION SET events 'immediate trace name dump_all_comp_granule_addrs level 1';
ORADEBUG tracefile_name
ORADEBUG close_trace
After having gathered all of the above information, upload the information to the Service Request.
REFERENCES
NOTE:443529.1 - Database 11g: Quick
Steps to Package and Send Critical Error Diagnostic Information to Support [Video]
NOTE:314422.1 - Remote Diagnostic
Agent (RDA) - Getting Started
NOTE:430473.1 - ORA-4031 Common Analysis/Diagnostic
Scripts [Video]
NOTE:1456047.1 - How to Setup Automatic
RDA Data Collection for Incident Packages?
NOTE:1675450.1 - Gathering Initial
Troubleshooting Information for Analysis of ORA-4031 Errors on Java and Streams Pools
NOTE:1674117.1 - SRDC - ORA-4031
on Shared Pool: Checklist of Evidence to Supply
NOTE:1674933.1 - Gathering Initial
Troubleshooting Information for Analysis of ORA-4031 Errors on the Large Pool
others
ORA-04031: Unable to Allocate %n Bytes of Shared Memory ("shared pool",%s,%s,%s)
APPLIES TO:
Oracle Database - Enterprise Edition - Version 8.1.7.4 and later
Information in this document applies to any platform.
***Checked for relevance on 31-Jul-2013***
Archived
PURPOSE
ORA-04031: unable to allocate %s bytes of shared memory (\"%s\",\"%s\",\"%s\",\"%s\")
TROUBLESHOOTING STEPS
fix: Try to increase shared_pool_size in init.ora file. If it seems large enough
then improve segmentation in shared pool by reserving part of shared pool for
large objects using parameter SHARED_POOL_RESERVED_SIZE (good value to start
tuning is 1/3 of shared-pool size). It is possible to decide what is "
large object" by parameter SHARED_POOL_RESERVED_MIN_ALLOC.
Gathering Initial Troubleshooting Information for Analysis of ORA-4031 Errors on the Shared Pool的更多相关文章
- 【ORA】ORA-00371: not enough shared pool memory
今天rac中有一个节点asm实例起不来包了ora-000371的错误,错误贴在下面: [oracle@rac2 dbs]$ srvctl start asm -n rac2 PRKS-1009 : F ...
- Oracle内存全面分析
Oracle内存全面分析 Oracle的内存配置与oracle性能息息相关.而且关于内存的错误(如4030.4031错误)都是十分令人头疼的问题.可以说,关于内存的配置,是最影响Oracle性能的配置 ...
- Oracle Net Listener Parameters (listener.ora)(转)
12/20 7 Oracle Net Listener Parameters (listener.ora) This chapter provides a complete listing of th ...
- Click to add to Favorites Troubleshooting: High Version Count Issues (Doc ID 296377.1)
Copyright (c) 2018, Oracle. All rights reserved. Oracle Confidential. Click to add to Favorites Trou ...
- Troubleshooting ORA-01555 - Snapshot Too Old: Rollback Segment Number "String" With Name "String" Too Small (Doc ID 1580790.1)
Troubleshooting ORA-01555 - Snapshot Too Old: Rollback Segment Number "String" With Name & ...
- Troubleshooting Autoinvoice Import
metalink :1089172.1 In this Document Purpose Troubleshooting Steps AutoInvoice Execution Repor ...
- Troubleshooting 'library cache: mutex X' Waits. (Doc ID 1357946.1)
In this Document Purpose Troubleshooting Steps What is a 'library cache: mutex X' wait? What ...
- Back up and restore information in Firefox profiles
Click the menu button , click Help and select Troubleshooting Information. The Troubleshooting Infor ...
- Database hang and Row Cache Lock concurrency troubleshooting
http://www.dadbm.com/database-hang-row-cache-lock-concurrency-troubleshooting/ Issue backgroundThis ...
随机推荐
- CoreAnimation中layer动画闪烁的原因及解决
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 网上有一段Core Animation层动画的例子,是将vie ...
- java设计模式-----单例设计模式
设计模式是个很高深的东西,我也是略懂皮毛,下面让我用最简洁易懂的语言描述下单例设计模式吧. 一些人总结出来用来解决特定问题的固定的解决方案. 解决一个类在内存中只存在一个对象,想要保证对象的唯一. 1 ...
- 5.1.3.jvm java虚拟机系统参数查看
不同的参数配置对系统的执行效果有较大的影响,因此,我们有必要了解系统实际的运行参数. 1.1.1.1. -XX:+PrintVMOptions 参数-XX:+PrintVMOptions可以在程序运行 ...
- 1.Android中解析json程序代码
Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包.测试代码如下: @Override protected void onCreate(Bundle savedI ...
- acm入门搜索-石油数目
题意:给出一个N*M的矩形区域和每个区域的状态--有/没有石油,(定义)如果两个有石油的区域是相邻的(水平.垂直.斜)则认为这是属于同一个oil pocket. 求这块矩形区域一共有多少oilpock ...
- >/dev/null 2>&1
>/dev/null 2>&1 大部分在 crontab 计划任务中都会年到未尾带 >/dev/null 2>&1,是什么意思呢? > 是重定向 /dev ...
- 第三方ProgressHUD进度条 技术分享
创建一个进度辅助视图: 初始化: - (void)viewDidLoad { [super viewDidLoad]; <span style="color: rgb(255, 0, ...
- spring mvc接收List集合、JUI传JSP List
JUI页面是这样的 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 <div class=&quo ...
- JavaScript进阶(七)JS截取字符串substr 和 substring方法的区别
JS截取字符串substr 和 substring方法的区别 substr方法 返回一个从指定位置开始的指定长度的子字符串. stringvar.substr(start [, length ]) 参 ...
- android自定义listview实现header悬浮框效果
之前在使用iOS时,看到过一种分组的View,每一组都有一个Header,在上下滑动的时候,会有一个悬浮的Header,这种体验觉得很不错,请看下图: 上图中标红的1,2,3,4四张图中,当向上滑动时 ...