Usually I don’t post twice a day but as my post scriptum for the previous blog post got longer and longer I decided to write an entry about it – maybe simply because I feel soooo happy that my patch application succeeded flawless.
For many of you the following steps may look very boring as you have done this many times. But I use the blog also to brain-dump information for myself 😉 And for those who’d like to play with it, I summarized the steps fitting exactly into our Hands-On-Lab environment.
Download
I downloaded the following patches:
- Database Proactive Bundle Patch 12.1.0.2.160419 (Apr2016) Patch 22899531
- Oracle OPatch 12.1.0.1.10 via Patch 6880880
Unzip
Then unzipped the patch into an empty directory and OPatch directly into the $ORACLE_HOME/OPatch directory in my 12.1.0.2 home. As I run everything in our HOL environment (download it here) I stored the files on my local host and mapped the directories via a VBox shared folder.
- BP into: /media/sf_CTEMP/22899531/22899531/
- OPatch into: unzip <OPATCH-ZIP> -d <ORACLE_HOME>
Prechecks
- Created an OCM response file (ocm.rsp)
- Run the conflict checks:
- $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_CTEMP/22899531/22899531/22806133
- $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_CTEMP/22899531/22899531/23006522
Not sure if the 2nd conflict check was really necessary as it is a CRS patch.
- System Space Check
- Created a file /tmp/patch_list_dbhome.txt with the following content:
/media/sf_CTEMP/22899531/22899531/22806133
/media/sf_CTEMP/22899531/22899531/23006522 - Run opatch to check if enough free space is available in the Database Home:
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt
- Created a file /tmp/patch_list_dbhome.txt with the following content:
My first attempt failed – I had to clean up a bit.
After I removed a bit of stuff (I actually deleted the 12.1.0.1 home with $ORACLE_HOME/deinstall/deinstall after switching to the 12.1.0.1 environment with . cdb1 in the HOL environment) I could install the BP.
Patch Installation
Here it struck me a bit that the logical layout of the patches readme is still very misleading. I was scrolling up and down to find the section for “Database Home only” install but realized that is is still buried under Patching Oracle RAC Database Homes and GI Together which does not make much sense. Anyhow, I stopped arguing with the owners.
The section I’m interested in here is under Case 3: Non-Oracle RAC Database homes.
- Shutdown my database(s) and my listener – in the lab env this means:
-
. cdb2 sqlplus / as sysdba SQL> shutdown immediate SQL> exit lsnrctl stop
xxxx/li>
-
- Add OPatch to the PATH
-
export PATH=$PATH:/u01/app/oracle/product/12.1.0.2/OPatch
-
- Switch to the patches directory and apply the BP
-
cd /media/sf_CTEMP/22899531/22899531/22806133 opatch apply
-
And after a while …
SQL Changes
Almost done. But don’t forget to run ./datapatch -verbose afterwards – see the readme’s section:
2.6.2 Loading Modified SQL Files into the Database
As it is a Multitenant database in my case I’ll have to start the database and the listener first, then start all pluggable databases:
. cdb2 sqlplus / as sysdba SQL> startup SQL> alter pluggable database all open; SQL> exit lsnrctl start cd $ORACLE_HOME/OPatch ./datapatch -verbose
And finally …
… after another little while …
Done!
–Mike
In the past 18 months, I have upgraded the Oracle databases and GI to 12.1.0.2 version. I have applied one-off patch 18894342 to both homes. I have applied 5 other one-off patches to the DB Home. The servers are Linux x86-64. They all have multiple single instance databases. No PDB or RAC installed. Now, I want to patch them with April PSU. The April patch release doco has a number of patches combo, system, BP and Proactive. I have run analyze and all of them have some conflicts or prereqs. Which one 22738582, 22738641, 22738657, 22899531? Thanks for any information or input.
Tim,
first question one would be:
Did you apply any BPs or PSUs so far? From your comment I can’t see this.
Second question is:
Do you use Java (OJVM) actively in the database? If you are unsure please check the blog here with OJVM in the search window.
I would recommend you the Proactive BP if you haven’t applied PSUs so far. But if your strongly vote for PSUs then your path would be:
1) GI PSU Patch:22646084 if you don’t use OJVM or GI PSU Patch:22738641 if you use the OJVM
2) Database PSU Patch:22291127 if you don’t need the OJVM part or Database PSU Patch:22738582 including the OJVM.
Whatever you choose open an SR upfront specifying exactly the conflicting patches you need (and check again with the README if any of them is included in the PSU) and request:
One Off (interim/single) fixes for patch x,y and z for exactly your OS platform (Linux x86-64 RHEL7 or whatever you have) and (important) on top of patch:xxxxxxx (respectively the PSU you have choosen).
It will take a few days – but the process should be more or less straight forward.
Once you’ve got the fixes you can put them on-top of your choosen PSU.
Cheers
Mike
I have not applied any PSU’s or BP’s to the 12.10.2 DB or GI homes. I opened an SR fourteen days ago to get merge patches for the conflicts I had when running analyze in both homes. It is in development for the past week. Can I assume that development has to ‘customize’ patches based on what is installed as far as one-off patches? I can’t believe there would not be a more standardized process. Based on our audit requirements I was hoping to have a timeline to apply the April PSU’s. I had planned to be done with test/development by mid-June. I don’ t think I will have even started by then.
Tim,
I fully see your point – and I’m "surprised" as well as this process should me more or less automatically done without much human intervention.
Please go forward and escalate and let a support manager check and report back to you the reasons why it takes so long.
Thanks
Mike
Hi Mike ,
My current database version is 12.1.0.2.4 with July 2015 PSU applied .It’s a standalone DB with no Grid Infrastructure.
Can you please tell me which patch should I apply in order to apply April 2016 PSU ?
Also let me know if there is post patch ?
Hi Rhea,
you have two choices:
Either the April 2016 PSU (or you wait until mid of July for the July 2016 PSU available in two weeks). Then you’d stay with the PSUs.
Or you jump to the Proactive Bundle Patches which would roll back your PSU first and then apply the most recent Bundle Patch.
In your case I would tend to stay with option 1 and rethink this after the next patch set or release upgrade has been done as I personally favor the BPs over PSUs.
Anyhow you’ll find a list here:
https://blogs.oracle.com/UPGRADE/entry/mos_note_1454618_1_quick
Cheers
Mike
Hi Mike,
Inspired by your previous post,
we decided to switch our databases to Proactive Bundle Patches update technology but we stuck on the problem with massive ORA-07445 [kteclck]
Errors were noticed in queries with TEMP TABLE TRANSFORMATION operation, for the test BP applying at least on three different databases
Our problem was described in SR 3-12939041691, which "hung" in Severity 1 status for more than 1 month
Can you please recommend any effective way to resolve such blocking issues? – as I explained above this freezes the DBBP update process for several databases
Sincerely, Igor
Hi Mike,
Inspired by your previous post,
we decided to switch our databases to Proactive Bundle Patches update technology
but we stuck on the problem with massive ORA-07445 [kteclck] Errors in queries with TEMP TABLE TRANSFORMATION operation on ADG standby sites for three different databases
This problem was described in SR 3-12939041691, which "hangs" in Severity 1 status for 4+ months
Can you please recommend any effective way to speed up this blocking issue resolution procedure? – as I explained above this freezes the update process for several important production databases
Sincerely, Igor
Hi Igor,
I was browsing through your SR. And I won’t comment about the issue. But you are VERY patient!
I see that it took almost 3 weeks to get the password to download the diag patch …
What you should do:
Please ask the support engineer to raise the Escalation Level to management attention and ask for the call-back by a duty manager. Raise the level again if that does not move you forward. The bug got escalated pretty early.
Please keep me in the loop how this is progressing.
Cheers
Mike
I need to apply patches on top of 12.1.0.2.161018DBBP and it asks me to use OPatch 12.1.0.1.4 and 12.1.0.7 respectively. I can’t find those version anywhere. The latest available ones for 12.1.0.2 on support .oracle.com are 12.1.0.1.0 and 12.1.0.1.1. I can download 13.9.0.0.0 though. Will that version work in 12.1.0.2.161018DBBP ?
The opatch download puzzles me as well all the time I need to grab a newer version. But I’ve given up on raising such things to support …
What you’ll do:
https://support.oracle.com/epmos/faces/ui/patch/PatchDetail.jspx?parent=DOCUMENT&sourceId=2102148.1&patchId=6880880
The choose:
Oracle 12.1.0.1.0
from the drop-down list.
Then choose it again as at least in my browser (most recent Firefox it always reverts to the standard selection "13-something".
Choose:
Oracle 12.1.0.1.0
again.
Then choose:
your OS – in my case Linux x86-64
Then you’ll notice a change in the headline saying:
"Patch 6880880: OPatch patch of version 12.2.0.1.8 for Oracle software releases 12.1.0.x (installer) and 12.2.0.x (OCT 2016)"
This should be the one you’ll use.
Cheers
Mike