Saturday, 3 December 2016

Step by Step to apply patches in Oracle Apps R12.2. by using adop utility

Hi Friends,

As we are knowing that applying patch in ORACLE EBS R12.2 is different than R12.1.
I would like to share here the steps for applying patching in r12.2 with concepts and details.

From R12.2.0 onward oracle has introduced online patching functionality called ADOP.

Oracle EBS 12.2 introduces Online Patching, a new feature that greatly reduces the downtime that was needed in previous releases for application of Release Update Packs (RUPs), Critical Patch Updates (CPUs), and other patches and bug fixes of various kinds.

Note: The classic patching model is designed to minimize downtime by running as fast as possible, using whatever resources are needed. In contrast, the online patching model is designed to minimize downtime by allowing patching operations to be performed while users remain on the system.

As we know in R12.2, There are 3 File System Installed.

1: FS1 – (RUN_EDITION) Production file system that is used by online users when system is being patched.

2: FS2 – (PATCH_EDITION) Exact copy of production(fs1) used by the patching tools. Changes do not affect the running application(RUN_EDITION). 

When patching is completed and we do CUTOVER, then patching tool swaps the FS1 and FS2 file systems. 
It means, FS2  file system will become FS1 , which will be access by the users.

3: FS-NE (Non-Edition) – This is a non-edition file system which stores data that is stored in a file system like log file, report file and patch top files.

There are below 5 Phases of ADOP(online patching):


1. Download the patch and unzip on patch_top.

2. Must go through Readme.html or readme.txt.

3. Prepare the system for patching

     a.  we can run the .env file . or the adop utility sets its own environment.
     b. Then run the below command for prepare the System for patching:

$ adop phase=prepare

4. Wait for the prepare phase to be complete.
Please check the status from below points:

$ adop -status 

Enter the APPS username: apps 
Enter the APPS password: 

5. After completion Prepare phase, go to next phase called Apply phase:

$adop phase=apply patches=1234567

Enter the APPS password:
Enter the SYSTEM password:
Enter the WLSADMIN password:
Please wait. Validating credentials...

6 . After completion of apply phase, goto next phase called Finalize phase:
i.e like Ready the instance for cutover

$ adop phase=finalize

Enter the APPS password:
Enter the SYSTEM password:
Enter the WLSADMIN password:
Please wait. Validating credentials...

7. After completion of Finalize phase, goto next phase called Cutover:

$ adop phase=cutover

Enter the APPS password:
Enter the SYSTEM password:
Enter the WLSADMIN password:
Please wait. Validating credentials...

Note: Keep checking Status after every Phases.

8. After completion of Cutover phase, run next Cleanup Phase
We can do this step after instance is released to Customer.

$adop phase=cleanup

Enter the APPS password:
Enter the SYSTEM password:
Enter the WLSADMIN password:

If there are some reason either the prepare or apply phase failed or any problems then you can abort this patching cycle.

$adop phase=abort

But always remember, after running abort, you must always run a full cleanup as: 

$adop phase=cleanup cleanup_mode=full

So, this will remove all columns that were added by the patches but are no longer needed because of the abort. 

And If that columns are not removed, then that may create problems in a later patching cycle.

Some more useful link:

Differences between R12.1 and R12.2

R12.2 Architecture and Concepts

Oracle Database

Important SQL Scripts

Interviews Questions And Answers

Please comment for any more query and suggestions either in comment box or Contact Us at



  1. I'm very happy to read this. This is the type of manual that
    needs to be given and not the accidental misinformation that is at the other blogs.
    Appreciate your sharing this best doc.

  2. workd todayyy '

  3. adop phase=prepare
    result:bash:adop: command not found


    1. Hi Gopi,

      Its nice to see you here.
      1. Check env. file and run correct env. file. Also Check the $PATH and $LD_LIBRARY_PATH entries and location are fine.

      2.Please check the output of wall? we faced this issue during cutover.
      $ which wall << please check this output
      If no output then add the binary location to PATH and bounce the services and again re run.

      Hope this may useful. And let us know if still issue there.

      ora-data Team.


    2. Please also check for syntax correctly without any space or any typo mistakes.
      Also no process should run on Patch file system (by mistake).
      Because it saying as command not found.

      ora-data Team,

  4. All Slots has lots and plenty of on-line slots.

  5. excellent notes.Really satisfied and appreciate the work.please help me with some docs on 12.1,12.2 to read as im a fresher DBA. My mail id is


    1. Dear User,

      I have a very nice docs for ADOP but that is Hard-copy . I will try to write here in free time.

      ora-data Team


Thank you for your comments and suggestions. It's good to talk you.