18.2 was released a few days ago, so I thought I’d throw it against my 18c instance and see how things played out. This was just a single instance database, running with a single pluggable.
Step 1 for me was to download the latest OPatch. To be honest, I don’t even check whether I already have the latest version in any installed ORACLE_HOME anymore. If I’m going to apply a patch, I’m always going to download the latest OPatch unless the README explicitly tells me some reason why I should not. I figure getting the latest version reduces the chances I’ll hit problems. For me, I grabbed version “22.214.171.124.13”, but your experience may differ depending on when you encountered upon this post.
So I then downloaded patch 27676517 (note, this does not include patches for the JVM which are done separately).
From there is was just a case of following the README instructions and I had no dramas at all. Software patching went through smoothly:
[oracle@host18 27676517]$ export PATH=$PATH:$ORACLE_HOME/OPatch [oracle@host18 27676517]$ opatch apply Oracle Interim Patch Installer version 126.96.36.199.13 Copyright (c) 2018, Oracle Corporation. All rights reserved. Oracle Home : /u01/app/oracle/product/18.0.0/dbhome_1 Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/18.0.0/dbhome_1/oraInst.loc OPatch version : 188.8.131.52.13 OUI version : 184.108.40.206.0 Log file location : /u01/app/oracle/product/18.0.0/dbhome_1/cfgtoollogs/opatch/opatch2018-04-19_08-32-51AM_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 27676517 Do you want to proceed? [y|n] y User Responded with: Y All checks passed. Please shutdown Oracle instances running out of this ORACLE_HOME on the local system. (Oracle Home = '/u01/app/oracle/product/18.0.0/dbhome_1') Is the local system ready for patching? [y|n] y User Responded with: Y Backing up files... Applying interim patch '27676517' to OH '/u01/app/oracle/product/18.0.0/dbhome_1' ApplySession: Optional component(s) [ oracle.assistants.usm, 220.127.116.11.0 ] , [ oracle.has.crs, 18.104.22.168.0 ] , [ oracle.network.cman, 22.214.171.124.0 ] , [ oracle.assistants.asm, 126.96.36.199.0 ] not present in the Oracle Home or a higher version is found. Patching component oracle.network.rsf, 188.8.131.52.0... Patching component oracle.rdbms.crs, 184.108.40.206.0... Patching component oracle.assistants.acf, 220.127.116.11.0... Patching component oracle.sqlplus.ic, 18.104.22.168.0... Patching component oracle.rdbms.deconfig, 22.214.171.124.0... Patching component oracle.sqlplus, 126.96.36.199.0... Patching component oracle.rdbms.util, 188.8.131.52.0... Patching component oracle.rdbms, 184.108.40.206.0... Patching component oracle.rdbms.dbscripts, 220.127.116.11.0... Patching component oracle.assistants.deconfig, 18.104.22.168.0... Patching component oracle.assistants.server, 22.214.171.124.0... Patching component oracle.rdbms.install.plugins, 126.96.36.199.0... Patching component oracle.rdbms.rsf, 188.8.131.52.0... Patching component oracle.rdbms.rman, 184.108.40.206.0... Patching component oracle.javavm.client, 220.127.116.11.0... Patching component oracle.ldap.owm, 18.104.22.168.0... Patching component oracle.ldap.security.osdt, 22.214.171.124.0... Patch 27676517 successfully applied. Log file location: /u01/app/oracle/product/18.0.0/dbhome_1/cfgtoollogs/opatch/opatch2018-04-19_08-32-51AM_1.log OPatch succeeded.
And the datapatch stage to update the database(s) also went through without any problems.
[oracle@host18 OPatch]$ ./datapatch -verbose SQL Patching tool version 126.96.36.199.0 Production on Thu Apr 19 08:37:40 2018 Copyright (c) 2012, 2018, Oracle. All rights reserved. Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_10552_2018_04_19_08_37_40/sqlpatch_invocation.log Connecting to database...OK Gathering database info...done Note: Datapatch will only apply or rollback SQL fixes for PDBs that are in an open state, no patches will be applied to closed PDBs. Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation (Doc ID 1585822.1) Bootstrapping registry and package to current versions...done Determining current state...done Current state of interim SQL patches: No interim patches found Current state of release update SQL patches: Binary registry: 188.8.131.52.0 Release_Update 1804041635: Installed PDB CDB$ROOT: No release update patches installed PDB PDB$SEED: No release update patches installed PDB PDB1: No release update patches installed Adding patches to installation queue and performing prereq checks...done Installation queue: For the following PDBs: CDB$ROOT PDB$SEED PDB1 No interim patches need to be rolled back Patch 27676517 (Database Release Update : 184.108.40.206.180417 (27676517)): Apply from 220.127.116.11.0 Feature Release to 18.104.22.168.0 Release_Update 1804041635 No interim patches need to be applied Installing patches... Patch installation complete. Total patches installed: 3 Validating logfiles...done Patch 27676517 apply (pdb CDB$ROOT): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/27676517/22097537/27676517_apply_DB18_CDBROOT_2018Apr19_08_38_45.log (no errors) Patch 27676517 apply (pdb PDB$SEED): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/27676517/22097537/27676517_apply_DB18_PDBSEED_2018Apr19_08_39_58.log (no errors) Patch 27676517 apply (pdb PDB1): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/27676517/22097537/27676517_apply_DB18_PDB1_2018Apr19_08_40_01.log (no errors) SQL Patching tool complete on Thu Apr 19 08:41:13 2018 [oracle@host18 OPatch]$ [oracle@host18 ~]$ sqlplus scott/tiger@pdb1 SQL*Plus: Release 22.214.171.124.0 - Production on Thu Apr 19 08:44:27 2018 Version 126.96.36.199.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Enterprise Edition Release 188.8.131.52.0 - Production Version 184.108.40.206.0 SQL>
So all in all, a painless and straightforward experience for me.
One minor annoyance for me was the “Bugs Fixed” document. The README references this as:
but that document is not accessible currently. However, if you follow a different link in the README
then you will get to the document which contains the list of fixes etc.
Footnote: If you are not familiar with the new nomenclature of “Patch”, “Release Update”, etc etc, here is a good place to start
and follow the various links within that post for more information.
Addenda: When it comes to the ‘datapatch’ script, the README is perhaps a little ambiguous. More on that here