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 ...
随机推荐
- Android应用UI设计流程
Android应用UI设计流程 设计原理 1.在移动设计中,使用环境是最关键的因素.原型设计方法必须考虑尺寸因素 2.用户测试必须涵盖运动.声音和多点触控等方面: 进行移动设计和测试时,请将你知道的有 ...
- Java基本语法-----java运算符
这块的东西比较多 我写了太慢了 于是在word里写好贴出来供大家一起学习 运算符 -赋值运算符 -比较运算符 -逻辑运算符 -位运算符 -移位操作符 -三元运算符 [正在看本人博客的这位童鞋,我看你气 ...
- Struts 1之DispatchAction
DispatchAction是struts 1 的内置通用分发器 import org.apache.struts.actions.DispatchAction; public class UserA ...
- FFmpeg源代码简单分析:makefile
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...
- GCD API 记录 (三)
本篇就不废话啦,接着上篇记录我见过或者使用过的与GCD相关的API.由于一些API使用的非常少,用过之后难免会忘记,还是记录一下比较好. 6.dispatch_group_wait 该API依然是与d ...
- 登录ssh时Host key verification failed错误
工作中总是测试不同的路由设备, 路由器的ip都是 192.168.111.1 ,ssh登录的时候总是出现这个错误. macos上,错误如下 spawn ssh -p 22 root@192.168.1 ...
- MyBatis延迟加载及在spring中集成配置
当你要使用one to one,many to one 就会碰到N+1的问题.很明显,对象之间关联很多有A关联B,B关联C,C关联A这样的关系,如果不是采用延迟加载,很容易一下在出现成千上万对象 ...
- shell脚本实现冒泡排序
手动输入一行字符串,并对其排序. 脚本如下: #!/bin/bash #a test about sort echo "please input a number list" re ...
- Android绘图基础Paint和Canvas介绍-android学习之旅(六十一)
canvas介绍 Paint类介绍 代码示例 效果图
- UNIX环境高级编程——信号基本概述和signal函数
一.为了理解信号,先从我们最熟悉的场景说起:1. 用户输入命令,在Shell下启动一个前台进程.2. 用户按下Ctrl-C,这个键盘输入产生一个硬件中断.3. 如果CPU当前正在执行这个进程的代码,则 ...