What is Hotpatch mode in R12.0/R12.1?
We add hotpatch to the adpatch option list to apply the patches in the environment without putting it into Maintenance Mode. This was quite widely used by the customer to apply the small patches to the environment.
This seems to have worked in many cases without issues. Customers upgrading to R12.2 may tend to use the same practice. But it is quite different in R12.2.
What is HOTPATCH mode in adop?
Online patching has been introduced in EBS 12.2. So An EBS 12.2 patch is normally applied using an ADOP online patching cycle, which is the only case tested internally before 12.2 patches are released (unless documented otherwise).
We can use Hotpatch mode only for certain patches, such as NLS and Online Help, or when it is specifically documented in the patch readme. The safe use of hotpatch mode is restricted to cases where we know in advance that the patch will not modify any existing schema or code object used by the running applications instance. If you attempt to apply an unsafe patch using hotpatch mode, the patch may fail or users may experience application failure.
Historically, some customers have made a practice of applying “small” patches using hotpatch mode. Although hotpatch mode may “appear to work” from the perspective of applying without failure, users often suffer random application runtime failures while the patch is being applied. The person applying a patch via hotpatch may not be aware of these user problems and may assume that hotpatch installation is generally safe, but it is not.
In EBS release 12.2, certain kinds of patches are even less stable for use with “hotpatch” than they were in EBS 12.1! We will not spend time describing all of the potential bad effects in detail, but generally, when an unsafe patch is applied via hotpatch the system will go through intermittent states of:
•invalid objects, missing code dependencies
•mismatches between the code level of the file system and the database
•missing column data, or other data integrity problems
•out-of-date indexes and materialized view definitions
•invalid data in run time caches
Customers may have their own rules for what is considered to be safe for hotpatch in EBS 12.1, but these rules do not apply to EBS 12.2.
Overall, Hotpatch mode must NOT be used to apply 12.2 EBS patches unless explicitly documented.
Important FAQ about HOTPATCH mode in adop
(1)When you apply the patch using hotpatch in adop, adop will still show phase APPLY status ACTIVE after having applied successfully a patch using “adop phase=apply hotpatch=yes”?
There were no errors in the adop patch logs. But adop status still shows:
Node Name Node Type Phase Status Started Finished ----------- ---- ---------- ----- --------------- -------------------------- ------------------- node_name master PREPARE NOT APPLICABLE APPLY ACTIVE 01-OCT-16 09:18:18 -04:00 01-OCT-16 09:24:05 <<<< APPLY phase is still ACTIVE FINALIZE NOT STARTED CUTOVER NOT APPLICABLE CLEANUP NOT STARTED
One cannot run adop phase=cutover or adop phase=cleanup because there is no Online Patching cycle that was started.
The patch was applied in hotpatch=yes mode on the RUN filesystem
Solution
a) When the patch is applied with adop hotpatch=yes mode, there are no Online Patching cycle started yet — all is on the RUN filesystem — so there are no adop commands that can be used like adop phase=cutover or adop phase=cleanup.
b) When one applies in hotpatch mode the APPLY phase will remain active until such time as run a PREPARE during the next patching cycle.
c) The APPLY phase is active because you can potentially run another hotpatch. Once one applies a hotpatch, there are no further actions required.
(2) How hotpatch on the run filesystem are propagated to the patch file system on the next prepare phase?
Solution
Run the prepare command when we want to start the new online patch cycle
adop phase=prepare
At that time, adop config change detector will find that the RUN filesystem has had patches applied in hotpatch mode and will sync the PATCH filesystem as part of the prepare phase.
(3) Do we have an abort phase in Hotpatch mode?
Solution
The “adop phase=abort” command is only applicable to an online patching cycle, which you would have started by running adop phase=prepare. A hotpatch CANNOT be aborted with the adop phase=abort command.
If a hotpatch session fails for an approved patch (NLS, Online Help, or documented in the patch readme) you should:
a. Investigate the error and try to complete the hotpatch session by re-applying the hotpatch with restart=yes
or
b. Apply a replacement patch with abandon=yes.
It should be possible to just abandon the hotpatch session, and then start a new ADOP online patching cycle (Make sure you are on AD/TXK Delta 6 or higher).
Related Articles
Downtime and Hotpatch apply mode in adop R12.2
Adop(Ad online patching utility) explained R12.2
R12.2 Online patching cycle Summary
40 question you must know about R12.2
How to rollback the patch after failed cutover phase in R12.2
31 Useful adop (AD online patching ) command line for R12.2
Hope you like the information on HOTPATCH mode in adop. We will be posting more such articles to help you in day-to-day APPS DBA activities. Please do provide the feedback
Hi,
So is it better to be below :
After the hotpatch fix
adop phase=cleanup
adop phase=fs_clone
So, that we are ready with next prepare which should not call fs_clone seeing apply phase=active
There is no need to do anything after hotpatch.
When you are going to start the new online patch cycle. Just do
adop phase=prepare
It will sync up the patch to the patch filesystem