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.
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
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
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.1, Note 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
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