7 Patching Oracle Database Appliance
To keep Oracle Database Appliance running with the latest software, check for and apply Oracle Database Appliance patch bundles when they are released.
- About Patching Oracle Database Appliance
Use the Oracle Database Appliance Patch Bundle to patch your appliance. - About Patching Pre-Checks
Patching pre-checks are designed to detect problems that might be encountered during patching and flag those issues. - Running Patching Pre-Checks Before Applying Patches
After updating the repository with patches, use the pre-checks to reduce potential update problems, and then apply patches. - Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line
Follow these steps to apply patches to your Oracle Database Appliance bare metal deployment and existing Oracle Database homes, using CLI commands. - Patching Oracle Database Appliance Using the Browser User Interface
Upload the Oracle Database Appliance Server Patch to the patch repository, deploy the patch bundle using the Browser User Interface, and then update the DCS agent and components using CLI commands. - Updating Oracle Database Appliance Repository with Database Clone Files Using the CLI
Follow these steps to update the Oracle Database Appliance repository with Oracle Database clone files for the latest release using CLI commands. - Patching Existing Database Homes to the Latest Release Using the Browser User Interface
Use the Browser User Interface to patch database homes to the latest release. - Patching Oracle Database Appliance Virtualized Platform
Follow these steps to apply patches to Oracle Database Appliance OAKCLI Virtualized Platform using CLI commands. - Verifying That HAIP is Disabled After Patching to Oracle Database Appliance Release 18.8
After patching to Oracle Database Appliance release 18.8, verify that High-Availability IP (HAIP) is disabled. - Applying Additional Patches and Updates
Configure additional patch repositories and patch your operating system and databases to ensure that your deployment has the latest updates and security fixes. - Cleaning Up the Patch Repository
Use the Browser User Interface or Command Line Interface to delete obsolete or old patches from the repository. - About Upgrading to a Different Database Home
Understand how to upgrade to a different database home using either the Browser User Interface orodacli
commands.
Related Topics
About Patching Oracle Database Appliance
Use the Oracle Database Appliance Patch Bundle to patch your appliance.
Patches offer new features and may improve the functionality of existing features.
About Oracle Database Appliance Patch Bundles
The Oracle Database Appliance Patch Bundle contains the latest patches for DCS Admin, DCS Components, OAK, Oracle Grid Infrastructure, Oracle Database homes, enhancements, and fixes.
The Oracle Database Appliance Release Notes include information about the latest Oracle Database Appliance patch bundle and a list of component versions in the patch bundle. Oracle recommends updating the appliance with the latest Oracle Database Appliance software version to take advantage of new features, fixes, and the latest supported component versions. See the Oracle Database Appliance Release Notes for the upgrade paths.
Caution:
Do not patch Oracle Database Appliance using individual patches for Oracle Grid Infrastructure or Oracle Linux. Also do not use individual infrastructure patches, such as firmware patches. You must only use Oracle Database Appliance patches. If you use patches that are not intended for Oracle Database Appliance, or if you use OPatch, or a similar patching tool, then Oracle Database Appliance inventory is not updated, and you cannot complete future patch updates. If you apply out-of-cycle Oracle Database Release Update (RU), then ensure that you follow the recommendations described in the Readme for the RU.The patch bundle provides all relevant patches for the entire system, including the following:
-
BIOS
-
Hardware drivers
-
Hardware Management Pack (HWM) and firmware drivers for various components
-
Oracle Appliance Manager
-
Oracle Linux
-
Oracle VM Server
-
Java Development Kit (JDK)
-
Oracle Integrated Lights Out Manager (Oracle ILOM)
-
Oracle Database Bundle Patch (BP), Oracle Database Patch Set Update (PSU), and Oracle Database Release Update (RU)
-
Oracle Auto Service Request (Oracle ASR)
-
Oracle Grid Infrastructure
-
Oracle Intelligent Platform Management Interface (Oracle IPMI)
-
Network Card Patches for relevant hardware models
About Updating Oracle Linux RPMs
While not recommended, you can update some Oracle Linux RPMs for database nodes. Do not update or customize Oracle Linux kernel, Oracle Optimal Flexible Architecture, Oracle InfiniBand, or related software. Other software may be installed, updated, or customized. However, the Oracle Database Appliance update may not carry newer version dependencies of customized components. Therefore, you might be required to remove and subsequently reapply site-specific changes to successfully update Oracle Database Appliance in the future.
Caution:
For database nodes, do not update the following:
-
Oracle Linux Kernel (kernel*)
-
Oracle Optimal Flexible Architecture (ofa*)
-
Oracle InfiniBand-related packages (ofed*)
For storage, do not apply any RPM updates.
About Using a Different Version of Java Development Kit (JDK)
Oracle Database Appliance depends on a specific version of JDK. If you want to use a different version of JDK for a specific application, then install it in a different directory and only point to it for that application.
Parent topic: Patching Oracle Database Appliance
About Patching Pre-Checks
Patching pre-checks are designed to detect problems that might be encountered during patching and flag those issues.
The pre-checks view the state of the appliance, including the version and hardware specific upgrades, verify that the necessary conditions and checks are complete before attempting an upgrade, and identify conditions that might cause an upgrade to fail. You can avoid potential patching problems by correcting the conditions and resolving the issues before applying the patch.
The pre-checks commands are available on Oracle Database Appliance release 12.2.1.2.0 or later. Update the DCS agent to support the pre-checks commands.
Note:
Patching pre-checks are available only when patching ODACLI stack. If you are patching and migrating from OAKCLI to ODACLI stack for bare metal system, then follow the procedure in the topic Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line. For patching Virtualized Platform, see the topic Patching Oracle Database Appliance Virtualized Platform.Components Verified by Patching Pre-Checks
Check | Component Verified |
---|---|
System patching pre-checks |
Checks that the agent is online on all nodes Checks that there is sufficient space for the update Validates the minimum agent version and validates the patching tag Confirms that a valid patch is in the repository and calculates the patch bundle |
Server patching pre-checks |
Confirms that Oracle Grid Infrastructure patch is installed Confirms that Oracle Clusterware is running on all nodes Performs a check for required components using Analyzes the patch using Performs a patch conflict check Checks the available disk space Confirms that the yum repository directory exists Performs a Performs a test (dry run) yum update to check for dependencies in the RPMs |
DBHome patching pre-checks |
Confirms that the Oracle Grid Infrastructure is installed Confirms that Oracle Clusterware is running on all nodes Confirms that the Oracle Grid Infrastructure is upgraded before upgrading other components Validates that there is sufficient space available in local mount Performs a check for required components using Analyzes the patch using Performs a patch conflict check and determines if a rollback of database patches is required |
Storage pre-checks |
Validates storage patch location and tag Validates Oracle ASM disk groups status |
Parent topic: Patching Oracle Database Appliance
Running Patching Pre-Checks Before Applying Patches
After updating the repository with patches, use the pre-checks to reduce potential update problems, and then apply patches.
Note:
Follow the procedure in this topic only when patching ODACLI stack. If you are patching and migrating from OAKCLI to ODACLI stack for bare metal system, then follow the procedure in the topic Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line. For patching Virtualized Platform, see the topic Patching Oracle Database Appliance Virtualized Platform.dcs-agent
is updated.
Parent topic: Patching Oracle Database Appliance
Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line
Follow these steps to apply patches to your Oracle Database Appliance bare metal deployment and existing Oracle Database homes, using CLI commands.
Patching Oracle Database Appliance Using the Browser User Interface
Upload the Oracle Database Appliance Server Patch to the patch repository, deploy the patch bundle using the Browser User Interface, and then update the DCS agent and components using CLI commands.
Updating the Patch Repository Using the Browser User Interface
-
Download the Oracle Database Appliance patches from My Oracle Support and save them in a directory on the appliance. See the Oracle Database Appliance Release Notes for a list of available patches and links to download the patches.
-
Log into the Browser User Interface with the oda-admin user name and password.
https://Node0–host-ip-address:7093/mgmt/index.html
-
Click Patch Manager.
-
In the Update Patch Repository page, enter the absolute file path and patch name, then click Update Repository to start the update repository job. You can list more than one file to update to the repository with a comma separated list, without spaces, or you can update each file, one at a time.
-
Click Activity to monitor the progress. When the job completes successfully, the Patch Repository is updated.
Running Patching Prechecks and Patching Agent, Server, and Storage Using the Browser User Interface
Note:
If your appliance has two nodes, you have the option to update both nodes at the same time or individually. If you update nodes individually, then update Node0 before updating Node1.-
Do not have any jobs running or pending during the update window.
-
Click the Appliance tab, and then click Patch Manager in the Browser User Interface.
-
Wait for the Component Details to load. If you just updated the Patch Repository, click Refresh in the Component Details section of the page.
After the patch is uploaded to the Patch Repository, the Component Details on the page are updated with the Installed Version and Available Version for each component.
-
Select Precheck, click Update Components, then click Submit to verify the patches in the repository and check for conflicts.
When the job finishes, go to the next step. Click Activity for job status.
-
On the Patch Manager page, click Refresh to refresh the Component Details. Select Update Server, click Update Components, then click Submit to begin the job to patch the server components.
For multi-node systems, select the node to update: All Nodes (default), Node0, or Node1.
The DCS agent is automatically updated whenever the Server or Storage components are updated.
When the job finishes, go to the next step. Click Activity for job status.
-
On the Patch Manager page, click Refresh to refresh the Component Details. Select Update Storage, click Update Components, then click Submit to begin the job to patch the storage components.
For multi-node systems, select the node to update: All Nodes (default), Node0, or Node1.
For high-availability environment, you can select the Rolling check box to perform rolling patching of storage components.
-
Click Activity to monitor the progress, and verify that the job completes successfully.
All patching-related information is logged in the dcs-agent
log file at /opt/oracle/dcs/log/dcs-agent.log
.
Updating the DCS Admin and DCS Components After Patching
After patching your appliance using the Browser User Interface, you must update the DCS admin and DCS components manually, through CLI commands.
Follow these steps:
- Update DCS
admin:
[root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcsadmin -v 18.8.0.0.0
- Confirm that the update is
successful:
[root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-job -i job_ID
- Update the DCS
components:
[root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcscomponents -v 18.8.0.0.0
Parent topic: Patching Oracle Database Appliance
Updating Oracle Database Appliance Repository with Database Clone Files Using the CLI
Follow these steps to update the Oracle Database Appliance repository with Oracle Database clone files for the latest release using CLI commands.
Parent topic: Patching Oracle Database Appliance
Patching Existing Database Homes to the Latest Release Using the Browser User Interface
Use the Browser User Interface to patch database homes to the latest release.
Note:
Follow the procedure in this topic only when patching ODACLI stack. For patching Virtualized Platform, see the topic Patching Oracle Database Appliance Virtualized Platform.Patching Oracle Database Appliance Virtualized Platform
Follow these steps to apply patches to Oracle Database Appliance OAKCLI Virtualized Platform using CLI commands.
Parent topic: Patching Oracle Database Appliance
Verifying That HAIP is Disabled After Patching to Oracle Database Appliance Release 18.8
After patching to Oracle Database Appliance release 18.8, verify that High-Availability IP (HAIP) is disabled.
Component Check and Command | Expected Value Before Patching | Expected Value After Patching |
---|---|---|
Check private networks: #ifconfig |
Displays the network interfaces information and contains one or two interfaces plumbed with 192.168.16.24/25 or 192.168.17.24/25. | Displays one interface which is bonded or plumbed with 192.168.16.24/25. |
Check cluster_interconnect interfaces: # oifcfg getif |
Displays two physical ethernet interfaces. Before patching, if there is already a bond between the private interfaces, then bond is not created. | Displays one bonded interface which is configured as
cluster_interconnet .
|
Check HAIP resource in CRS | Run the command crsctl status resource -t
-init and in the command output, check for the status
of resource ora.cluster_interconnect.haip .
Resource status is set to running .
|
Run the command crsctl status resource -t
-init . The command output states that the resource
ora.cluster_interconnect.haip does not exist in
the location
/u01/app/18.0.0.0/grid/bin/crsctl .
|
Parent topic: Patching Oracle Database Appliance
Applying Additional Patches and Updates
Configure additional patch repositories and patch your operating system and databases to ensure that your deployment has the latest updates and security fixes.
- Enabling Kernel Updates
Oracle Ksplice enables you to update your systems with the latest kernel security and bug fix updates. - Adding Repositories for Patch Updates
Add patch repositories to update operating system RPMs. - Applying Out-of-Cycle Database Patches
The out-of-cycle patching feature enables administrators to patch databases in the Oracle Database Appliance deployment with the latest Oracle Database Release Update, outside of the Oracle Database Appliance releases.
Parent topic: Patching Oracle Database Appliance
Enabling Kernel Updates
Oracle Ksplice enables you to update your systems with the latest kernel security and bug fix updates.
See Also:
Oracle Linux Ksplice User's Guide for information about configuring Oracle Ksplice at:https://docs.oracle.com/cd/E37670_01/E39380/html/ksplice-enhanced-offline.html
Parent topic: Applying Additional Patches and Updates
Adding Repositories for Patch Updates
Add patch repositories to update operating system RPMs.
Add operating system RPM repositories as follows:
Parent topic: Applying Additional Patches and Updates
Applying Out-of-Cycle Database Patches
The out-of-cycle patching feature enables administrators to patch databases in the Oracle Database Appliance deployment with the latest Oracle Database Release Update, outside of the Oracle Database Appliance releases.
Note:
The OPatch commands and procedures described in this topic are examples, and may need modifications based on a specific Oracle Database Release Update (RU). Always refer to the Readme of the Oracle Database Release Update (RU) for additional commands and steps.Note:
It is strongly recommended that you patch your deployment through the Oracle Database Appliance releases, whenever possible.Note:
You can apply out-of-cycle patches to both baremetal and Virtualized Platform deployments using this procedure.Using OPatchauto to Manually Patch Oracle Database Release 12c and Later
- Confirm that the
dcs-agent
and other components are updated to the latest release.# odacli describe-component # odacli list-dbhomes
- Update OPatch to the latest version, if available:
- Download the latest OPatch version from My Oracle Support.
- Copy the files to the local host and extract them to the
ORACLE_HOME/OPatch
directory. - Update the OPatch tool as
oracle
user./bin/rm -rf $ORACLE_HOME/OPatch/ su - oracle -c /usr/bin/unzip -q -o OPatch_zip_location/p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME
- Download the latest database patches from My Oracle Support and
copy the files to the local
host.
scp patchfilename root@hostname:directory
- Unzip patches to an empty directory, for example,
/tmp/patchesDir
asoracle
user.This creates sub directories under
/tmp/patchesDir
with bug numbers. If the patch you are applying is a Release Update (RU), then the patch directory has multiple sub-directories./usr/bin/unzip -o location_of_patches/p29301631_180000_Linux-x86-64.zip -d /tmp/patchesDir
- For Oracle Database Appliance High-Availability deployments, set up SSH Keys for secure connection.
- Analyze the
patches.
$ORACLE_HOME/OPatch/opatchauto apply directory_with_patches_extracted -analyze -oh $ORALCE_HOME -log /tmp/opatchAutoAnalyzePatch.log
- As
root
user, apply the patches.$ORACLE_HOME/OPatch/opatchauto apply directory_to_extract_patches -oh $ORACLE_HOME -inplace
- When patching is completed on both nodes, run
utlrp.sql
andcatcon.pl
scripts to recompile invalid objects in the database. - Update the registry to ensure that system component values are
registered.
# odacli update-registry -n dbhome -f
Using OPatch to Manually Patch Oracle Database Release 11.2.0.4
- Confirm that the
dcs-agent
and other components are updated to the latest release.# odacli describe-component # odacli list-dbhomes
- Update OPatch to the latest version, if available:
- Download the latest OPatch version from My Oracle Support.
- Copy the files to the local host and extract them to the
ORACLE_HOME/OPatch
directory. - Update the OPatch tool as
oracle
user./bin/rm -rf $ORACLE_HOME/OPatch su - oracle -c /usr/bin/unzip -q -o OPatch_zip_location/p29141056_112040_Linux-x86-64.zip -d $ORACLE_HOME
- Download the latest database patches from My Oracle Support and
copy the files to the local host. Unzip the database patches to an empty
directory, for example,
/tmp/patchesDir
asoracle
user.This creates sub directories under/tmp/patchesDir
with bug numbers. If the patch you are applying is an Oracle Database Release Update (RU), then the patch directory has multiple sub-directories.su - oracle -c '/usr/bin/unzip -o p29141056_112040_Linux-x86-64.zip -d /tmp/patchesDir'
- Delete bug#2015 if it exists in the inventory.
- Check if bug#2015 exists in the
inventory:
su - oracle export ORACLE_HOME=path_to_the_11.2.0.4_ORACLE_HOME $ORACLE_HOME/OPatch/opatch lspatches | grep -i "OCW" | cut -d ';' -f1
- The command returns a bug number, for example, 28729234.
Navigate to the
inventory:
cd $ORACLE_HOME/inventory/oneoffs/bug# from above command/etc/config
- Check if
inventory.xml
contains a string such as'bug number="2015"'
. If no match is found, then no action is required, and you can continue with step 6 in this procedure.grep 'bug number="2015"' inventory.xml echo $? ( the command returns 0, if match found )
- Take a backup of
inventory.xml
.cp inventory.xml inventory.xml.$(date +%Y%m%d-%H%M)
- Delete entry like
<bug number="2015" ...>
frominventory.xml
.sed '/bug number="2015"/d' inventory.xml
- Check if bug#2015 exists in the
inventory:
- Run prechecks using the
opatch
command for every patch.su - oracle -c '$ORACLE_HOME/OPatch/opatch prereq CheckComponents -ph /tmp/patchesDir/29301631 -oh $ORACLE_HOME' su - oracle -c '$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOH -ph /tmp/patchesDir/29301631 -oh $ORACLE_HOME'
Run both commands for all the sub patches also. If there are any conflicting bugs, then rollback the one-off patches.
- Apply the patch using the
opatch auto
command.$ORACLE_HOME/OPatch/opatch auto /tmp/patchesDir/29301631 -oh $ORACLE_HOME -ocmrf /opt/oracle/dcs/rdbaas/config/default-ocm.rsp
- Verify that the database is up and running after applying the
patch.
/u01/app/18.0.0.0/grid/bin/crsctl status resource ora.on6i.db -n patched_db
- Run
catbundle.sql
on all databases in this home.su oracle export ORACLE_HOME=ORACLE_HOME export ORACLE_HOME=ORACLE_SID $ORACLE_HOME/bin/sqlplus "/ as sysdba" @$ORACLE_HOME/rdbms/admin/catbundle.sql @$ORACLE_HOME/rdbms/admin/catbundle.sql
Parent topic: Applying Additional Patches and Updates
Cleaning Up the Patch Repository
Use the Browser User Interface or Command Line Interface to delete obsolete or old patches from the repository.
About Cleaning Up the Patch Repository
After patching Oracle Database Appliance with the latest patches, old unused clone files may remain and consume space in the repository. Cleanup repository deletes the unused clone/patch files to reclaim space. You can clean up the repository using the Browser User Interface or ODACLI commands.
Cleaning Up the Patch Repository Using ODACLI command
# odacli cleanup-patchrepo [-cl clones] | [-v version [-comp component]]| [-
l local|-n NodeID]
Specify the clone file names and the node from which you want to delete the old patches.
For details about the command options, see the chapter Oracle Database Appliance Command-Line Interface.
Cleaning Up the Patch Repository Using the Browser User Interface
- In the Browser User Interface, click Patch Manager.
- Click the Cleanup Repository tab, and then click Refresh to list the available patches in the repository.
- Select the Components, such as old Oracle Grid Infrastructure or Oracle Database clone files that you want to clean up from the repository, and the Patch Version, for example, an older release of Oracle Database Appliance.
- Click Cleanup Clone Files to clean up clone files for selected
components from the repository at
/opt/oracle/oak/pkgrepos/orapkgs/clones/
. - Click Cleanup Repository to submit the cleanup repository job.
- Click Activity to monitor the progress. When the job completes successfully, the Patch Repository is updated.
Related Topics
Parent topic: Patching Oracle Database Appliance
About Upgrading to a Different Database Home
Understand how to upgrade to a different database home using either the
Browser User Interface or odacli
commands.
Prerequisites for Upgrading Database Homes
- Oracle Database 12.2 to 18c
- Oracle Database 12.1 to 18c
- Oracle Database 11c to 18c
- Oracle Database 12.1 to 12.2
- Oracle Database 11c to 12.2
- Oracle Database 11c to 12.1
Before upgrading to a different database home, upload the RDBMS Clone Files for the database version, to the repository, and then create the database home. See Patching Oracle Database Appliance Using the CLI for the procedure to update the repository with the latest RDBMS Clone Files.
About Upgrading Database Homes Using the Browser User Interface
Follow these steps to upgrade to a different database home using the Browser User Interface.
- Log into the Browser User Interface with the
oda-admin user name and
password.
https://Node0–host-ip-address:7093/mgmt/index.html
- Click the Database tab, and then select a database, click Actions, and then click Upgrade.
- Verify that the database upgrade job completes successfully.
About Upgrading Database Homes Using the Command-Line Interface
Run the following command to upgrade to a different database home using the CLI:
odacli upgrade-database -i Comma separated list of database ids -from source dbhome id -to destination dbhome id [-j] [-h]
For more information about the options for the upgrade-database
command, see the chapter Oracle Database Appliance Command-Line
Interface.
Related Topics
Parent topic: Patching Oracle Database Appliance