AdvancedOracle E-Business SuiteAD / Online Patching (adop)

How the adop Patching Cycle Works in Oracle EBS 12.2

Question
how does the adop patching cycle work in Oracle EBS 12.2

Also searched as

  • adop prepare apply finalize cutover cleanup
  • adop patching phases explained
  • oracle ebs online patching fs1 fs2
  • adop apply phase stuck or fails

Short answer

adop, AD Online Patching, applies patches to the offline patch edition of the file system while users keep working on the current run edition, then switches editions in a short cutover window. A standard cycle runs prepare, apply, finalize, cutover and cleanup, each invoked as its own adop phase= command.

Applies to: Oracle E-Business Suite 12.2.x (Online Patching / Edition-Based Redefinition architecture)

Run a standard adop patching cycle

  1. 1Confirm system readiness with adop -status, and run adop phase=fs_clone first if fs1 and fs2 are not already in sync before starting a new cycle.
  2. 2Run adop phase=prepare to create a new patch edition on the patch file system and validate prerequisites.
  3. 3Run adop phase=apply patches=<patch numbers> to apply one or more patches to the offline patch file system while users keep working on the run file system.
  4. 4Review the apply log under $APPL_TOP/admin/<SID>/log for errors; a failed apply phase can be rerun after the underlying issue is fixed, since adop resumes from the failure point rather than starting over.
  5. 5Run adop phase=finalize to perform steps that must complete before cutover, including compiling and validating packages on the patch edition.
  6. 6Run adop phase=cutover during a short maintenance window; this is the only phase that requires application downtime, typically a few minutes, since it swaps the run and patch file systems.
  7. 7Run adop phase=cleanup to remove the old run edition data and reclaim space once the cutover is confirmed stable.
  8. 8Use adop phase=abort if a cycle needs to be rolled back before cutover completes.

Why dual file systems (fs1/fs2)

Online patching keeps two complete copies of the application tier, fs1 and fs2. At any time one is the run edition serving users and the other is the patch edition being updated, so patching does not require downtime until the brief cutover phase swaps them.

On the database side, each patching cycle creates a new Edition-Based Redefinition edition, so PL/SQL objects can be recompiled and changed on the patch edition without breaking sessions still running against the current run edition's objects.

What each phase actually does

Prepare creates the new patch edition, checks the file system is in sync, and verifies patch prerequisites and locks before any patch content is applied.

Apply applies the patch driver's actions, copy, generate and database changes flagged hotpatch or nonhotpatch, to the patch edition; hotpatch-eligible changes can apply to the run edition immediately for the zero-downtime portion of a patch.

Finalize completes housekeeping before the swap, cutover performs the actual edition switch and restarts services on the new run file system, and cleanup drops obsolete edition data and superseded PL/SQL objects once the cycle is stable.

Common failure points and recovery

Merging related patches with admrgpch before running apply reduces the number of cutovers needed for a large patch set, since multiple merged patches can go through prepare, apply, finalize and cutover as a single cycle.

adop tracks session and cycle state, so a failed phase can be restarted with the same command after fixing the underlying issue, an invalid object, a missing prerequisite patch, or a failed worker, rather than restarting the whole cycle. Check ad_adop_session_patches and the worker-level adzdpatch.log for the specific failure before rerunning.

Common pitfalls

  • !Running cutover during business hours without warning users about the brief outage
  • !Skipping fs_clone after a failed or aborted cycle, leaving fs1 and fs2 out of sync for the next cycle
  • !Not merging related patches with admrgpch before apply, causing more cutovers than necessary
  • !Ignoring invalid objects left after finalize instead of investigating them before cutover
  • !Running cleanup too soon after cutover, before confirming stability, which makes rollback harder
  • !Multiple DBAs running adop concurrently on the same instance without checking adop -status first, causing phase order conflicts

How an ERP-grounded AI assistant handles this

An AI assistant grounded in the instance's AD admin logs can summarize a failed apply phase's adzdpatch.log across thousands of worker lines, point directly at the failing object and error, and suggest whether the fix is a reapply, an invalid-object recompile, or a missing prerequisite patch, saving a DBA the usual manual log scroll during a patching window.

Frequently asked questions

How long does cutover actually take?

Typically a few minutes, since cutover only swaps the run and patch file system pointers and restarts services rather than reapplying any patch content, which already completed during the apply and finalize phases.

Can I apply multiple patches in a single adop cycle?

Yes. Merge the patches with admrgpch first, or list multiple patch numbers on the same adop phase=apply command, so they go through prepare, apply, finalize and cutover together instead of requiring a separate cutover per patch.

What does hotpatch mean in adop?

A hotpatch-eligible action is safe to apply directly to the run edition without waiting for cutover, typically simple, low-risk changes, which is why some patch content appears to take effect immediately during the apply phase.

Does the apply phase require any downtime?

No. Apply runs against the offline patch edition while users continue on the run edition; only the cutover phase requires a short application outage.

Related

Advanced

How to Extend an OAF Page in Oracle EBS Without Touching Seeded Code

Use OAF Personalization, through the Personalize Self-Service Defn responsibility or the Personalize Page link, for layout, prompts and simple rules, and Controller Extension, a custom Java class that extends the seeded controller, for logic changes such as new validation or events. Both approaches survive patching because the seeded XML and Java classes are never edited directly.

How-to

How to Use Forms Personalization in Oracle EBS (No CUSTOM.pll Needed)

Forms Personalization lets you change field properties, set defaults, run built-ins and show messages on any Oracle Forms screen through Help > Diagnostics > Custom Code > Personalize, with no custom library or forms compile required. Rules are stored per form and responsibility in FND_FORM_CUSTOM_RULES and apply at runtime for every user who opens that form.

How-to

SQL to Find Responsibilities Assigned to a User in Oracle EBS

Join FND_USER to FND_USER_RESP_GROUPS on USER_ID, then to FND_RESPONSIBILITY_TL on RESPONSIBILITY_ID and APPLICATION_ID to get the responsibility name, filtering the END_DATE columns to show only currently active assignments. This is the standard query DBAs and support teams use instead of clicking through System Administrator > Security > User > Define for every user.

Error fix

Fix FRM-40735: WHEN-VALIDATE-RECORD Trigger Raised Unhandled Exception ORA-06508

FRM-40735 with ORA-06508 almost always means a PL/SQL package used by the form was recompiled while your session still held the old cached state, or the trigger's own exception handling does not trap a real data error. Exit the form completely and re-enter it; if the error repeats for all users, recompile invalid objects on the database and check for a bad custom trigger.

Error fix

Oracle EBS Concurrent Manager Will Not Start: How to Fix It

A concurrent manager that will not start in Oracle EBS is almost always one of three things: the node registered in FND_NODES no longer matches the actual hostname (common after cloning), stale OS processes are blocking a fresh start, or the database and listener the manager connects to are unreachable. Check the internal manager log, verify the node name, clear stale processes, and restart with adcmctl.sh.

Error fix

Fix Oracle EBS Workflow Notification Mailer Not Sending Emails

When EBS notifications stop reaching inboxes, check the mailer status in Oracle Applications Manager (OAM) Workflow Manager first - a Suspended or Error status almost always points at an SMTP or IMAP connectivity or credential problem introduced by a mail server change, not at Workflow itself. Fix the mail server configuration, restart the mailer component, and requeue the backlog.

AI for ERP

AI for Oracle E-Business Suite, Without Leaving On-Prem

Add AI to Oracle E-Business Suite 12.2 without moving off-prem. Query concurrent programs, interface tables, and AP/PO data with a private LLM. See how.

AI for ERP

Oracle ERP AI Consulting: What a Partner Should Deliver

What to demand from an Oracle ERP AI consulting partner across EBS, JD Edwards, NetSuite, and Fusion Cloud: interface tables, APIs, and buyer questions.

Stuck on Oracle E-Business Suite?

Talk to engineers who work inside Oracle E-Business Suite every week, and who build private AI that answers these questions from your own ERP data.