APEX upgrades can return successfully while FULLINS Phase 4 is still pending or running asynchronously.
This is useful for minimizing downtime, but it creates problems for automated and controlled upgrade environments.
In our case, JOB_QUEUE_PROCESSES is intentionally set to 0 during the upgrade. Our application has long-running Scheduler jobs, some of which depend on APEX APIs such as APEX_WEB_SERVICE. We therefore cannot safely enable Scheduler execution until APEX, language packs, the current PSE and our application upgrade have completed.
As a result, ORACLE_APEX_COPY_POST_METADATA cannot run when Phase 4 is scheduled and remains pending until Scheduler execution is enabled again.
It would therefore be useful to provide an optional synchronous upgrade mode where Phase 4 is executed as part of the installation session instead of relying on the Scheduler.
For example:
WAIT_FOR_COMPLETION=YES
With this option enabled, the APEX upgrade should only return success after all upgrade phases, including Phase 4, have completed successfully.
This would:
- provide deterministic completion for CI/CD and automated provisioning,
- allow complete APEX upgrades even when Scheduler execution is intentionally disabled,
- avoid requiring automation to understand or poll internal APEX Scheduler jobs,
- provide a clear distinction between “APEX is available” and “APEX upgrade is fully complete”.
The current asynchronous low-downtime behavior could remain the default.