Contrary to wild rumours on the internet, it was not a fear of the number 13 that led to a numbering jump from version 12c to version 18c. The jump was part of our new, more flexible release mechanism so that we can get fixes and enhancements to customers on a more frequent and predictable schedule. In a nutshell, smaller bundles of features and fixes, more frequently.
I won’t dwell on that – if you’re unfamiliar with the new strategy, the best place to start is MOS Note 2285040.1, which has a description and a FAQ. But in terms of (as the saying goes) eating one’s own dog food, I downloaded the 18.5 release update which came out this week, and applied it to my 18.3 installation and I thought I’d share the process.
You might be wondering: “Why am I skipping 18.4?” Well that can be summarised simply as ignorance on my part – I missed the email a couple of few months back that told me 18.4 was available You might also be wondering: “I read that there were 4 release updates per year, how come there is an 18.5?” That is a common misinterpretation. We aim to provide a release update each quarter, but we never said that this means there would only ever be 4.
Now I stress – I’m just sharing my experiences here, not claiming that this is your go-to guide for applying the release update. I was just updating 18c on a Windows laptop, not a server. You should always follow the installation documents that come with the release update. For example, I had to reboot my Windows machine a couple of times, because it had transpired that some webcam software I’d installed had opted to use the Microsoft C++ shared libraries in my 18c Oracle Home! I think we can safely assume your servers probably don’t have webcams on them!
Step 1: Download a fresh OPatch
Seriously…just do this every time. As it turned out, my OPatch was already at a high enough level to apply the release update, but for me, years ago I adopted the mindset: “If I am going to apply a patch, then download a new OPatch“. It just makes it a no-brainer.
Step 2: Shut everything down.
I am running single instance, no “rolling” patching for me.
Step 3: Unzip the patch, set the environment, and patch
C:\>set ORACLE_HOME=C:\oracle\product\18
C:\>set PATH=%ORACLE_HOME%\OPatch;%ORACLE_HOME%\perl\bin;%PATH%
C:\>set PERL5LIB=
C:\>cd \oracle\stage\29124511
C:\oracle\stage\29124511>opatch apply
Oracle Interim Patch Installer version 12.2.0.1.14
Copyright (c) 2019, Oracle Corporation. All rights reserved.
Oracle Home : C:\oracle\product\18
Central Inventory : C:\Program Files\Oracle\Inventory
from :
OPatch version : 12.2.0.1.14
OUI version : 12.2.0.4.0
Log file location : C:\oracle\product\18\cfgtoollogs\opatch\opatch2019-01-18_09-36-46AM_1.log
Verifying environment and performing prerequisite checks...
Conflicts/Supersets for each patch are:
Patch : 29124511
Conflict with 28267731
Conflict details:
C:\oracle\product\18\javavm\admin\classes.bin
C:\oracle\product\18\javavm\admin\lfclasses.bin
C:\oracle\product\18\javavm\jdk\jdk8\admin\classes.bin
C:\oracle\product\18\javavm\jdk\jdk8\admin\lfclasses.bin
C:\oracle\product\18\rdbms\admin\oracle.sym
C:\oracle\product\18\bin\oracle.exe
Bug Superset of 27783303
Super set bugs are:
27748954, 27604293, 27747869, 27984028, 27550341, 27389352, 27433163, 27538461, 27341181,....
Well…that didn’t go so well Now the first thing confused me was: “How could there be any pre-existing patch to conflict with?”. After all, this was a complete 18c installation that I had downloaded from OTN when it first became available. But then I remembered, this is 18.3. So while it’s true that I download it as a standalone complete piece of software, it is still a patched release of the database. This is so much better than the old days where if you wanted (say) version 9.2.0.8, you had to download 9.2.0.1 and then apply the patch on top of it before using the software. A listing of the patch inventory showed that I already had some patches installed with my initial fresh download.
C:\oracle\stage\29124511>opatch lsinventory
Oracle Interim Patch Installer version 12.2.0.1.14
Copyright (c) 2019, Oracle Corporation. All rights reserved.
Oracle Home : C:\oracle\product\18
Central Inventory : C:\Program Files\Oracle\Inventory
from :
OPatch version : 12.2.0.1.14
OUI version : 12.2.0.4.0
Log file location : C:\oracle\product\18\cfgtoollogs\opatch\opatch2019-01-18_09-39-23AM_1.log
Lsinventory Output file location : C:\oracle\product\18\cfgtoollogs\opatch\lsinv\lsinventory2019-01-18_09-39-23AM.txt
--------------------------------------------------------------------------------
Local Machine Information::
Hostname: gtx
ARU platform id: 233
ARU platform description:: Microsoft Windows (64-bit AMD)
Installed Top-level Products (1):
Oracle Database 18c 18.0.0.0.0
There are 1 products installed in this Oracle Home.
Interim patches (3) :
Patch 28267731 : applied on Sat Aug 18 17:34:22 AWST 2018
Unique Patch ID: 22301563
Patch description: "WINDOWS OJVM BUNDLE PATCH : 18.3.0.0.180717 (28267731)"
Created on 8 Jul 2018, 06:48:38 hrs PST8PDT
Bugs fixed:
27642235, 27952586, 27304131, 27461740, 27636900, 27539876
This patch overlays patches:
27783303
This patch needs patches:
27783303
as prerequisites
Patch 27908644 : applied on Sat Aug 18 17:31:26 AWST 2018
Unique Patch ID: 22299245
Patch description: "UPDATE 18.3 DATABASE CLIENT JDK IN ORACLE HOME TO JDK8U171"
Created on 29 Jun 2018, 02:51:19 hrs PST8PDT
Bugs fixed:
27908644
Patch 27783303 : applied on Sat Aug 18 17:25:42 AWST 2018
Unique Patch ID: 22238986
Patch description: "Windows Database Bundle Patch : 18.3.0.0.180717 (27783303)"
Created on 16 Aug 2018, 07:58:43 hrs PST8PDT
Bugs fixed:
27026401, 27994333, 27680509, 27314206, 27345231, 24925863, 27447452
26792891, 27236110, 27608669, 27670484, 27421101, 27240246, 27213140
27740844, 27616657, 18701017, 27177852, 27697092, 27379956, 26598422
27688099, 27580996, 27534509, 27602488, 27333978, 27098733, 27163313
27551855, 27012915, 27603841, 27224987, 28165545, 27259983, 27919283
28039953, 27357773, 27302730, 27263996, 27345498, 27517818, 27377219
26882126, 27396377, 27701279, 27285557, 27779886, 27739006, 27585755
27321834, 27748954, 27950708, 26646549, 26961415, 27061736, 27066519
27498477, 28174926, 21806121, 24489904, 27570318, 27365139, 27028251
27435537, 27869339, 27226913, 27192754, 27038986, 27537472, 27483974
27329812, 27356373, 27714373, 27422874, 27334648, 27339115, 25035594
27128580, 27952762, 27691717, 27534289, 27425622, 27434974, 27518227
27426363, 27352600, 26450454, 27631506, 27143882, 27346949, 27181521
27199245, 27252023, 27911160, 27365702, 27497950, 26586174, 12816839
27389352, 25287072, 27215007, 27345190, 27475272, 25634405, 27813267
27726269, 27463879, 27086406, 27283029, 27850736, 27338838, 27428790
27395404, 27924147, 27284286, 27430254, 27262945, 27250547, 27346329
27693713, 27347126, 27745220, 27341036, 27481765, 28174827, 27450355
27214085, 27503413, 27451182, 27359178, 27625274, 27587672, 28320117
27367194, 27782464, 27735534, 27396365, 27210872, 27501327, 27984028
27309182, 27520070, 27999597, 27381383, 27302415, 27378103, 27861909
27782339, 27254851, 27086821, 27101273, 27465480, 27232983, 27941514
27486253, 27489719, 27222626, 27560562, 27244785, 27458829, 27262650
27155549, 25743479, 27897639, 27615608, 27459909, 27267992, 27304936
27663370, 27602091, 27448162, 27434486, 26933599, 26928317, 27586810
27153755, 27348081, 27314390, 27786669, 27573408, 27532375, 26818960
25824236, 27563767, 27060859, 27126666, 27284499, 27210038, 25726981
9062315, 27301308, 27725967, 27452760, 28188330, 27834984, 27748321
26990202, 27811439, 27376871, 27654039, 27080748, 27333664, 28059199
27420715, 27315159, 27331374, 27398660, 27680162, 25035599, 27718914
27599689, 27595801, 26615291, 27040560, 26476244, 27801774, 27450783
27066451, 27935826, 28098865, 26226953, 27501465, 27558559, 27496806
27381656, 27299455, 27124867, 27496224, 27707544, 27163928, 27147979
27395416, 27532009, 21766220, 27727843, 27607805, 27271876, 26860285
27997875, 28204423, 27204133, 27627992, 27592466, 27395794, 27430802
27511196, 27302800, 27204476, 27941896, 27560702, 27053044, 24689376
27447687, 27451049, 27302695, 26843664, 27181537, 27744211, 27445462
26427905, 27106915, 27896388, 27812593, 27926113, 27487795, 27135647
27496308, 28239335, 27452897, 26986173, 27434050, 27513114, 27114112
27265816, 27274536, 27396624, 28090453, 27396666, 27573409, 27331069
27379846, 27270197, 27016503, 27934468, 27595973, 27410595, 27833369
27577758, 26966120, 27757979, 27434193, 27393421, 27032726, 27613080
27208953, 27538461, 27581484, 27321179, 27263677, 26898279, 27573154
27492916, 27961746, 27591842, 27868727, 27047831, 27783289, 27405242
27970265, 27333693, 27506774, 27112686, 27379233, 27471876, 27425507
28205874, 27544030, 27401637, 27740854, 27993298, 27193810, 27212208
27184253, 27288230, 27399499, 27786772, 27978668, 26423085, 27873643
27481406, 27182006, 27547732, 27889841, 27169796, 27501413, 27679488
27518310, 27545630, 27346644, 27625010, 27360126, 27378959, 27772815
27525909, 27945870, 27275136, 27321575, 28182503, 26336101, 27216224
27375260, 27249544, 27174948, 27294480, 27957892, 27774539, 27664702
27839732, 27166715, 27432355, 27257509, 27657920, 27190851, 27773602
27774320, 27508936, 27457666, 27330161, 27339396, 27092991, 27101652
27803665, 27396672, 27472969, 27579969, 27610269, 27302594, 27778433
27339495, 25724089, 27739957, 28023410, 27433163, 27222121, 27851757
28109698, 27732323, 27691809, 27503208, 26822620, 28264172, 26846077
27189611, 27222423, 28132287, 27121566, 27282707, 27133637, 27451531
27613247, 27560735, 27702244, 27341181, 28240153, 27479358, 27370933
27396357, 27153641, 26827699, 27238258, 27364916, 27307868, 27791223
27041253, 27090765, 27892488, 27034318, 27349393, 27412805, 27399762
27302960, 27679664, 27815347, 27399985, 27241247, 26654411, 27077948
26987877, 27354783, 27701795, 27304410, 27882176, 27119621, 26956033
27300007, 27339165, 28106402, 27451187, 27058530, 21547051, 28025398
27682288, 27398080, 27586895, 27679806, 27164122, 27243810, 13554903
27993289, 27504190, 26587652, 27212837, 27274143, 27768034, 27550341
27558861, 27060167, 27600706, 28022847, 27241221, 27131377, 26992964
27690578, 27747407, 27305318, 27230645, 27818871, 27346709, 28057267
27405696, 27523368, 27574335, 27526362, 27174938, 27931506, 27392187
27221900, 27797290, 28184554, 27401618, 27410300, 26313403, 27864737
27362190, 27439835, 24737581, 27368850, 27593587, 27751006, 23840305
26996813, 27625050, 27657467, 27073066, 27302711, 27453225, 27984314
27274456, 27522245, 27417186, 27469329, 27338946, 27396813, 27786699
27285244, 27692215, 27519708, 23003564, 27339483, 27783059, 26882316
27757567, 26527054, 27862636, 27563629, 27635508, 27508985, 26785169
27472898, 27971575, 28413955, 27302681, 27609819, 27345450, 27788520
27018734, 27766679, 27101527, 27906509, 27593389, 27625620, 27036408
27358232, 27335682, 23698980, 27144533, 27585800, 27458164, 22734786
27523800, 28169711, 27384222, 27723002, 27473800, 27310092, 27604293
27731346, 27365993, 27005278, 27320985, 27445330, 27649707, 27709046
27313687, 27249215, 25348956, 27065091, 26433972, 27339654, 27318988
27333658, 27533819, 27403244, 27520900, 27534651, 27030974, 27427805
27359368, 23310101, 27644757, 27314512, 27044575, 27223171, 27240570
27156355, 27528204, 27989849, 27143756, 27679961, 27110878, 25943740
27747869, 27734470, 27283960, 27682151, 27719187, 26894737, 27869283
27652302, 27182064, 27467543, 27334353, 26843558, 27840386, 27457891
27334316, 27372756, 27705761, 27484556, 27708711, 27753336, 27364891
27964051, 27503318, 27423251, 27865439, 27780562, 26731697, 27358241
27634676, 27726780, 27444727, 27441326, 27326204, 27812560, 27432338
27577122, 27177551, 27275776, 27558557, 27375542, 26299684, 27301568
27593263, 27258578, 27222938, 27703242, 27512439, 27508984, 27398223
27330158, 27807441, 27079545, 27404599, 27259386, 27688692, 28039471
27292213, 27392256, 27307934, 27617522, 27505603, 27450400, 27348707
27460675, 27238077, 27346984, 27364947, 26943660, 27236052, 27338912
27244337, 28021205, 28032758, 28033429, 27263276, 27579353, 27233563
27220610, 28099592, 27433870, 27426277, 26647619, 27847259, 25929650
27738679, 27502420, 25709124, 28045209, 27668379, 27318869, 27832643
27302777, 28072130, 27442041, 27430219, 27614272, 27930478
--------------------------------------------------------------------------------
OPatch succeeded.
The conflict was with 28267731, which is the OJVM patch. I remembered from older 12c versions that the remedy to this was to rollback the older JVM patch before applying the new one. So I ran
C:\oracle\stage\29124511>opatch rollback -id 28267731
and then downloaded the 18.5 OJVM patch (28790647) as well in readiness.
After that, everything went as planned. I applied the DB patch and then applied the 18.5 OJVM patch. The final step was to open my database (and all of the pluggable database) and run in the database-level patch changes using datapatch
Microsoft Windows [Version 10.0.17134.523]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\>set ORACLE_HOME=C:\oracle\product\18
C:\>set PATH=%ORACLE_HOME%\OPatch;%ORACLE_HOME%\perl\bin;%PATH%
C:\>set PERL5LIB=
C:\>cd C:\oracle\product\18\bin
C:\oracle\product\18\bin>sqlplus / as sysdba
SQL*Plus: Release 18.0.0.0.0 - Production on Fri Jan 18 12:33:19 2019
Version 18.5.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.5.0.0.0
SQL> alter pluggable database all open;
Pluggable database altered.
SQL> exit
Disconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.5.0.0.0
C:\oracle\product\18\bin>cd %ORACLE_HOME%/OPatch
C:\oracle\product\18\OPatch>datapatch -verbose
SQL Patching tool version 18.0.0.0.0 Production on Fri Jan 18 12:33:32 2019
Copyright (c) 2012, 2019, Oracle. All rights reserved.
Log file for this invocation: C:\oracle\cfgtoollogs\sqlpatch\sqlpatch_16792_2019_01_18_12_33_32\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:
Interim patch 28267731 (WINDOWS OJVM BUNDLE PATCH : 18.3.0.0.180717 (28267731)):
Binary registry: Not installed
PDB CDB$ROOT: Applied successfully on 23-AUG-18 10.31.18.372000 AM
PDB PDB$SEED: Applied successfully on 23-AUG-18 10.36.41.858000 AM
PDB PDB1: Applied successfully on 23-AUG-18 10.36.41.858000 AM
Interim patch 28790647 (OJVM RELEASE UPDATE: 18.5.0.0.190115 (28790647)):
Binary registry: Installed
PDB CDB$ROOT: Not installed
PDB PDB$SEED: Not installed
PDB PDB1: Not installed
Current state of release update SQL patches:
Binary registry:
18.5.0.0.0 Release_Update 1812202039: Installed
PDB CDB$ROOT:
Applied 18.3.0.0.0 Release_Update 1808132056 successfully on 23-AUG-18 10.31.18.366000 AM
PDB PDB$SEED:
Applied 18.3.0.0.0 Release_Update 1808132056 successfully on 23-AUG-18 10.36.41.852000 AM
PDB PDB1:
Applied 18.3.0.0.0 Release_Update 1808132056 successfully on 23-AUG-18 10.36.41.852000 AM
Adding patches to installation queue and performing prereq checks...done
Installation queue:
For the following PDBs: CDB$ROOT PDB$SEED PDB1
The following interim patches will be rolled back:
28267731 (WINDOWS OJVM BUNDLE PATCH : 18.3.0.0.180717 (28267731))
Patch 29124511 (Windows Database Bundle Patch : 18.5.0.0.190115 (29124511)):
Apply from 18.3.0.0.0 Release_Update 1808132056 to 18.5.0.0.0 Release_Update 1812202039
The following interim patches will be applied:
28790647 (OJVM RELEASE UPDATE: 18.5.0.0.190115 (28790647))
Installing patches...
Patch installation complete. Total patches installed: 9
Validating logfiles...done
Patch 28267731 rollback (pdb CDB$ROOT): SUCCESS
logfile: C:\oracle\cfgtoollogs\sqlpatch\28267731\22301563/28267731_rollback_DB18_CDBROOT_2019Jan18_12_34_14.log (no errors)
Patch 29124511 apply (pdb CDB$ROOT): SUCCESS
logfile: C:\oracle\cfgtoollogs\sqlpatch\29124511\22646084/29124511_apply_DB18_CDBROOT_2019Jan18_12_34_47.log (no errors)
Patch 28790647 apply (pdb CDB$ROOT): SUCCESS
logfile: C:\oracle\cfgtoollogs\sqlpatch\28790647\22646085/28790647_apply_DB18_CDBROOT_2019Jan18_12_35_21.log (no errors)
Patch 28267731 rollback (pdb PDB$SEED): SUCCESS
logfile: C:\oracle\cfgtoollogs\sqlpatch\28267731\22301563/28267731_rollback_DB18_PDBSEED_2019Jan18_12_35_23.log (no errors)
Patch 29124511 apply (pdb PDB$SEED): SUCCESS
logfile: C:\oracle\cfgtoollogs\sqlpatch\29124511\22646084/29124511_apply_DB18_PDBSEED_2019Jan18_12_35_37.log (no errors)
Patch 28790647 apply (pdb PDB$SEED): SUCCESS
logfile: C:\oracle\cfgtoollogs\sqlpatch\28790647\22646085/28790647_apply_DB18_PDBSEED_2019Jan18_12_36_07.log (no errors)
Patch 28267731 rollback (pdb PDB1): SUCCESS
logfile: C:\oracle\cfgtoollogs\sqlpatch\28267731\22301563/28267731_rollback_DB18_PDB1_2019Jan18_12_35_24.log (no errors)
Patch 29124511 apply (pdb PDB1): SUCCESS
logfile: C:\oracle\cfgtoollogs\sqlpatch\29124511\22646084/29124511_apply_DB18_PDB1_2019Jan18_12_35_41.log (no errors)
Patch 28790647 apply (pdb PDB1): SUCCESS
logfile: C:\oracle\cfgtoollogs\sqlpatch\28790647\22646085/28790647_apply_DB18_PDB1_2019Jan18_12_36_12.log (no errors)
SQL Patching tool complete on Fri Jan 18 12:36:17 2019
C:\oracle\product\18\OPatch>
C:\oracle\product\18\OPatch>
C:\oracle\product\18\OPatch>sqlplus / as sysdba
SQL*Plus: Release 18.0.0.0.0 - Production on Fri Jan 18 12:36:28 2019
Version 18.5.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.5.0.0.0
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 2936010432 bytes
Fixed Size 9033408 bytes
Variable Size 1023410176 bytes
Database Buffers 1895825408 bytes
Redo Buffers 7741440 bytes
Database mounted.
Database opened.
SQL> alter pluggable database all open;
Pluggable database altered.
SQL> @?/rdbms/admin/utlrp.sql
Session altered.
TIMESTAMP
----------------------------------------------------------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_BGN 2019-01-18 12:37:58
DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid
DOC> objects in the database. Recompilation time is proportional to the
DOC> number of invalid objects in the database, so this command may take
DOC> a long time to execute on a database with a large number of invalid
DOC> objects.
DOC>
DOC> Use the following queries to track recompilation progress:
DOC>
DOC> 1. Query returning the number of invalid objects remaining. This
DOC> number should decrease with time.
DOC> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);
DOC>
DOC> 2. Query returning the number of objects compiled so far. This number
DOC> should increase with time.
DOC> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;
DOC>
DOC> This script automatically chooses serial or parallel recompilation
DOC> based on the number of CPUs available (parameter cpu_count) multiplied
DOC> by the number of threads per CPU (parameter parallel_threads_per_cpu).
DOC> On RAC, this number is added across all RAC nodes.
DOC>
DOC> UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel
DOC> recompilation. Jobs are created without instance affinity so that they
DOC> can migrate across RAC nodes. Use the following queries to verify
DOC> whether UTL_RECOMP jobs are being created and run correctly:
DOC>
DOC> 1. Query showing jobs created by UTL_RECOMP
DOC> SELECT job_name FROM dba_scheduler_jobs
DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%';
DOC>
DOC> 2. Query showing UTL_RECOMP jobs that are running
DOC> SELECT job_name FROM dba_scheduler_running_jobs
DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%';
DOC>#
PL/SQL procedure successfully completed.
TIMESTAMP
----------------------------------------------------------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_END 2019-01-18 12:38:01
DOC> The following query reports the number of invalid objects.
DOC>
DOC> If the number is higher than expected, please examine the error
DOC> messages reported with each object (using SHOW ERRORS) to see if they
DOC> point to system misconfiguration or resource constraints that must be
DOC> fixed before attempting to recompile these objects.
DOC>#
OBJECTS WITH ERRORS
-------------------
0
DOC> The following query reports the number of exceptions caught during
DOC> recompilation. If this number is non-zero, please query the error
DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors
DOC> are due to misconfiguration or resource constraints that must be
DOC> fixed before objects can compile successfully.
DOC> Note: Typical compilation errors (due to coding errors) are not
DOC> logged into this table: they go into DBA_ERRORS instead.
DOC>#
ERRORS DURING RECOMPILATION
---------------------------
0
Function created.
PL/SQL procedure successfully completed.
Function dropped.
PL/SQL procedure successfully completed.
SQL>
================================
And that was all there was to it. I’ve now picked up over a 1000 fixes and improvements to the software. If you are one of those people who likes to patch rarely, I strongly recommend you have a re-think and take a closer look at the release update cycle. We want to get you better software, faster.
Enjoy your 18.5 release!
Would love to do all that.
But when in April 2019 I install the latest patch for 12.2 and end up with an unusable RMAN for backups, which only gets fixed by another patch released 6 months later, I simply have to say: someone is dreaming at Oracle QA…
(don’t blame me, I just watched The Castle again! 😉 )
Oh, sorry: April 2018, not April 2019 – (obviously!)
Oh, sorry: April 2018, not April 2019 – (obviously!)
Hi Connor,
> We want to get you better software, faster.
Hmmm…I’m very sceptical about the prospect of patching more often…I mean using the words better and faster in the same sentence as software doesn’t look promising to me;-). I really hate how MS is deploying fixes & features in Windows 10 at the same time, Oracle picked the same path, I’m afraid.
Just consider how messy Oracle patching looks from customer point of the view in this particular case.
We know that we have a known problem regarding OJVM patch conflict for 12.2 (18c, 19c).
While installing 18.4 we hit the same problem (not documented in Known issues section of release notes, btw.).
It happens that today I wanted to patch 18.3 to 18.5. I checked the “Known issues” section of the release notes, nowhere is mentioned a proper procedure to handle, by now, a well known showstopper. For starters in Oracle DBA field, patching is (still) a pure nightmare. Some of them are not even capable of downloading proper zip files and this become even worse after Oracle introduced new versioning schema. Not mentioning (recent?) behavior that MOS is releasing some parts of the CPU patches out of order (for example 11.2.0.4 OJVM JAN 2019 patch was released a week or two before DB part was released).
Of course, Oracle is a complex piece of sw, with so many moving parts that it is understandable that patching will never be a picnic. I’m glad to see however, that Oracle folks are eating their own dog food, at least some of them :).
Regards,
Ales
It is not our intention to deploy fixes and features “at the same time”. Our new release numbering is explicitly chosen to avoid that.
eg, going from 18.3.x to 18.3.y (third number) is specifically – no functional change, no optimizer change. The intent is solely bug fixes and security fixes. I would concede a slight possibility of functionality “alteration” if (say) it just so happened that you were relying on a buggy behaviour which is now resolved, but that should be extremely rare.
Changing the second number (18.x to 18.y) *can* include functional/optimizer changes, but it’s not like we’re hiding that from you.
Don’t get me wrong – I’m not claiming we’ve mastered the process yet – the motivation for the blog post was that the OJVM collision was unexpected (and is a bug). But I think we’re moving in the right direction, and getting away from the days gone by of:
Q: “What version are you running?”
A: “I’m running 10.2.0.4, patch bundle 23213, patches 132,345,123,45,123 security patch CPU Oct 2015 blah blah blah”
Cheers,
Connor
“the motivation for the blog post was that the OJVM collision was unexpected (and is a bug)”…any plans to fix this bug?
I repeated my upgrade recently on 19c and did not observe the issue. Hope this helps
excellent, I may have to upgrade to 19c….thanks for getting back to me.
I have 18.3 Windows, but there is no 18.4 or 18.5 on the download site for Windows
You get them from support.oracle.com
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html only has 18.3 for Windows. From MOS, I can get to patches and software delivery, but that only has 18.0.0.0.0. Can you send a link?
Go to patches/updates, search for:
22646085 – which is JVM 18.5
22646084 – which is Windows 18.5
I tried, but it was a bunch of superceded PSUs for 12c
Hmmm… got my numbers wrong. Try this:
Patch 29589622: WINDOWS DATABASE BUNDLE PATCH 18.6.0.0.190416
Patch 29249584: OJVM RELEASE UPDATE: 18.6.0.0.190416
I ran in this 18.3–> 18.5 issue as well.
I decided to rollback the old JVM patch, just as you: opatch rollback -id 28267731
But that did not work because the saved binaries were not in the folder “.patch_storage”.
That did not surprise me because I never installed that OJVM patch myself. I just downloaded the base 18.0 software which happened to be 18.3.
How to proceed?
Hmmm…. not sure, because I exactly the same, ie, download/install 18c for Windows, which happens to be 18.3 *and* had the patch history all intact there. Might be time to have a chat with Support on that one
I’m upgrading 18.3 to 18.6 and got this error:
Following patches have conflicts: [ 28267731 29589622 ]
What does this mean and how did you find the new patch number?
and then downloaded the 18.5 OJVM patch (28790647) as well in readiness.
Patch 29589622: WINDOWS DATABASE BUNDLE PATCH 18.6.0.0.190416
Patch 29249584: OJVM RELEASE UPDATE: 18.6.0.0.190416
So you would remove the existing OJVM and then patch as per above