Oracle EBS Patching Issue: Prepare Phase Stuck Due to job_queue_processes = 0
Introduction
Online patching in Oracle E-Business Suite (EBS) R12.2 relies on multiple background processes to execute successfully. One of the commonly overlooked parameters that can impact patching is job_queue_processes.
This blog explains a real-time issue where the adop Prepare phase was stuck indefinitely, the root cause, and how it was resolved.
Environment Details
· Application: Oracle E-Business Suite R12.2
· Patching Method: adop (Online Patching)
· Phase: Prepare
· Database: Oracle 19c
Issue Description
During the patching cycle, the Prepare phase was observed to be stuck and not progressing further.
· adop logs did not show any explicit errors
· The process remained active but idle
· No visible failure, but no progress
This made troubleshooting difficult as the issue was not immediately evident from logs.
Understanding the Prepare Phase
The Prepare phase performs several critical operations:
· Environment validation
· Dependency checks
· Data consistency verification
· Internal job execution
These operations rely on Oracle background job queue processes (Jnnn) to execute tasks asynchronously.
Root Cause Analysis (RCA)
The issue was traced to the database parameter:
SQL> sho parameter job;
NAME TYPE VALUE
job_queue_processes integer 0
max_datapump_jobs_per_pdb string 100
max_datapump_parallel_per_job string 50
The parameter job_queue_processes was set to 0
Impact of Setting job_queue_processes = 0
When this parameter is set to 0:
· All background job queue processes are disabled
· DBMS jobs do not execute
· Internal EBS patching jobs cannot run
· Prepare / Apply phases may hang indefinitely
In short:
No background workers = No progress in patching
Solution
Step 1: Enable Job Queue Processes
Run the following command:
SQL> ALTER SYSTEM SET job_queue_processes = 10;
System altered.
Step 2: Verify Parameter Value
SQL> sho parameter job;
NAME TYPE VALUE
job_queue_processes integer 10
max_datapump_jobs_per_pdb string 100
max_datapump_parallel_per_job string 50
Parameter is now enabled
Step 3: Resume Patching
· Re-run the Prepare phase
· Monitor adop logs
The Prepare phase completed successfully after enabling job queue processes
Key Takeaways
· job_queue_processes is critical for EBS patching
· Setting it to 0 disables all background jobs
· Prepare phase depends heavily on DB job execution
· Lack of errors in logs does not mean system is healthy
Best Practices
· Always verify critical database parameters before patching
· Maintain a baseline configuration for EBS environments
· Monitor background job execution during adop phases
· Avoid setting job_queue_processes to 0 in production
· Document parameter changes for audit and troubleshooting
Conclusion
Even a single database parameter misconfiguration can halt the entire Oracle EBS patching cycle. The job_queue_processes parameter plays a crucial role in enabling background job execution, which is essential for successful completion of adop phases.
Ensuring proper configuration of such parameters helps avoid unnecessary downtime and ensures smooth patching operatio
No comments:
Post a Comment