The DBO - Parallel Serialized alarm is triggered when the number of parallel queries downgraded to serial execution exceeds a defined threshold. This downgrade happens when Oracle cannot allocate enough parallel execution servers to run queries in parallel, which can negatively impact performance.
DBO_Parallel_Downgrade_Low
and DBO_Parallel_Downgrade_Medium
regsitry settings used for?These are threshold values defined in Foglight’s registry that determine when the alarm should fire:
DBO_Parallel_Downgrade_Low
:
parallel_downgr_to_serial
) is greater than or equal to this value, a Warning alarm is triggered.DBO_Parallel_Downgrade_Medium
:
These values are configurable in Foglight and can be adjusted based on your environment’s workload and tolerance for parallel query downgrades.
The alarm triggers when:
Low
or Medium
).This typically happens when:
parallel_max_servers
is too low.
These values in the Foglight alarm message represent the number of parallel queries that were downgraded to serial execution due to a lack of available parallel execution servers in the Oracle database.
100.00
means 100 queries were downgraded.These values are pulled from Oracle’s internal performance views and reflect real-time or recent activity.
Please review the Oracle documentation for details on the metric: https://docs.oracle.com/cd/B16240_01/doc/doc.102/e16282/oracle_database_help/oracle_database_instance_efficiency_pxdwngrdserial_ps.html
Foglight collects the metric using a query similar to the following (simplified for clarity):
SELECT SUM(DECODE(NAME, 'Parallel operations downgraded to serial', VALUE, 0)) AS parallel_downgr_to_serial FROM sys.v_$sysstat;
In Oracle, when a query is designed to run in parallel, it requests parallel execution servers. If Oracle cannot allocate enough parallel servers, it has two options:
Parallel Serialized = A query that was supposed to run in parallel but was forced to run serially due to lack of resources.
This is not about queuing — it’s about falling back to serial execution immediately when parallelism isn’t possible.
Engage the DBA team to:
Review the current value of parallel_max_servers, servers_busy, and servers_idle. Users can crease a custom dashboard to monitor the raw data using the following topologies
Check how many parallel servers are currently in use and idle.
Identify if the system is consistently hitting the parallel server limit.
Request a review of parallel query usage:
Ask the DBA to identify queries or jobs that are frequently downgraded.
Recommend tuning or limiting parallelism for those queries.
Consider increasing parallel_max_servers:
If system resources allow, the DBA can increase this parameter to reduce downgrades. This can be done using the following command
ALTER SYSTEM SET parallel_max_servers = SCOPE=BOTH;
This should be done cautiously and monitored closely.
Implement workload management:
Suggest using Oracle Resource Manager to control parallelism for specific users or workloads.
Monitor trends in Foglight:
Track how often this alarm is triggered.
Correlate with known batch jobs or reporting workloads.
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center