So there I was..
Running adop phase=prepare in my production R12.2 environment, and I notice a warning on the screen and in the logs:
[WARNING] The following required database bug fixes <19393542> are missing from this node, <database hostname>. Refer to My Oracle Support Knowledge Document 1594274.1 to identify the patch that delivers this bug fix.
This raises some questions: How did adop know I needed a patch? How serious is this?
Consolidated ≠ Updated
I went and pulled Consolidated List of Patches and Technology Bug Fixes (aka Doc ID 1594274.1) and it’s changed a bit since we went live. Mind you, I expected to find patches in there we hadn’t applied as part of our go live; we locked our code last October before the upgrade. What I didn’t expect was to find 14 patches on the database alone. After some tedious cross checking of my inventory versus the document, I remembered checkDBpatch.sh (patch 17537119).
Patch 17537119 is really cool. This little gem compares an .xml file in the patch with your inventory, and tells you what you’re missing. Sweet!
$ unzip p17537119_R12_GENERIC.zip
| Copyright (c) 2005, 2014 Oracle and/or its affiliates. |
| All rights reserved. |
| EBS Technology Codelevel Checker |
Executing Technology Codelevel Checker version: 120.23
Enter ORACLE_HOME value : /u01/appprod/oracle/proddb/18.104.22.168
Is this a RAC environment [y/n] : n
Enter ORACLE_SID value : PROD
Bugfix XML file version: 120.0.12020000.20
Proceeding with the checks…
Getting the database release …
Setting database release to 22.214.171.124
DB connectivity successful.
Table to store Technology Codelevel Checker results exists in the database.
STARTED Pre-req Patch Testing : Tue Apr 7 14:29:20 EDT 2015
Log file for this session : ./checkDBpatch_6400.log
Got the list of bug fixes to be applied and the ones to be rolled back.
Checking against the given ORACLE_HOME
Opatch is at the required version.
Found patch records in the inventory.
All the required one-offs are not present in the given ORACLE_HOME
List of missing bug fixes:
** Please refer to MOS Doc ID “1594274.1:Oracle E-Business Suite Release 12.2: Consolidated List of Patches and Technology Bug Fixes” to find the corresponding patch that delivers the bug fix. If an overlay patch is needed for any particular patch listed, the footnote for that patch also applies to the overlay patch.**
Stored Technology Codelevel Checker results in the database successfully.
Apply the missing bug fixes and run the script again to confirm.
FINISHED Pre-req Patch Testing : Tue Apr 7 14:29:24 EDT 2015
One lies, one tells the truth
I realized that the output of checkDBpatch.sh did not agree with 1594274.1. In fact, it contained more patches than 1594274.1. I would have assumed they were aligned, and this is really confusing as a customer: Which one is the definitive source?
In the end, I went with the checkDBpatch.sh, since it was a superset of the information contained in the Consolidated List of Patches and Technology Bug Fixes. Perhaps a name change is in order?