Ask Sawal

Discussion Forum
Notification Icon1
Write Answer Icon
Add Question Icon

What is dbwlm patch?

4 Answer(s) Available
Answer # 1 #

For the database (DB), we see two patches, which is exactly what is expected. Patching my databases with the July 2018 PSU, BP and RU. Advisor Webcast questions for "12c-Best Practices and Patching Oracle Database in GI". The recommendation from Oracle is to switch from Patch Set Update (PSU). S) (28566910) 26839277;DBWLM RELEASE UPDATE 12.

[9]
Edit
Query
Report
Mohammad Badal
Sportswriter (Journalist)
Answer # 2 #

A data patch is a class that contains data modification instructions. It is defined in a //Setup/Patch/Data/.php file and implements \Magento\Framework\Setup\Patch\DataPatchInterface.

A schema patch contains custom schema modification instructions. These modifications can be complex. It is defined in a //Setup/Patch/Schema/.php file and implements \Magento\Framework\Setup\Patch\SchemaPatchInterface.

Unlike the declarative schema approach, patches will only be applied once. A list of applied patches is stored in the patch_list database table. An unapplied patch will be applied when running the setup:upgrade from the Magento CLI.

Optionally, if you plan to enable rollback for your patch during module uninstallation, then you must implement \Magento\Framework\Setup\Patch\PatchRevertableInterface.

The declarative schema approach removes the version from the setup_module table (in a backward compatible way), leaving only the Composer version. Therefore, you can create all new patches and modules without specifying a setup_module version.

The sequence of installing patches is handled through a dependency-based approach. Patches can either be independent or dependent on other patches. Independent patches can be installed in any sequence. A dependent patch requires a minimal number of patches so that it can be installed successfully.

To define a dependency in a patch, add the method public static function getDependencies() to the patch class and return the class names of the patches this patch depends on. The dependency can be in any module.

The following code sample defines a data patch class that has a dependency.

Adobe Commerce and Magento Open Source do not allow you to revert a particular module data patch. However, you can revert all composer installed or non-composer installed data patches using the module:uninstall command.

Run the following command to revert all composer installed data patches:

Run the following command to revert all non-composer installed data patches:

[4]
Edit
Query
Report
kemqxw Francis
FUSING FURNACE LOADER
Answer # 3 #

Description:-

In this is article we are going to see Step by Step Applying a Patch on Oracle 19c Grid Infrastructure for a Standalone server-Oracle Restart Patch 32895426 – GI Release Update 19.12.0.0.210720 Single Instance Oracle 19c Database and Grid Infrastructure 19.12 Release Update

Step-1 Patch Information:-

1)The Grid Infrastructure patches are cumulative and include the database CPU program security content. 2)Grid home and all the Oracle homes will be patched.

Step-2 OPatch Utility Information:-

1)OPatch utility version 12.2.0.1.25 or later to apply this patch 2)For each Oracle database home and the Oracle Grid Infrastructure home that are being patched, as the respective home owner, extract the OPatch utility.

Download from My Oracle Support patch 6880880

Step-3 Validation of Oracle Inventory:-

Before beginning patch application, check the consistency of inventory information for Grid home and each Oracle home to be patched. Run the following command as respective Oracle home owner to check the consistency. If the below command is succeeded, it lists the Oracle components that are installed in the home. Save the output so you have the status prior to the patch apply.

Oracle user

/u01/app/oracle/product/19.3/oradbwr/OPatch/opatch lsinventory -detail -oh /u01/app/oracle/product/19.3/oradbwr

Grid user /u01/app/19c/grid/OPatch/opatch lsinventory -detail -oh /u01/app/19c/grid

Step-4 Download and Unzip the Patch:-

Unzip the patch as grid home owner except for installations that do not have any grid homes. For installations where this patch will be applied to the Oracle home only, the patch needs to be unzipped as the Oracle home owner.

p32876380_190000_Linux-x86-64.zip p6880880_190000_Linux-x86-64.zip

Copy the file “p6880880_190000_Linux-x86-64.zip” to ORACLE_HOME and GI_HOME Change the permission

For oracle-> oracle:oinstall

Grid-> grid:oinstall

# chown -R grid:oinstall p6880880_190000_Linux-x86-64.zip # chmod -R 775 p6880880_190000_Linux-x86-64.zip

Before

$ ./opatch version OPatch Version: 12.2.0.1.23 OPatch succeeded.

After

$ ./opatch version OPatch Version: 12.2.0.1.25 OPatch succeeded.

Step-5 Run OPatch Conflict Check:-

Determine whether any currently installed one-off patches conflict with this patch 32895426 as follows: For Grid Infrastructure home, as home user:

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32904851 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32916816 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32915586 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32918050

$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32904851 Oracle Interim Patch Installer version 12.2.0.1.25 Copyright (c) 2021, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/19c/grid Central Inventory : /u01/app/oraInventory from : /u01/app/19c/grid/oraInst.loc OPatch version : 12.2.0.1.25 OUI version : 12.2.0.7.0 Log file location : /u01/app/19c/grid/cfgtoollogs/opatch/opatch2021-07-30_03-17-08AM_1.log Invoking prereq “checkconflictagainstohwithdetail” Prereq “checkConflictAgainstOHWithDetail” passed. OPatch succeeded.

$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32916816 Oracle Interim Patch Installer version 12.2.0.1.25 Copyright (c) 2021, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/19c/grid Central Inventory : /u01/app/oraInventory from : /u01/app/19c/grid/oraInst.loc OPatch version : 12.2.0.1.25 OUI version : 12.2.0.7.0 Log file location : /u01/app/19c/grid/cfgtoollogs/opatch/opatch2021-07-30_03-18-23AM_1.log Invoking prereq “checkconflictagainstohwithdetail” Prereq “checkConflictAgainstOHWithDetail” passed. OPatch succeeded.

$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32915586 Oracle Interim Patch Installer version 12.2.0.1.25 Copyright (c) 2021, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/19c/grid Central Inventory : /u01/app/oraInventory from : /u01/app/19c/grid/oraInst.loc OPatch version : 12.2.0.1.25 OUI version : 12.2.0.7.0 Log file location : /u01/app/19c/grid/cfgtoollogs/opatch/opatch2021-07-30_03-22-46AM_1.log Invoking prereq “checkconflictagainstohwithdetail” Prereq “checkConflictAgainstOHWithDetail” passed. OPatch succeeded.

$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32918050 Oracle Interim Patch Installer version 12.2.0.1.25 Copyright (c) 2021, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/19c/grid Central Inventory : /u01/app/oraInventory from : /u01/app/19c/grid/oraInst.loc OPatch version : 12.2.0.1.25 OUI version : 12.2.0.7.0 Log file location : /u01/app/19c/grid/cfgtoollogs/opatch/opatch2021-07-30_03-23-01AM_1.log Invoking prereq “checkconflictagainstohwithdetail” Prereq “checkConflictAgainstOHWithDetail” passed. OPatch succeeded.

For Oracle home, as home user:

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32904851 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32916816

$ . oraenv ORACLE_SID = ? dbwr The Oracle base has been changed from /home/oracle to /u01/app/oracle

$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32904851 Oracle Interim Patch Installer version 12.2.0.1.25 Copyright (c) 2021, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/oracle/product/19.3/oradbwr Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/19.3/oradbwr/oraInst.loc OPatch version : 12.2.0.1.25 OUI version : 12.2.0.7.0 Log file location : /u01/app/oracle/product/19.3/oradbwr/cfgtoollogs/opatch/opatch2021-07-30_03-28-44AM_1.log Invoking prereq “checkconflictagainstohwithdetail” Prereq “checkConflictAgainstOHWithDetail” passed. OPatch succeeded.

$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /export/backup/software_backup/32895426/32916816 Oracle Interim Patch Installer version 12.2.0.1.25 Copyright (c) 2021, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/oracle/product/19.3/oradbwr Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/19.3/oradbwr/oraInst.loc OPatch version : 12.2.0.1.25 OUI version : 12.2.0.7.0 Log file location : /u01/app/oracle/product/19.3/oradbwr/cfgtoollogs/opatch/opatch2021-07-30_03-29-14AM_1.log Invoking prereq “checkconflictagainstohwithdetail” Prereq “checkConflictAgainstOHWithDetail” passed. OPatch succeeded.

Step-6 Run OPatch SystemSpace Check:- Check if enough free space is available on the ORACLE_HOME filesystem for the patches to be applied as given below: For Grid Infrastructure home, as home user:

Create file /home/grid/grid.txt with the following content: $ vi grid.txt $ cat grid.txt /export/backup/software_backup/32895426/32915586 /export/backup/software_backup/32895426/32904851 /export/backup/software_backup/32895426/32585572 /export/backup/software_backup/32895426/32918050 /export/backup/software_backup/32895426/32916816

Run the OPatch command to check if enough free space is available in the Grid Infrastructure home: $ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /home/grid/grid.txt Oracle Interim Patch Installer version 12.2.0.1.25 Copyright (c) 2021, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/19c/grid Central Inventory : /u01/app/oraInventory from : /u01/app/19c/grid/oraInst.loc OPatch version : 12.2.0.1.25 OUI version : 12.2.0.7.0 Log file location : /u01/app/19c/grid/cfgtoollogs/opatch/opatch2021-07-30_03-37-04AM_1.log Invoking prereq “checksystemspace” Prereq “checkSystemSpace” passed. OPatch succeeded.

For Oracle home, as home user:

Create file /home/oracle/oracle_list.txt with the following content: $ vi oracle_list.txt $ cat oracle_list.txt /export/backup/software_backup/32895426/32904851 /export/backup/software_backup/32895426/32916816

Run OPatch command to check if enough free space is available in the Oracle home: $ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /home/oracle/oracle_list.txt Oracle Interim Patch Installer version 12.2.0.1.25 Copyright (c) 2021, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/oracle/product/19.3/oradbwr Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/19.3/oradbwr/oraInst.loc OPatch version : 12.2.0.1.25 OUI version : 12.2.0.7.0 Log file location : /u01/app/oracle/product/19.3/oradbwr/cfgtoollogs/opatch/opatch2021-07-30_03-34-17AM_1.log Invoking prereq “checksystemspace” Prereq “checkSystemSpace” passed. OPatch succeeded.

Step- 7 One-off Patch Conflict Detection and Resolution:-

Document 1091294.1, How to use the My Oracle Support Conflict Checker Tool.

The following commands check for conflicts in both the 19c Grid home and the 19c DB homes. Login to root user #/u01/app/19c/grid/OPatch/opatchauto apply /export/backup/software_backup/32895426/32895426 -analyze

Step- 8 Apply Patch using opatchauto

#Connect as root:

In our case Grid and db home we are applying a patch:- To patch the Grid home and all Oracle RAC database homes of the same version: # opatchauto apply /32895426

# export ORACLE_HOME=/u01/app/19c/grid # export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch # opatch version OPatch Version: 12.2.0.1.25 Patch succeeded.

# /u01/app/19c/grid/OPatch/opatchauto apply /export/backup/software_backup/32895426

OPatchauto session is initiated at Fri Jul 30 03:39:25 2021 System initialization log file is /u01/app/19c/grid/cfgtoollogs/opatchautodb/systemconfig2021-07-30_03-39-29AM.log. Session log file is /u01/app/19c/grid/cfgtoollogs/opatchauto/opatchauto2021-07-30_03-39-35AM.log The id for this session is QHDI Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/19.3/oradbwr Patch applicability verified successfully on home /u01/app/oracle/product/19.3/oradbwr Executing patch validation checks on home /u01/app/oracle/product/19.3/oradbwr Patch validation checks successfully completed on home /u01/app/oracle/product/19.3/oradbwr Verifying SQL patch applicability on home /u01/app/oracle/product/19.3/oradbwr SQL patch applicability verified successfully on home /u01/app/oracle/product/19.3/oradbwr Executing OPatch prereq operations to verify patch applicability on home /u01/app/19c/grid Patch applicability verified successfully on home /u01/app/19c/grid Executing patch validation checks on home /u01/app/19c/grid Patch validation checks successfully completed on home /u01/app/19c/grid Preparing to bring down database service on home /u01/app/oracle/product/19.3/oradbwr Successfully prepared home /u01/app/oracle/product/19.3/oradbwr to bring down database service Bringing down database service on home /u01/app/oracle/product/19.3/oradbwr Following database has been stopped and will be restarted later during the session: oradbwr Database service successfully brought down on home /u01/app/oracle/product/19.3/oradbwr Performing prepatch operations on CRS – bringing down CRS service on home /u01/app/19c/grid Prepatch operation log file location: /u01/app/grid/crsdata/dbwrdb/crsconfig/hapatch_2021-07-30_03-45-10AM.log CRS service brought down successfully on home /u01/app/19c/grid Start applying binary patch on home /u01/app/oracle/product/19.3/oradbwr Binary patch applied successfully on home /u01/app/oracle/product/19.3/oradbwr Start applying binary patch on home /u01/app/19c/grid Binary patch applied successfully on home /u01/app/19c/grid Performing postpatch operations on CRS – starting CRS service on home /u01/app/19c/grid Postpatch operation log file location: /u01/app/grid/crsdata/dbwrdb/crsconfig/hapatch_2021-07-30_04-14-19AM.log CRS service started successfully on home /u01/app/19c/grid Starting database service on home /u01/app/oracle/product/19.3/oradbwr Database service successfully started on home /u01/app/oracle/product/19.3/oradbwr Preparing home /u01/app/oracle/product/19.3/oradbwr after database service restarted No step execution required……… Trying to apply SQL patch on home /u01/app/oracle/product/19.3/oradbwr SQL patch applied successfully on home /u01/app/oracle/product/19.3/oradbwr

OPatchAuto successful. ——————————–Summary——————————– Patching is completed successfully. Please find the summary as follows: Host:oradbwr SIDB Home:/u01/app/oracle/product/19.3/oradbwr Version:19.0.0.0.0 Summary: ==Following patches were SKIPPED: Patch: /export/backup/software_backup/32895426/32915586 Reason: This patch is not applicable to this specified target type – “oracle_database” Patch: /export/backup/software_backup/32895426/32585572 Reason: This patch is not applicable to this specified target type – “oracle_database” Patch: /export/backup/software_backup/32895426/32918050 Reason: This patch is not applicable to this specified target type – “oracle_database” ==Following patches were SUCCESSFULLY applied: Patch: /export/backup/software_backup/32895426/32904851 Log: /u01/app/oracle/product/19.3/INFRA/cfgtoollogs/opatchauto/core/opatch/opatch2021-07-30_03-45-38AM_1.log Patch: /export/backup/software_backup/32895426/32916816 Log: /u01/app/oracle/product/19.3/INFRA/cfgtoollogs/opatchauto/core/opatch/opatch2021-07-30_03-45-38AM_1.log Host:oradbwr SIHA Home:/u01/app/19c/grid Version:19.0.0.0.0 Summary: ==Following patches were SKIPPED: Patch: /export/backup/software_backup/32895426/32585572 Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2021-07-30_03-43-21AM_1.log Reason: /export/backup/software_backup/32895426/32585572 is not required to be applied to oracle home /u01/app/19c/grid ==Following patches were SUCCESSFULLY applied: Patch: /export/backup/software_backup/32895426/32904851 Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2021-07-30_04-02-56AM_1.log Patch: /export/backup/software_backup/32895426/32915586 Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2021-07-30_04-02-56AM_1.log Patch: /export/backup/software_backup/32895426/32916816 Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2021-07-30_04-02-56AM_1.log Patch: /export/backup/software_backup/32895426/32918050 Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2021-07-30_04-02-56AM_1.log OPatchauto session completed at Fri Jul 30 06:10:59 2021 Time taken to complete the session 91 minutes, 35 seconds

Step-9 Patch Post-Installation

Any databases that have invalid objects after the execution of datapatch should have utlrp.sql run to revalidate those objects.

Recompile invalid Objects

For example: cd $ORACLE_HOME/rdbms/admin sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> @utlrp.sql

select count(*) from all_objects where status = ‘INVALID’ group by owner;

Check the DBA_REGISTRY_SQLPATCH

SET LINESIZE 500 SET PAGESIZE 1000 SET SERVEROUT ON SET LONG 2000000 COLUMN action_time FORMAT A12 COLUMN action FORMAT A10 COLUMN patch_type FORMAT A10 COLUMN description FORMAT A32 COLUMN status FORMAT A10 COLUMN version FORMAT A10 spool check_patches_19c.txt

select CON_ID, TO_CHAR(action_time, ‘YYYY-MM-DD’) AS action_time, PATCH_ID, PATCH_TYPE, ACTION, DESCRIPTION, SOURCE_VERSION, TARGET_VERSION from CDB_REGISTRY_SQLPATCH order by CON_ID, action_time, patch_id; spool off

Check opatch lsinventory and list of patches applied in ORACLE_HOME

Oracle User

$ opatch lspatches 32876380;OJVM RELEASE UPDATE: 19.12.0.0.210720 (32876380) 32916816;OCW RELEASE UPDATE 19.12.0.0.0 (32916816) 32904851;Database Release Update : 19.12.0.0.210720 (32904851) OPatch succeeded.

Grid user sudo su – grid $ export ORACLE_HOME=/u01/app/19c/grid $ export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch $ opatch lspatches 32918050;TOMCAT RELEASE UPDATE 19.0.0.0.0 (32918050) 32916816;OCW RELEASE UPDATE 19.12.0.0.0 (32916816) 32915586;ACFS RELEASE UPDATE 19.12.0.0.0 (32915586) 32904851;Database Release Update : 19.12.0.0.210720 (32904851) 32585572;DBWLM RELEASE UPDATE 19.0.0.0.0 (32585572) 32067171;OJVM RELEASE UPDATE: 19.10.0.0.210119 (32067171) OPatch succeeded.

Connect with me:-

Telegram App:https://t.me/oracledbwr LinkedIn:https://www.linkedin.com/in/hariprasathdba Facebook:https://www.facebook.com/HariPrasathdba FB Group:https://www.facebook.com/groups/894402327369506/ FB Page : https://www.facebook.com/dbahariprasath/? Twitter : https://twitter.com/oracledbwr

[2]
Edit
Query
Report
lzhwtbkf Adams
SUMATRA OPENER
Answer # 4 #

This blogpost is about Oracle database and grid infrastructure software homes, which patches should be applied to which homes, and what it then looks like. This is fully documented by MyOracleSupport notes, but you will see that with version 18 and up this is unclear.

I keep a script-set that automatically installs and patches the Oracle database software and creates a database. This script-set is called vagrant-builder, and it can install any version with any PSU applied between 11.2.0.2 up to 19.5, which is the latest PSU of the latest version, with a few exceptions: for 11.2.0.2 and 11.2.0.3 I only created an install for the base version and the latest PSU for the database, and version 12.1.0.1 is left out entirely.

I recently reviewed my installs and verified everything is carried out correctly. First a simple overview of what I think should be applied on the database and grid infrastructure install:

(‘-‘ means not investigated) My idea of what should be applied is based on MOS note 1929745.1: Oracle recommended patches.

Grid patches, JDBC patch The JDBC patch for grid infrastructure 11.2.0.4 and 12.1.0.2 is a patch that updates java classes. Therefore the patch is a generic one, the java classes do not contain operating system dependent machine code. The table in the MOS note also show differences for the JDBC patch between = januari 2014 = july 2016 and higher. No surprise there. It’s especially easy because all versions in premier support as of the date of this blogpost do not need the JDBC patch.

Grid patches, GI PSU For the GI PSU, there are a lot of patches that contain the GI PSU, because outside of the GI patch itself, there are also combination patches that for example contain both the GI and the DB PSU. I like to keep it as simple as I can. Therefore, I stick to MOS note 2118136.2: Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), bundle patches, Patchsets and Base releases, and look at the following: – versions 11.2.0.4/12.1.0.2: Oracle Database PSU, SPU(CPU), Bundle Patches (Versions 12.1 & lower), version (11.2.0.4/12.1.0.2), GI PSU column. – versions 12.2.0.1 and up: Oracle Database Updates, version (12.2.0.1,18.0.0.0,19.0.0.0), GI Update column.

Database patches, DB PSU Here too there are multiple patches that can be used to apply the DB PSU, and I stick with MOS note 2118136.2: Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), bundle patches, Patchsets and Base releases, and look at the following: – versions 11.2.0.4/12.1.0.2: Oracle Database PSU, SPU(CPU), Bundle Patches (Versions 12.1 & lower), version (11.2.0.4/12.1.0.2), PSU column. – versions 12.2.0.1 and up: Oracle Database Updates, version (12.2.0.1,18.0.0.0,19.0.0.0), DB Update column.

Database patches, OJVM There are multiple MOS documents talking about the database JavaVM patch, and there are multiple patches, but here I stick with MOS note 2118136.2: Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), bundle patches, Patchsets and Base releases once again, and look at the following: – OJVM Update/PSU/Bundle Patches, 11.2.0.4/12.1.0.2/12.2.0.1/18.0.0.0/19.0.0.0, OJVM Update.

Okay. So we got the table above that is based on MOS note 1929745.1, and we got all the patches organised in MOS note 2118136.2. So that’s nice and simple, right?

Well, not entirely…

As I said, I was checking up on the latest PSU installs. This is the ‘opatch lspatches’ overview of 12.1.0.2 and 12.2.0.1:

For the database (DB), we see two patches, which is exactly what is expected. – The database patch, which is called release update with one and patch set update with the other. – The OJVM update which also named differently between the two versions, but very much recognisable as such. I think it’s bad that the names vary, but this is totally expected.

For the grid infrastructure (GI), we see 5 patches in both situations, but these are not the same patches between the homes! – The unnamed patch in the 12.1.0.2 home is the JDBC patch, which should only be applied to 12.1.0.2, not to higher versions. – The OCW patch (oracle clusterware). – The database patch. – The ACFS patch. The version indication in the patch name changed. – The WLM/DBWLM patch. Sadly the name changed, and the name with 12.2.0.1 is actually quite useless, I can’t tell the actual version, I have to look up the patch number. – Starting from version 12.2.0.1, there is a tomcat installation in the grid home, as this patch indicates. The name here is not helpful because it doesn’t indicate the actual version, like with the DBWLM patch.

So, outside of in my opinion bad naming, and a weird inclusion of a competing product of Oracle (Tomcat versus Weblogic), this still follows the rules of logic.

Now let’s look at the same output for version 18 and 19:

I must say that the naming in general looks more consistent, that is a good thing!

For the database (DB) we see THREE patches (I suspected 2): – The database release update patch, which nicely reports its version. – The OVM patch, which also reports its version. – This is weird. One of the grid infrastructure patches, the “OCW” patch, is applied to the database home. In fact, this is applied to the base release. Because it’s not a patch that is documented to be needed to be applied, this will sit at this version and never be updated. However, this unexpected patch is consistently applied to the base release for both version 18 and 19.

For the grid home (GI) we see an inconsistent number of patches (!) between 18.8 and 19.5. This is partly as expected, but I found an weird patch applied too. Let’s go over the patches: – The ACFS patch is totally expected and appropriately named. – The OCW patch is expected and appropriately named too. – The Database Release Update patch is expected and appropriately named. – The TOMCAT patch is expected. I don’t understand why it can’t have the RU numbering, but at least it’s consistent between 18 and 19. – The DBWLM patch is only applied to the 18 home. As far as I understand, this is how it’s supposed to be, DBWLM is not regularly updated like the other ones above, so it’s okay to have an older version of it with the other patches, and if there isn’t a patch to apply, it can simply not be there, like with version 19 in this case. – The OJVM patch puzzles me. I don’t know what to think of it. Also, it’s only applied to the base release of version 18, not to the base release of version 19. This, very much like the OCW patch, will never be updated. But I just don’t understand, this patches the java virtual machine in the database, which for GI is the ASM instance, for which, as far as I know, the java virtual machine isn’t used.

Conclusion. The naming of the patches as visible with “opatch lspatches” has certainly improved with version 18 and higher. Still it would be helpful if the grid infrastructure tomcat patch would follow the same naming of the other patches.

I am in doubts about the inclusion of two patches in the base releases of versions 18 and 19: The OJVM patch inclusion in the base release of grid infrastructure of version 18 only. The OCW patch inclusion in the base release of the database of version 18 and 19.

Addendum. After debating this on twitter and with my colleagues, I found that my OCW assumptions were incorrect. The grid infrastructure patch versions 12.2 and up reasonably clearly describes that the OCW sub-patch that is part of the GI PSU/RU patch should be applied to the database home too (if cluster ware is used for that home). So that means that if you got another version of the database home than the grid infrastructure home and it is used with grid infrastructure, you should download the grid infrastructure PSU/RU patch and apply the OCW sub patch to the oracle database home, because the OCW patch is not in the database PSU/RU patch. Because the database home patch itself is also in the grid infrastructure PSU/RU patch, I see no reason to bother downloading the database patch, and now only download and use the grid infrastructure PSU/RU patch, because that contains the database home patch as well as the OCW patch.

Addendum 2. The OCW patch being installed into the grid infrastructure home and additionally in the database home turns out to be a change with PSU 11.2.0.4.5. Before that, the OCW patch did exist with the grid infrastructure home patch, but couldn’t be applied to the database home. This change was documented in the patch readme, but wasn’t really heavily marketed by Oracle.

Addendum 3. Despite OCW being documented as being additionally applied to the database home for 11.2.0.4(.5) and higher, in my tests it was not possible to apply the 11.2.0.4 OCW patch to a database home for any 11.2.0.4 PSU; opatch fails with a dependency problem. It does succeed starting from 12.1.0.2 (12.1.0.1 not tested) and higher.

I have to say that when looking in the 11.2.0.4 OCW patch metadata, it says ‘rac’, so the OCW patch might succeed when the home is explicitly installed for a cluster database. I tested with grid infrastructure installed for a single machine (“siha”).

[2]
Edit
Query
Report
Gamal jdxp Dominik
ION EXCHANGE OPERATOR

Related Questions

No More Questions available at this moment!