ORA-4030 Troubleshooting

Posted by [email protected] on Oracle Blogs See other posts from Oracle Blogs or by [email protected]
Published on Fri, 11 Jun 2010 11:16:30 -0700 Indexed on 2010/06/11 18:33 UTC
Read the original article Hit count: 582

QUICKLINK: Note 399497.1 FAQ ORA-4030
 
Note 1088087.1 : ORA-4030 Diagnostic Tools [Video]

 

Have you observed an ORA-0430 error reported in your alert log?

ORA-4030 errors are raised when memory or resources are requested from the Operating System and the Operating System is unable to provide the memory or resources.   The arguments included with the ORA-4030 are often important to narrowing down the problem.

For more specifics on the ORA-4030 error and scenarios that lead to this problem, see Note 399497.1 FAQ ORA-4030.

 

Looking for the best way to diagnose?

There are several available diagnostic tools (error tracing, 11g Diagnosibility, OCM, Process Memory Guides, RDA, OSW, diagnostic scripts) that collectively can prove powerful for identifying the cause of the ORA-4030. 

 

Error Tracing

 

The ORA-4030 error usually occurs on the client workstation and for this reason, a trace file and alert log entry may not have been generated on the server side.  It may be necessary to add additional tracing events to get initial diagnostics on the problem.


To setup tracing to trap the ORA-4030, on the server use the following in SQLPlus:

alter system set events '4030 trace name heapdump level 536870917;name errorstack level 3';

Once the error reoccurs with the event set, you can turn off  tracing using the following command in SQLPlus:

alter system set events '4030 trace name context off; name context off';

NOTE:   See more diagnostics information to collect in
Note 399497.1


 11g Diagnosibility

Starting with Oracle Database 11g Release 1, the Diagnosability infrastructure was introduced which places traces and core files into a location controlled by the DIAGNOSTIC_DEST initialization parameter when an incident, such as an ORA-4030 occurs.  For earlier versions, the trace file will be written to either USER_DUMP_DEST (if the error was caught in a user process) or BACKGROUND_DUMP_DEST (if the error was caught in a background process like PMON or SMON). The trace file may contain vital information about what led to the error condition.  

 
Note 443529.1 11g Quick Steps to Package and Send Critical Error Diagnostic Information
to Support[Video]
 
Oracle Configuration Manager (OCM)

Oracle Configuration Manager (OCM) works with My Oracle Support to enable proactive support capability that helps you organize, collect and manage your Oracle configurations.

Oracle Configuration Manager Quick Start Guide
Note 548815.1: My Oracle Support Configuration Management FAQ

Note 250434.1: BULLETIN: Learn More About My Oracle Support Configuration Manager 

 

General Process Memory Guides

 

An ORA-4030 indicates a limit has been reached with respect to the Oracle process private memory allocation.    Each Operating System will handle memory allocations with Oracle slightly differently.



Solaris    
Note 163763.1
Linux      
Note 341782.1
IBM AIX  
Notes 166491.1 and 123754.1
HP          
Note 166490.1
Windows
Note 225349.1, Note 373602.1, Note 231159.1, Note 269495.1Note 762031.1
Generic    
Note 169706.1

 

RDA

The RDA report will show more detailed information about the database and Server Configuration.

Note 414966.1 RDA Documentation Index

Download RDA -- refer to Note 314422.1 Remote Diagnostic Agent (RDA) 4 - Getting Started

OS Watcher (OSW)

This tool is designed to gather Operating System side statistics to compare with the findings from the database.  This is a key tool in cases where memory usage is higher than expected on the server while not experiencing ORA-4030 errors currently.

Reference more details on setup and usage in Note 301137.1 OS Watcher User Guide

Diagnostic Scripts

 

Refer to Note 1088087.1 : ORA-4030 Diagnostic Tools [Video]

Common Causes/Solutions

The ORA-4030 can occur for a variety of reasons.  Some common causes are:

 

* OS Memory limit reached such as physical memory and/or swap/virtual paging.   For instance, IBM AIX can experience ORA-4030 issues related to swap scenarios.  See Note 740603.1 10.2.0.4 not using large pages on AIX for more on that problem. Also reference Note 188149.1 for pointers on 10g and stack size issues.

* OS limits reached (kernel or user shell limits) that limit overall, user level or process level memory

* OS limit on PGA memory size due to SGA attach address
          Reference:
Note 1028623.6 SOLARIS How to Relocate the SGA

* Oracle internal limit on functionality like PL/SQL varrays or bulk collections. ORA-4030 errors will include arguments like "pl/sql vc2" "pmucalm coll" "pmuccst: adt/re".  See
Coding Pointers for pointers on application design to get around these issues

* Application design causing limits to be reached

* Bug - space leaks, heap leaks

 

***For reference to the content in this blog, refer to Note.1088267.1 Master Note for Diagnosing ORA-4030

© Oracle Blogs or respective owner

Related posts about Master Notes

Related posts about 4030