Thursday, April 30, 2015

How To Check If a Patch is Applied in 12.2.x, How to Reapply a Patch

[STATEMENT]     Prepare phase status: X
[STATEMENT]     Apply phase status: P
[STATEMENT]     Cutover  phase status: R
[STATEMENT]     Abort phase status: X
[STATEMENT]     Session status: F
[STATEMENT] [Note: Y denotes that the phase is done
[STATEMENT]        N denotes that the phase has not been completed
[STATEMENT]        X denotes that the phase is not applicable
[STATEMENT]        R denotes that the phase is running (in progress) or ran
[STATEMENT]        F denotes that the phase has failed
[STATEMENT]        P (is applicable only to APPLY phase) denotes atleast
[STATEMENT]           one patch is already applied for the session id

How to Re-Apply a patch in 12.2
To Restart the patch from Scratch
adop phase=apply patches=17204589 hotpatch=yes options=forceapply

How To Check If a Patch is Applied in 12.2.x (Doc ID 1963046.1)

In EBS 12.2.x you cannot simply query the AD_BUGS table. This table may have entries for patches that were applied but later the patching cycle was aborted (not really applied).

The way to check whether a patch is really applied is to use the AD_PATCH.IS_PATCH_APPLIED pl/sql function

Usage:
select AD_PATCH.IS_PATCH_APPLIED(\'$release\',\'$appltop_id\',\'$patch_no\',\'$language\') from dual;

example sql:
SELECT adb.bug_number,ad_patch.is_patch_applied('11i', 1045, adb.bug_number)
FROM ad_bugs adb
WHERE adb.bug_number in (20034256);

or for single app tier installations:
select ad_patch.is_patch_applied('R12',-1,20034256) from dual;

expected results:
EXPLICIT = applied
NOT APPLIED = not applied / aborted

1 comment: