I got ” ORA-00445: background process “string” did not start after string seconds ” error in Oracle database.
ORA-00445: background process “string” did not start after string seconds
Details of error are as follows.
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.
background process “string” did not start after string seconds
This ORA-00445 error is related with the specified process did not start after the specified time.
An extensive search in our Knowledge Base was done and the following internal unpublished bugs was concluded:
Bug:7435388 Base Bug:7377880: STARETL: ORA-00445: BACKGROUND PROCESS “M000” DID NOT START AFTER 120 SECONDS
–> Status 32 – Not a Bug.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug:8336987 —> Platform 226 – Linux x86-64
All the time, the process is stuck in ‘D’ state, i.e uninterruptible state in
the kernel. This is a known issue with the Linux ext3 filesystem when there
is a lot of I/O activity and the filesystem has to flush out it’s journal and
all other I/O freezes while it is doing that.
If you are willing to try it, you could change the mount options for your
ext3 filesystems to include -o data=writeback and see if this problem
reproduces.
Base Bug:7562673 –> Status 92 – Closed, Not a Bug
WARNING: Slow process spawn detected for OS id=4260, M000
The process exec took more than 133 secs.
CAUSE: Your oracle executable is on a remote machine.
Network issues can delay loading the executable image and
therefore delay the process exec. Copy the oracle
image / oracle home to the instance’s local hard disk.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug:7377880 –> Status 32 – Not a Bug
The problem appears to be that you have too much activity on your machine;
the fix is to shut down some of the activity.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug:<span20134113> –> Status 80
ASM M000 doesn’t start in less than 120 secs, when getting instance information that is maintained by RAC (e.g. Total CPU count)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug:9866293 –> Status 92 – Closed, Not a Bug
Process startup can be time consuming on heavily loaded systems. Systems
that have a high system load, or have high network latency and the image is
remote, may have large fork/exec times.
In this particular case it looks like ps and gdb timed out while dumping
diagnostics of the spawnee. This is a good indication of high system
load/network latency.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug:9543620: SQL EXEC PART:ORA-00445: BACKGROUND PROCESS “P059” DID NOT START AFTER 120 SECON
–> Status 92 – Closed, Not a Bug
This just looks like a system load related issue.
ps and gdb timing out while getting diagnostics usually means, there may be
NFS latency issues, of the image or dependent libraries are remote, or a disk
latency issue if they are local.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug:8437130 –> Status 32 – Not a Bug
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
There is nothing in the oracle tool bag to detect why or how a process doesn’t start. It is a bit like sending a non-existent person a letter and not getting a reply. There is nothing we can trace, because there is nothing to trace. If Oracle says start a process, and a process does not start, we have no option but to timeout.
On the other hand, I did extensive search in our Knowledge Base and concluded the above **internal unpublished** bugs. Although they are unpublished, I posted some snippets here that explain the possible reasons.
Briefly, the possible reasons addressed in these bugs are:
1. Too much activity on your machine.
2. NFS latency issues.
3. Disk latency issue (that affects I/O).
4. Network latency.
These are the four possible reasons for the ORA-445 error you are getting. None of these reasons are related to the RDBMS itself. We recommend you involve your Network, Storage and System Administrators in this investigation.
On the other hand, the default 120 seconds (after which Oracle times out) can be extended dynamically (with no need to bounce the database) by setting the following event:
alter system set events ‘10281 trace name context forever, level xxxxxx’;
— where xxxxxx is the number of seconds to timeout at.
Do you want to learn Oracle Database for Beginners, then read the following articles.
Oracle Tutorial | Oracle Database Tutorials for Beginners ( Junior Oracle DBA )