Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 
 Home
 E-mail Us
 Oracle Articles


 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog


 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Analysis
 Design
 Implementation
 Oracle Support


 SQL Tuning
 Security

 Oracle UNIX
 Oracle Linux
 Monitoring
 Remote s
upport
 Remote plans
 Remote
services
 Application Server

 Applications
 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S
upport  
 Development  

 Implementation


 Consulting Staff
 Consulting Prices
 Help Wanted!

 


 Oracle Posters
 Oracle Books

 Oracle Scripts
 Ion
 Excel-DB  

Don Burleson Blog 


 

 

 


 

 

 
 

ORA-00445 background process PMON did not start tips

Oracle Tips by Burleson Consulting

February 11, 2010

Question:  At the startup command, we are facing ORA-00445 error PMON does not start even after 120 sec at the time of instance starting up.  How do I resolve the ORA-00445 error and restart PMON.

Answer:  The docs note that the ORA-00445 error happens when a background process cannot start running:

ORA-00445: background process "string" did not start after string seconds

Cause: The specified process did not start after the specified time.

Action: Ensure that the background did not die and leave a trace file.

You start troubleshooting an ORA-00445 error by examining your alert log and check for trace files in the bdump (background_dump_dest) directory.

I have seen the ORA-00445 because the OS is still holding the SGA RAM after a previous crash.

First, run an “ipcs –pmb” command and see if you have leftover RAM segments from the last instance.  If you find held RAM, run the ipcrm command to remove the segments.  Here is how to check for held SGA RAM on the OS.

If PMON fails on startup, it’s almost always because of one of these conditions:

  1. Leftover memory segments from a previous instance crash.

  2. Incorrect environment parameter settings in SQL*Plus ($ORACLE_HOME, $ORACLE_SID).

  3. Permission issues with the Oracle executables.

  4. Not enough CPU/RAM resources for the startup to complete. 

In any case, the associated trace file will give you the exact reason for the ORA-00445 error.


This may be a Linux kernel issue and it can also be unpublished bug (8527473( see MOSC for details)

  • Recent Linux kernels have a feature called Address Space Layout Randomization (ASLR).
  •  ASLR is a feature that is activated by default on some of the newer Linux distributions.
  •  ASLR is designed to load shared memory objects in random addresses.
  •  In Oracle, multiple processes map a shared memory object at the same address across the processes.
  •  With ASLR turned on, Oracle cannot guarantee the availability of this shared memory address.

This conflict in the address space means that a process trying to attach a shared memory object to a specific address may not be able to do so, resulting in a failure in shmat subroutine.
 
However, on subsequent retry (using a new process) the shared memory attachment may work. The result is a “random” set of failures in the alert log.
 
One solution to the ORA-00445 error:
 
* It should be noted that this problem has only been positively diagnosed in Redhat 5 and Oracle 11.2.0.2.

* It is also likely, as per unpublished BUG:8527473, that this issue will reproduce running on Generic Linux platforms running any Oracle 11.2.0.x. or 12.1.0.x on Redhat/OEL kernels which have ASLR.

* This issue has been seen in both Single Instance and RAC environments.
 
You can verify whether ASLR is being used as follows:
 
# /sbin/sysctl -a | grep randomize
 
kernel.randomize_va_space = 1

 
If the parameter is set to any value other than 0 then ASLR is in use. On Redhat 5 to permanently disable ASLR. Add/modify this parameter in /etc/sysctl.conf
 
- kernel.randomize_va_space=0
- kernel.exec-shield=0
 
You need to reboot for kernel.exec-shield parameter to take effect. Note that both kernel parameters are required for ASLR to be switched off.
 
There may be other reasons for a process failing to start, however, by switching ASLR off, you can quickly discount ASLR being the problem. More and more issues are being identified when ASLR is in operation.
 

 
 
 
Get Complete Oracle Tuning Details 

The landmark book "Oracle Tuning: The Definitive Reference Third Edition" has been updated with over 800 pages of expert performance tuning tips. It's packed with scripts and tools to hypercharge Oracle performance and you can buy it for 40% off directly from the publisher.
 


 

 

��  
 
 
 
 

 
 
 

 
 
Oracle performance tuning software 
 
oracle dba poster
Oracle Linux poster
 
 

 

Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  and include the URL for the page.


                    









Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


 

Copyright ? 1996 -  2014

All rights reserved by Burleson

Oracle ? is the registered trademark of Oracle Corporation.