Your question is answered in the documentation "Oracle E-Business Suite Maintenance Guide 12.2"
Prepare the system for patching by running the following command to start a new patching cycle:
$ adop phase=prepare
In this step, the patch file system APPL_TOP is synchronized with the run file system APPL_TOP. This can be done by either of two methods, the first is the default:
Method 1 - Identify the patches that were applied to the run APPL_TOP and apply them to the patch APPL_TOP. The following steps are performed automatically:
The list of patches that need to be applied to the patch APPL_TOP are identified from the database.
The merged patches are applied using the adop utility.
This lightweight process is the preferred approach. The adop tool identifies the delta patches to be applied, and applies them silently to the current patch APPL_TOP. As this procedure only requires the application of delta patches, it is relatively fast compared to Method 2 (below).
Method 2 - Create a new patch file system by cloning the run file system.
This method is useful if the APPL_TOPs have become very unsynchronized (meaning that there would be a large number of delta patches to apply). It is a heavyweight process, taking a backup of the entire current patch APPL_TOP and then cloning the run APPL_TOP to create a new patch APPL_TOP. A total of least 75 GB of free disk space is required. Also, you will need at least 25 GB of free space in your temporary directory (typically /tmp). This method is more resource intensive, and will only be used when the state of the patch file system is unknown.
The steps are as follows:
The fs_clone phase is run using the following command:
$ adop phase=fs_clone
This command must be invoked from the run file system, before the next prepare phase is run.
"Identify the patches that were applied to the run APPL_TOP (..)"
How does the Run file system suddenly have patches which are not on the Patch file system ?
Please note that PREPARE phase only synchronizes APPL_TOP or application stack so if you have applied any patches using adpatch or adop then PREPARE will synchronize that as well. But the important point to note is that PREPARE phase does not synchronize Technology Stack so if you have applied any Tech stack patches using OPatch or Smart update then PREPARE phase will not sync that. So please note that if you applied tech stack patches on run file system instead of patch file system and if you start another online patching cycle without doing fs_clone then all your technology patches could be lost as your patch file system did not contain these patches and once you do cutover and fs_clone in new patching cycle, it will overwrite old run file system with patch file system.
To summarize, follow these simple steps if you are using tech stack patches. This example will show you the difference between prepare and fs_clone clearly,
1. Start adop cycle using prepare phase
2. apply tech stack patches using traditional opatch or smart update
3. Apply any app stack patches if required in this cycle.
3. run rest of the adop phases including finalize, cutover, cleanup
4. Clone the file systems using fs_clone
Hope this clarifies.
<Moderator Edit - deleted link spam - pl see FAQ link at top of this page on where to include links>