Patching my databases with the April 2018 PSU, BP and RU (2024)

Patching is fun, isn’t it? And you may have heard already that the April 2018 patch bundles got released on April 17, 2018. And I thought I share a little bit of fun with you with a quick guide to patching my databases with the April 2018 PSU, BP and RU. For this exercise I use our Hands-On Lab with Oracle 11.2.0.4, Oracle 12.1.0.2 and Oracle 12.2.0.1 installed.

Prerequisites for patching my databases with the April 2018 PSU, BP and RU

First of all, in my VBox environment, I shutdown the databases for each release before patching them – and the central listener I use from within the Oracle 12.2.0.1 environment:

. cdb2lsnrctl stop

In addition I will update OPatch in my 12.2 home and use this version for all 12c patch activities on the system. Please download the newest OPatch version 12.2.0.1.13 via patch 6880880 from MyOracle Support. Choose “12.2.0.1.0” in the drop-down list.

Patching my databases with the April 2018 PSU, BP and RU (1)

Download OPatch 12.2.0.1.13 via MyOracle Support’s patch 6880880

The readme explains that the previous OPatch directory should be backed up and the new OPatch should be unpacked from the destination’s $ORACLE_HOME. I just heard from Kay Liesenfeld that “removing” the old directory may not be a good idea as he had trouble with the most recent GI patches then.

For the 11g database patching I will use my current OPatch version 11.2.0.3.12.

Furthermore, to identify the correct patches for each release I used MOS Note: 2353306.1 (Critical Patch Update (CPU) Program April 2018 Patch Availability Document (PAD)) as neither the Availability and Known Issues notes nor the Patch Download Assistant were updated two days after patch release. Go to bullet point 3.1.4 in MOS Note: 2353306.1 for Oracle Database Patch Availability. The other notes should be updated already when you read this blog post.

MOS Note: 2118136.2 – Assistant: Download Reference for Oracle Database/GI RU, BP, PSU was not updated by the time I wrote this blog post but is now.

Patching Oracle 11.2.0.4 with the April 2018 Patch Set Update

To patch my Oracle 11.2.0.4 databases I downloaded the Patch Set Update April 2018 as Bundle Patches in Oracle 11g are meant for Engineered Systems only:

First steps after changing into the patches directory are the checks:

cd /media/sf_TEMP/p27338049_112040_Linux-x86-64/27338049$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./Oracle Interim Patch Installer version 11.2.0.3.12Copyright (c) 2018, Oracle Corporation. All rights reserved.PREREQ sessionOracle Home : /u01/app/oracle/product/11.2.0.4Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/11.2.0.4/oraInst.locOPatch version : 11.2.0.3.12OUI version : 11.2.0.4.0Log file location : /u01/app/oracle/product/11.2.0.4/cfgtoollogs/opatch/opatch2018-04-20_14-50-41PM_1.logInvoking prereq "checkconflictagainstohwithdetail"Prereq "checkConflictAgainstOHWithDetail" passed.OPatch succeeded.

Once the check is passed I can apply the patch – and of course, I must ensure to have shutdown my databases (UPGR and FTEX in the hands-on lab) first:

$ $ORACLE_HOME/OPatch/opatch applyOracle Interim Patch Installer version 11.2.0.3.12Copyright (c) 2018, Oracle Corporation. All rights reserved.Oracle Home : /u01/app/oracle/product/11.2.0.4Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/11.2.0.4/oraInst.locOPatch version : 11.2.0.3.12OUI version : 11.2.0.4.0Log file location : /u01/app/oracle/product/11.2.0.4/cfgtoollogs/opatch/opatch2018-04-20_14-54-30PM_1.logVerifying environment and performing prerequisite checks...OPatch continues with these patches: 27338049 ...Backing up files...Applying sub-patch '27338049' to OH '/u01/app/oracle/product/11.2.0.4'...Patching component oracle.rdbms, 11.2.0.4.0...Patching component oracle.rdbms.rman, 11.2.0.4.0......Composite patch 27338049 successfully applied.Log file location: /u01/app/oracle/product/11.2.0.4/cfgtoollogs/opatch/opatch2018-04-20_14-54-30PM_1.logOPatch succeeded.

Finally I will have to execute catbundle.sql in all my 11.2.0.4 databases (UPGR and FTEX):

. upgrcd $ORACLE_HOME/rdbms/adminsqlplus / as sysdba@catbundle.sql psu applyexit

Done!

Patching Oracle 12.1.0.2 with the April 2018 Bundle Patch

For Oracle Database 12.1.0.2 I downloaded the Database Proactive Bundle Patch April 2018:

This patch bundle contains also Clusterware and Client patches – but the database patch is actually 27338029. According to the REAME.html I execute the conflict check – but in my case using the 12.2.0.1.12 OPatch previously installed:

/u01/app/oracle/product/12.2.0.1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_TEMP/p27486326_121020_Linux-x86-64/27486326/27338029

Both checks succeed.Afterwards I initiate the space check:

/u01/app/oracle/product/12.2.0.1/OPatch/opatch prereq CheckSystemSpace --phBaseDir /media/sf_TEMP/p27486326_121020_Linux-x86-64/27486326/27338029

Now I am applying the patch:

$ cd /media/sf_TEMP/p27486326_121020_Linux-x86-64/27486326/27338029$ /u01/app/oracle/product/12.2.0.1/OPatch/opatch applyOracle Interim Patch Installer version 12.2.0.1.13Copyright (c) 2018, Oracle Corporation. All rights reserved.Oracle Home : /u01/app/oracle/product/12.1.0.2Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/12.1.0.2/oraInst.locOPatch version : 12.2.0.1.13OUI version : 12.1.0.2.0Log file location : /u01/app/oracle/product/12.1.0.2/cfgtoollogs/opatch/opatch2018-04-19_20-51-40PM_1.logVerifying environment and performing prerequisite checks...OPatch continues with these patches: 27338029 ...Backing up files...Applying sub-patch '27338029' to OH '/u01/app/oracle/product/12.1.0.2'ApplySession: Optional component(s) [ oracle.has.crs, 12.1.0.2.0 ] , [ oracle.assistants.asm, 12.1.0.2.0 ] not present in the Oracle Home or a higher version is found....Composite patch 27338029 successfully applied.Log file location: /u01/app/oracle/product/12.1.0.2/cfgtoollogs/opatch/opatch2018-04-19_20-51-40PM_1.logOPatch succeeded.

In addition, datapatch needs to be executed now in both existing databases. Hence I’m starting up both databases, make sure the environment is set correctly (in the Lab: . db121 and . cdb1) and invoke datapatch:

$ /u01/app/oracle/product/12.2.0.1/OPatch/datapatch -verboseSQL Patching tool version 12.1.0.2.0 Production on Thu Apr 19 21:00:31 2018Copyright (c) 2012, 2017, Oracle. All rights reserved.Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_10973_2018_04_19_21_00_31/sqlpatch_invocation.logConnecting to database...OKBootstrapping registry and package to current versions...doneDetermining current state...doneCurrent state of SQL patches:Bundle series DBBP: ID 180417 in the binary registry and ID 180116 in the SQL registryAdding patches to installation queue and performing prereq checks...Installation queue: Nothing to roll back The following patches will be applied:  27338029 (DATABASE BUNDLE PATCH 12.1.0.2.180417)Installing patches...Patch installation complete. Total patches installed: 1Validating logfiles...Patch 27338029 apply: SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/27338029/22055339/27338029_apply_DB12_2018Apr19_21_00_56.log (no errors)SQL Patching tool complete on Thu Apr 19 21:01:02 2018

Once I repeated this for the second database, patching for both 12.1.0.2 databases done as well.

Patching Oracle 12.2.0.1 with the April 2018 Update

As you may know already, there are no PSUs anymore in Oracle 12.2 and higher. You should patch with the Updates. Therefore I downloaded the Database April 2018 Update first. As my favorite note to download the correct patch just gets updated overnight I used MOS Note:2239820.1 – 12.2.0.1 Base Release – Availability and Known Issues to access the patch.

It contains the Database 12.2.0.1 Update April 2018 and the OJVM (which I won’t need). I unpack it to a share: /media/sf_TEMP and install it from there.

$ cd /media/sf_TEMP/p27726453_122010_Linux-x86-64/27726453/27674384[CDB2] oracle@localhost:/media/sf_TEMP/p27726453_122010_Linux-x86-64/27726453/27674384

Then I call opatch for a conflict check:

$ /u01/app/oracle/product/12.2.0.1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./Oracle Interim Patch Installer version 12.2.0.1.13Copyright (c) 2018, Oracle Corporation. All rights reserved.PREREQ sessionOracle Home : /u01/app/oracle/product/12.2.0.1Central Inventory : /u01/app/oraInventoryfrom : /u01/app/oracle/product/12.2.0.1/oraInst.locOPatch version : 12.2.0.1.13OUI version : 12.2.0.1.4Log file location : /u01/app/oracle/product/12.2.0.1/cfgtoollogs/opatch/opatch2018-04-19_14-51-43PM_1.logInvoking prereq "checkconflictagainstohwithdetail"Prereq "checkConflictAgainstOHWithDetail" passed.OPatch succeeded.

And finally I apply the patch – I’m still in /media/sf_TEMP/p27726453_122010_Linux-x86-64/27726453/27674384, the directory where the Database 2018 Update is located in.

$ /u01/app/oracle/product/12.2.0.1/OPatch/opatch applyOracle Interim Patch Installer version 12.2.0.1.13Copyright (c) 2018, Oracle Corporation. All rights reserved.Oracle Home : /u01/app/oracle/product/12.2.0.1Central Inventory : /u01/app/oraInventoryfrom : /u01/app/oracle/product/12.2.0.1/oraInst.locOPatch version : 12.2.0.1.13OUI version : 12.2.0.1.4Log file location : /u01/app/oracle/product/12.2.0.1/cfgtoollogs/opatch/opatch2018-04-19_14-52-04PM_1.logVerifying environment and performing prerequisite checks...OPatch continues with these patches: 27674384...Backing up files...Applying interim patch '27674384' to OH '/u01/app/oracle/product/12.2.0.1'ApplySession: Optional component(s) [ oracle.has.crs, 12.2.0.1.0 ] , [ oracle.oid.client, 12.2.0.1.0 ] , [ oracle.ons.daemon, 12.2.0.1.0 ] , [ oracle.network.cman, 12.2.0.1.0 ] not present in the Oracle Home or a higher version is found.Patching component oracle.network.rsf, 12.2.0.1.0......Patching component oracle.sdo, 12.2.0.1.0...Patch 27674384 successfully applied.Sub-set patch [27105253] has become inactive due to the application of a super-set patch [27674384].Please refer to Doc ID 2161861.1 for any possible further required actions.Log file location: /u01/app/oracle/product/12.2.0.1/cfgtoollogs/opatch/opatch2018-04-19_14-52-04PM_1.logOPatch succeeded.

To finalize the patch application I need to start my database(s) and all PDBs:

SQL> startupSQL> alter pluggable database all open;SQL> exit

And then run datapatch:

$ /u01/app/oracle/product/12.2.0.1/OPatch/datapatch -verboseSQL Patching tool version 12.2.0.1.0 Production on Thu Apr 19 14:55:05 2018Copyright (c) 2012, 2018, Oracle. All rights reserved.Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_7777_2018_04_19_14_55_05/sqlpatch_invocation.log...For the following PDBs: CDB$ROOT PDB$SEEDThe following patches will be rolled back:25862693 (DATABASE BUNDLE PATCH 12.2.0.1.170516)The following patches will be applied:27674384 (DATABASE APR 2018 RELEASE UPDATE 12.2.0.1.180417)Installing patches...Patch installation complete. Total patches installed: 4Validating logfiles...

That’s it.

At the end of the entire exercise I can restart my listener finally:

. cdb2lsnrctl start

–Mike

Share this:

Related

Patching my databases with the April 2018 PSU, BP and RU (2024)
Top Articles
Latest Posts
Article information

Author: Merrill Bechtelar CPA

Last Updated:

Views: 5690

Rating: 5 / 5 (70 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Merrill Bechtelar CPA

Birthday: 1996-05-19

Address: Apt. 114 873 White Lodge, Libbyfurt, CA 93006

Phone: +5983010455207

Job: Legacy Representative

Hobby: Blacksmithing, Urban exploration, Sudoku, Slacklining, Creative writing, Community, Letterboxing

Introduction: My name is Merrill Bechtelar CPA, I am a clean, agreeable, glorious, magnificent, witty, enchanting, comfortable person who loves writing and wants to share my knowledge and understanding with you.