---
title: OCI Database Cloud Service Patching of Database and Grid Infrastructure Using OCI CLI
description: OCI Database Cloud Patching; learn how to patch database and grid infrastructure infrastructure with OCI CLI
---

[Blog | Pythian ](https://www.pythian.com/blog)

# [OCI Database Cloud Service Patching of Database and Grid Infrastructure Using OCI CLI](https://www.pythian.com/blog/oci-database-cloud-service-patching-of-database-and-grid-infrastructure-using-oci-cli/)

 Written by [Abhilash Kumar](https://www.pythian.com/blog/author/abhilash-kumar) | Dec 1, 2021 12:22:00 PM

 

## OCI database

*Oracle Patching of Databases (DB) and Grid Infrastructure (GI) is a routine and recommended process for any Oracle database. It’s no different in [Oracle Cloud Infrastructure](https://resources.pythian.com/white-paper/oracle-cloud-infrastructure) (OCI). In fact, OCI makes it even easier for [DBAs](https://pythian.com/remote-dba-services/) to patch the required Oracle Homes.*

*This post will show you how to patch a OCI DB System via OCI  .*

For clarity, in the OCI Database Cloud Service (DBCS) the GI software stack is considered part of the DB system and is referenced as such in the web console.

## **Note**

The below article assumes that:

1. Access to Oracle Cloud tenancy exists and all examples are referred via OCI CLI.
2. The reader is familiar with OCI CLI (Command Line Interface). If you’re new to OCI CLI, I suggest you check out my earlier post to get started on OCI CLI: [https://blog.pythian.com/the-ocidtab-a-solution-to-make-oci-cli-scripting-easier](https://blog.pythian.com/the-ocidtab-a-solution-to-make-oci-cli-scripting-easier)

- For further reference OCI CLI, check out the following Pythian blogs for some very useful information: [https://blog.pythian.com/installing-oci-command-line-utilities-in-linux-and-windows/; ](https://blog.pythian.com/installing-oci-command-line-utilities-in-linux-and-windows/)[https://blog.pythian.com/oracle-database-cloud-service/](https://blog.pythian.com/oracle-database-cloud-service/)

While the same patching process could also be completed using the OCI web console, patching using the OCI CLI makes the process more consistent and repeatable.This might be especially important if many systems need to be patched using automation tooling.

## **A word about “dbcli”**

The “dbcli” is a utility available in Database VM and Bare Metal systems which can be used to check the current and available patches for the components Installed. (Dbcli is specific to OCI DBCS and is not available in on-premises Oracle implementations or with other OCI Oracle Database services.)  We will use the dbcli to check the versions and monitor the status patching. The “dbcli” needs to run as the root user of the DB system (dbcli by itself has several features which will not be covered in this blog).

We’ll assume the DB/GI system we have in OCI is 11g DB/19c GI, which is the minimum required for customers still on a 11g database and are looking to move to OCI DBCS. (The GI release needs to match or exceed the DB release and for the DBCS service, the most recent stable release is chosen automatically. You can’t choose a specific release.)

Before patching to a higher version of the DB system, we need to identify the version in use, like the DB and GI versions of an OCI database system shown below:

```
[root@ocilabhost01 ~]# dbcli describe-componentSystem Version  ---------------21.2.3.0.0Component                                Installed Version    Available Version   ---------------------------------------- -------------------- --------------------GI                                        19.11.0.0.0           19.12.0.0           DB                                        11.2.0.4.210420       11.2.0.4.210720     
```

As we can see above, a new version is available for both the DB and the GI software.

## **GI patching**

We’ll need to identify the DB system OCID we have created for the 11g(DB) / 19c(GI). Each database system will have a unique OCID identified with it. Once the DB system OCID is identified, we’ll need to identify what patches are available.

Note that OCI calls the GI patching a DB system patch and not explicitly as a GI patch; in this case, we’ll search for the July 19c DB system patch and identify the OCID for this patch. Also, note that OCI makes the patches available automatically for DBCS, so you don’t need to manually download patches from My Oracle Support like you would for on-premises databases.

```
### Set up the Dev Environment variables $ . ~/.DEV-ocidtab### DB System OCID$ export DB_SYSTEM_OCID=$(oci db system list -c $COMP_OCID --profile DEV --query "data[?contains(\"hostname\",'ocilabhost01')].{id:id}" |  jq -r '.[]."id"');echo $DB_SYSTEM_OCIDocid1.dbsystem.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx### DB System Patch OCID $ export DB_SYSTEM_PATCH=$(oci db patch list by-db-system --db-system-id $DB_SYSTEM_OCID --profile DEV --all --query "data[?contains(\"description\",'Jul 2021 19c Db System patch')]" |  jq -r '.[]."id"');echo $DB_SYSTEM_PATCHocid1.dbpatch.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # NOTE : That even though we are patching the GI the patch OCID values are always references as ocid.dbpatch.x.x.x in the OCI value , the patch naming  # Does not differentiate between a DB Patch and a GI Patch ### Identify the the DB System Patch that is required$ oci db patch list by-db-system --db-system-id $DB_SYSTEM_OCID --profile DEV --all{  "data": [    {      "available-actions": [        "APPLY",        "PRECHECK"      ],      "description": "Jul 2021 19c Db System patch",      "id": "ocid1.dbpatch.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "last-action": null,      "lifecycle-details": null,      "lifecycle-state": null,      "time-released": "2021-07-20T01:00:00+00:00",      "version": "19.12.0.0.210720"    }  ]}
```

```
 
```

From the above we can see the patch options (“available-actions”) available are PRECHECK and APPLY. As always, we run a precheck to ensure the patching requirements are appropriate. The following shows how we run the precheck after identifying the OCIS of the DB system and the patches:

```
--- Running Prechecks$ oci db system  patch --db-system-id $DB_SYSTEM_OCID --patch-action PRECHECK --patch-id $DB_SYSTEM_PATCH --profile DEV{  "data": {    "availability-domain": "lhaE:US-ASHBURN-AD-1",    "backup-network-nsg-ids": null,    "backup-subnet-id": null,    "cluster-name": null,    "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "cpu-core-count": 4,    "data-storage-percentage": 80,    "data-storage-size-in-gbs": 2048,    "database-edition": "STANDARD_EDITION",    "db-system-options": {      "storage-management": "ASM"    },    "defined-tags": {      "Oracle-Tags": {        "CreatedBy": "abhilash_kumar",        "CreatedOn": "2021-10-27T08:07:30.319Z"      }    },    "disk-redundancy": "NORMAL",    "display-name": "ocilabhost01",    "domain": "net02.ocideviad.oraclevcn.com",    "fault-domains": [      "FAULT-DOMAIN-1"    ],    "freeform-tags": {},    "hostname": "ocilabhost01",    "id": "ocid1.dbsystem.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "iorm-config-cache": null,    "kms-key-id": null,    "last-maintenance-run-id": null,    "last-patch-history-entry-id": "ocid1.dbpatchhistory.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "license-model": "LICENSE_INCLUDED",    "lifecycle-details": null,    "lifecycle-state": "UPDATING",    "listener-port": 1521,    "maintenance-window": null,    "next-maintenance-run-id": null,    "node-count": 1,    "nsg-ids": null,    "point-in-time-data-disk-clone-timestamp": null,    "reco-storage-size-in-gb": 408,    "scan-dns-name": "ocilabhost01-scan.net02.ocideviad.oraclevcn.com",    "scan-dns-record-id": "ocid1.vcndnsrecord.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "scan-ip-ids": null,    "shape": "VM.Standard2.4",    "source-db-system-id": null,    "sparse-diskgroup": null,    "ssh-public-keys": [      "ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aaaaa@xyz",      "ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx bbbbb@xyz",      "ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ccccc@xyz",    ],    "subnet-id": "ocid1.subnet.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "time-created": "2021-10-27T08:07:32.908000+00:00",    "time-zone": "America/Toronto",    "version": "19.11.0.0.0",    "vip-ids": null,    "zone-id": "ocid1.dns-zone.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"  }}
```

The use of “dbcli listjobs” would show the precheck is completed:

```
--- Check Current GI Version for ocilabhost01$ oci db system list -c $COMP_OCID --profile DEV --output table --query "data[?contains(\"hostname\",'ocilabhost01')].{hostname:hostname,verson:version}" +-------------------+-------------+| hostname          | verson      |+-------------------+-------------+| ocilabhost01      | 19.11.0.0.0 |+-------------------+-------------+# dbcli list-jobsID                                       Description                                                                 Created                             Status    ---------------------------------------- --------------------------------------------------------------------------- ----------------------------------- ----------..xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx     Server Patching Prechecks                                                   Friday, October 29, 2021, 09:57:03 EDT Success   
```

Applying the GI patch is done by using the APPLY clause. (However, during the patching process, the entire [database](https://pythian.com/database-managed-services/) will be unavailable.) 

```
$ oci db system  patch --db-system-id $DB_SYSTEM_OCID --patch-action APPLY --patch-id $DB_SYSTEM_PATCH --profile DEV{  "data": {    "availability-domain": "lhaE:US-ASHBURN-AD-1",    "backup-network-nsg-ids": null,    "backup-subnet-id": null,    "cluster-name": null,    "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "cpu-core-count": 4,    "data-storage-percentage": 80,    "data-storage-size-in-gbs": 2048,    "database-edition": "STANDARD_EDITION",    "db-system-options": {      "storage-management": "ASM"    },    "defined-tags": {      "Oracle-Tags": {        "CreatedBy": "abhilash_kumar",        "CreatedOn": "2021-10-27T08:07:30.319Z"      }    },    "disk-redundancy": "NORMAL",    "display-name": "ocideviaddb02",    "domain": "net02.ocideviad.oraclevcn.com",    "fault-domains": [      "FAULT-DOMAIN-1"    ],    "freeform-tags": {},    "hostname": "ocilabhost01",    "id": "ocid1.dbsystem.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "iorm-config-cache": null,    "kms-key-id": null,    "last-maintenance-run-id": null,    "last-patch-history-entry-id": "ocid1.dbpatchhistory.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "license-model": "LICENSE_INCLUDED",    "lifecycle-details": null,    "lifecycle-state": "UPDATING",    "listener-port": 1521,    "maintenance-window": null,    "next-maintenance-run-id": null,    "node-count": 1,    "nsg-ids": null,    "point-in-time-data-disk-clone-timestamp": null,    "reco-storage-size-in-gb": 408,    "scan-dns-name": "ocilabhost01-scan.net02.ocideviad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.com",    "scan-dns-record-id": "ocid1.vcndnsrecord.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "scan-ip-ids": null,    "shape": "VM.Standard2.4",    "source-db-system-id": null,    "sparse-diskgroup": null,    "ssh-public-keys": [      "ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aaaaa@xyz",      "ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx bbbbb@xyz",      "ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ccccc@xyz"    ],    "subnet-id": "ocid1.subnet.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "time-created": "2021-10-27T08:07:32.908000+00:00",    "time-zone": "America/Toronto",    "version": "19.11.0.0.0",    "vip-ids": null,    "zone-id": "ocid1.dns-zone.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"  }}
```

 

This patch application might take its time depending on each patch set. Here’s what the completion looks like:

```
[root@ocilabhost01 ~]# dbcli list-jobsID                                       Description                                                                 Created                             Status    ---------------------------------------- --------------------------------------------------------------------------- ----------------------------------- ----------......xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx     Server Patching Prechecks                                                   Friday, October 29, 2021, 09:57:03 EDT Success   yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy     Server Patching                                                             Saturday, October 30, 2021, 11:24:27 EDT Success   ### Summary of Patching Job [root@ocilabhost01 ~]# dbcli describe-job -i yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyyJob details                                                      ----------------------------------------------------------------                     ID:  yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy            Description:  Server Patching                 Status:  Success                Created:  October 30, 2021 11:24:27 AM EDT               Progress:  100%                Message:  Task Name                                                                Start Time                          End Time                            Status    ------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ----------Pre-operations for Server Patching                                       October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   Server Patching                                                          October 30, 2021 11:25:51 AM EDT    October 30, 2021 12:05:38 PM EDT    Success   ### For more detailed Verbose Output for theJob [root@ocilabhost01 ~]# dbcli describe-job -i yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy -l VerboseJob details                                                      ----------------------------------------------------------------                     ID:  yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy            Description:  Server Patching                 Status:  Success                Created:  October 30, 2021 11:24:27 AM EDT               Progress:  100%                Message:  Task Name                                                                Start Time                          End Time                            Status    ------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ----------Server Patching                                                          October 30, 2021 11:24:27 AM EDT    October 30, 2021 12:05:38 PM EDT    Success   Starting Server Components Updation                                      October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:24:27 AM EDT    Success   Pre-operations for Server Patching                                       October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   Starting Server patching Pre-operations                                  October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:24:27 AM EDT    Success   task:TaskParallel_3314                                                   October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:24:27 AM EDT    Success   Deleting patching Dirs                                                   October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:24:27 AM EDT    Success   task:TaskSequential_3317                                                 October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:24:27 AM EDT    Success   Create patching repository directories[ocilabhost01]                    October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:24:27 AM EDT    Success   task:TaskSequential_3320                                                 October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:24:27 AM EDT    Success   Download latest patch metadata[ocilabhost01]                             October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:24:27 AM EDT    Success   task:TaskParallel_3323                                                   October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:24:27 AM EDT    Success   minimum DcsAgent version checking                                        October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:24:27 AM EDT    Success   task:TaskSequential_3326                                                 October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   Update Patching Repository[ocilabhost01]                                 October 30, 2021 11:24:27 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   Server Patching                                                          October 30, 2021 11:25:51 AM EDT    October 30, 2021 12:05:38 PM EDT    Success   Starting Server Patching Operations                                      October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   task:TaskSequential_3332                                                 October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   task:TaskSequential_3333                                                 October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   Create patching repository directories[ocilabhost01]                     October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   task:TaskSequential_3246                                                 October 30, 2021 11:25:51 AM EDT    October 30, 2021 12:05:38 PM EDT    Success   Starting gi Patching                                                     October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   task:TaskParallel_3249                                                   October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   Cleanup unwanted clones                                                  October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   task:TaskParallel_3252                                                   October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   Generating SSH key                                                       October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   task:TaskParallel_3255                                                   October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   Generating SSH key                                                       October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   task:TaskSequential_3258                                                 October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   task:TaskZJsonRpcExt_3259                                                October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:51 AM EDT    Success   Adding USER SSH_EQUIVALENCE                                              October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:52 AM EDT    Success   task:TaskZJsonRpcExt_3262                                                October 30, 2021 11:25:51 AM EDT    October 30, 2021 11:25:52 AM EDT    Success   task:TaskZJsonRpcExt_3264                                                October 30, 2021 11:25:52 AM EDT    October 30, 2021 11:25:52 AM EDT    Success   task:TaskZJsonRpcExt_3266                                                October 30, 2021 11:25:52 AM EDT    October 30, 2021 11:25:52 AM EDT    Success   task:TaskParallel_3268                                                   October 30, 2021 11:25:52 AM EDT    October 30, 2021 11:25:56 AM EDT    Success   Opatch updation[ocilabhost01]                                            October 30, 2021 11:25:52 AM EDT    October 30, 2021 11:25:56 AM EDT    Success   task:TaskSequential_3271                                                 October 30, 2021 11:25:56 AM EDT    October 30, 2021 11:29:34 AM EDT    Success   Patch conflict check[ocilabhost01]                                       October 30, 2021 11:25:56 AM EDT    October 30, 2021 11:29:34 AM EDT    Success   task:TaskParallel_3274                                                   October 30, 2021 11:29:34 AM EDT    October 30, 2021 11:29:34 AM EDT    Success   Setting owner to patching Dirs                                           October 30, 2021 11:29:34 AM EDT    October 30, 2021 11:29:34 AM EDT    Success   task:TaskSequential_3277                                                 October 30, 2021 11:29:34 AM EDT    October 30, 2021 12:05:33 PM EDT    Success   task:TaskSequential_3278                                                 October 30, 2021 11:29:34 AM EDT    October 30, 2021 12:05:33 PM EDT    Success   GI: Applying clusterware patch[ocilabhost01]                             October 30, 2021 11:29:34 AM EDT    October 30, 2021 12:05:33 PM EDT    Success   task:TaskParallel_3281                                                   October 30, 2021 12:05:33 PM EDT    October 30, 2021 12:05:33 PM EDT    Success   Updating GiHome version[ocilabhost01]                                    October 30, 2021 12:05:33 PM EDT    October 30, 2021 12:05:33 PM EDT    Success   task:TaskParallel_3284                                                   October 30, 2021 12:05:33 PM EDT    October 30, 2021 12:05:36 PM EDT    Success   Updating All DBHome version                                              October 30, 2021 12:05:33 PM EDT    October 30, 2021 12:05:36 PM EDT    Success   Removing SSHKey                                                          October 30, 2021 12:05:36 PM EDT    October 30, 2021 12:05:37 PM EDT    Success   Removing Znode                                                           October 30, 2021 12:05:36 PM EDT    October 30, 2021 12:05:36 PM EDT    Success   Removing keys from authorized_keys file                                  October 30, 2021 12:05:36 PM EDT    October 30, 2021 12:05:36 PM EDT    Success   Removing PrivatePublic key Files                                         October 30, 2021 12:05:36 PM EDT    October 30, 2021 12:05:36 PM EDT    Success   Running updatedb command                                                 October 30, 2021 12:05:36 PM EDT    October 30, 2021 12:05:37 PM EDT    Success   Running SSHKey Gen                                                       October 30, 2021 12:05:37 PM EDT    October 30, 2021 12:05:37 PM EDT    Success   Removing SSHKey                                                          October 30, 2021 12:05:37 PM EDT    October 30, 2021 12:05:38 PM EDT    Success   Removing Znode                                                           October 30, 2021 12:05:37 PM EDT    October 30, 2021 12:05:37 PM EDT    Success   Removing keys from authorized_keys file                                  October 30, 2021 12:05:37 PM EDT    October 30, 2021 12:05:37 PM EDT    Success   Removing PrivatePublic key Files                                         October 30, 2021 12:05:37 PM EDT    October 30, 2021 12:05:37 PM EDT    Success   Running updatedb command                                                 October 30, 2021 12:05:37 PM EDT    October 30, 2021 12:05:38 PM EDT    Success   Running SSHKey Gen                                                       October 30, 2021 12:05:38 PM EDT    October 30, 2021 12:05:38 PM EDT    Success   Ending gi Patching                                                       October 30, 2021 12:05:38 PM EDT    October 30, 2021 12:05:38 PM EDT    Success   task:TaskSequential_3336                                                 October 30, 2021 12:05:38 PM EDT    October 30, 2021 12:05:38 PM EDT    Success   Update System version[ocilabhost01]                                      October 30, 2021 12:05:38 PM EDT    October 30, 2021 12:05:38 PM EDT    Success   task:TaskParallel_3339                                                   October 30, 2021 12:05:38 PM EDT    October 30, 2021 12:05:38 PM EDT    Success   cleanup temp files                                                       October 30, 2021 12:05:38 PM EDT    October 30, 2021 12:05:38 PM EDT    Success   task:TaskParallel_3342                                                   October 30, 2021 12:05:38 PM EDT    October 30, 2021 12:05:38 PM EDT    Success   Deleting patching Dirs                                                   October 30, 2021 12:05:38 PM EDT    October 30, 2021 12:05:38 PM EDT    Success   
```

Checking components versions we see the that the GI part of the DB system patch is now up to date:

```
[root@ocilabhost01 ~]# dbcli describe-componentSystem Version  ---------------21.2.3.0.0Component                                Installed Version    Available Version   ---------------------------------------- -------------------- --------------------GI                                        19.12.0.0.0           up-to-date          DB                                        11.2.0.4.210420       11.2.0.4.210720
```

**  
DB patching**

Moving on to the database patching the method of identifying the relevant patches, running prechecks and applying the patches are very similar. In this case, we can see that patch 11.2.0.4.210720 is now available:

 

```
$ oci db patch list by-database --database-id $DB_OCID --profile DEV --all {  "data": [    {      "available-actions": [        "APPLY",        "PRECHECK"      ],      "description": "Jul 2021 11.2.0.4 Database patch",      "id": "ocid1.dbpatch.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "last-action": null,      "lifecycle-details": null,      "lifecycle-state": null,      "time-released": "2021-07-20T01:00:00+00:00",      "version": "11.2.0.4.210720"    }  ]}
```

 

Let’s source the database OCID for the database orcl01 and patch for 11.2.0.4.210720:

 

```
### DB_OCID for the Database we want to apply the patch$ export DB_OCID=$(oci db database list --compartment-id $COMP_OCID --profile DEV --query "data[?contains(\"db-name\",'0rcl01')]" |  jq -r '.[]."id"');echo $DB_OCIDocid1.database.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx### PATCH_OCID for the Database we want to apply the patch$ PATCH_OCID=$(oci db patch list by-database --database-id $DB_OCID --profile DEV --all | jq -r '.data[0]."id"');echo $PATCH_OCIDocid1.dbpatch.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
```

Just like the patches and databases have their own OCI, the database home will also be associated with an OCID. To keep things simple, let’s source the OCID of the database home manually:

 

```
$ oci db database get --database-id $DB_OCID --profile DEV{  "data": {    "character-set": "AL32UTF8",    "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "connection-strings": {      "all-connection-strings": {        "cdbDefault": "ocilabhost01.net02.ocideviad.oraclevcn.com:1521/orcl01_iad1tz.net02.ocideviad.oraclevcn.com",        "cdbIpDefault": "(DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=11.2.1.32)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl01_iad1tz.net02.ocideviad.oraclevcn.com)))"      },      "cdb-default": "ocilabhost01.net02.ocideviad.oraclevcn.com:1521/orcl01_iad1tz.net02.ocideviad.oraclevcn.com",      "cdb-ip-default": "(DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=11.2.1.32)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl01_iad1tz.net02.ocideviad.oraclevcn.com)))"    },    "database-software-image-id": null,    "db-backup-config": {      "auto-backup-enabled": false,      "auto-backup-window": null,      "backup-destination-details": null,      "recovery-window-in-days": null    },    "db-home-id": "ocid1.dbhome.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "db-name": "orcl01",    "db-system-id": "ocid1.dbsystem.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "db-unique-name": "orcl01_iad1tz",    "db-workload": "OLTP",    "defined-tags": {      "Oracle-Tags": {        "CreatedBy": "abhilash_kumar",        "CreatedOn": "2021-10-27T08:07:31.955Z"      }    },    "freeform-tags": {},    "id": "ocid1.database.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "kms-key-id": null,    "last-backup-timestamp": null,    "lifecycle-details": null,    "lifecycle-state": "AVAILABLE",    "ncharacter-set": "AL16UTF16",    "pdb-name": null,    "source-database-point-in-time-recovery-timestamp": null,    "time-created": "2021-10-27T08:07:32.911000+00:00",    "vm-cluster-id": null  },  "etag": "bfe5cbad--gzip"}### Set the DB Home OCIDexport DB_HOME_OCID=ocid1.dbhome.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

 

Now that we have the database, database home and patch OCID, let’s apply the database precheck first. The method is very similar to the one we used for the DB system earlier:

```
$ oci db database patch --database-id $DB_OCID --patch-id $PATCH_OCID --patch-action PRECHECK --profile DEV{  "data": {    "character-set": "AL32UTF8",    "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "connection-strings": {      "all-connection-strings": {        "cdbDefault": "ocilabhost01.net02.ocideviad.oraclevcn.com:1521/orcl01_iad1tz.net02.ocideviad.oraclevcn.com",        "cdbIpDefault": "(DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=11.2.1.32)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl01_iad1tz.net02.ocideviad.oraclevcn.com)))"      },      "cdb-default": "ocilabhost01.net02.ocideviad.oraclevcn.com:1521/orcl01_iad1tz.net02.ocideviad.oraclevcn.com",      "cdb-ip-default": "(DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=11.2.1.32)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl01_iad1tz.net02.ocideviad.oraclevcn.com)))"    },    "database-software-image-id": null,    "db-backup-config": {      "auto-backup-enabled": false,      "auto-backup-window": null,      "backup-destination-details": null,      "recovery-window-in-days": null    },    "db-home-id": "ocid1.dbhome.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "db-name": "orcl01",    "db-system-id": "ocid1.dbsystem.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "db-unique-name": "orcl01_iad1tz",    "db-workload": "OLTP",    "defined-tags": {      "Oracle-Tags": {        "CreatedBy": "abhilash_kumar",        "CreatedOn": "2021-10-27T08:07:31.955Z"      }    },    "freeform-tags": {},    "id": "ocid1.database.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "kms-key-id": null,    "last-backup-timestamp": null,    "lifecycle-details": null,    "lifecycle-state": "UPDATING",    "ncharacter-set": "AL16UTF16",    "pdb-name": null,    "source-database-point-in-time-recovery-timestamp": null,    "time-created": "2021-10-27T08:07:32.911000+00:00",    "vm-cluster-id": null  }}
```

 

The database patching is monitored a differently using work OCI requests, which are the history of database configurations/patching activities that happen for DB system databases:

 

```
----- Can see PRECHECK is in Progress -- 15%$ oci work-requests work-request list -c $COMP_OCID --profile DEV{  "data": [    {      "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "id": "ocid1.coreservicesworkrequest.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "operation-type": "Patch DB Home",      "percent-complete": 15.0,      "status": "IN_PROGRESS",      "time-accepted": "2021-10-27T17:43:41.130000+00:00",      "time-finished": null,      "time-started": "2021-10-27T17:43:51.525000+00:00"    },    {      "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "id": "ocid1.coreservicesworkrequest.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "operation-type": "Start Node",      "percent-complete": 100.0,      "status": "SUCCEEDED",      "time-accepted": "2021-10-27T13:00:04.901000+00:00",      "time-finished": "2021-10-27T13:02:35.799000+00:00",      "time-started": "2021-10-27T13:00:22.043000+00:00"    },    {      "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "id": "ocid1.coreservicesworkrequest.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "operation-type": "Create DB System",      "percent-complete": 100.0,      "status": "SUCCEEDED",      "time-accepted": "2021-10-27T08:07:32.971000+00:00",      "time-finished": "2021-10-27T13:54:19.722000+00:00",      "time-started": "2021-10-27T08:33:04.010000+00:00"    }  ]}----- Can see PRECHECK is completed 100%$ oci work-requests work-request list -c $COMP_OCID --profile DEV{  "data": [    {      "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "id": "ocid1.coreservicesworkrequest.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "operation-type": "Stop Node",      "percent-complete": 100.0,      "status": "SUCCEEDED",      "time-accepted": "2021-10-28T01:00:04.506000+00:00",      "time-finished": "2021-10-28T01:04:15.124000+00:00",      "time-started": "2021-10-28T01:01:11.884000+00:00"    },    {      "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "id": "ocid1.coreservicesworkrequest.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "operation-type": "Patch DB Home",      "percent-complete": 100.0,      "status": "SUCCEEDED",                    <<------ Can see precheck runs well       "time-accepted": "2021-10-27T17:43:41.130000+00:00",      "time-finished": "2021-10-27T17:50:19.082000+00:00",      "time-started": "2021-10-27T17:43:51.525000+00:00"    },    {      "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "id": "ocid1.coreservicesworkrequest.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "operation-type": "Create DB System",      "percent-complete": 100.0,      "status": "SUCCEEDED",      "time-accepted": "2021-10-27T08:07:32.971000+00:00",      "time-finished": "2021-10-27T13:54:19.722000+00:00",      "time-started": "2021-10-27T08:33:04.010000+00:00"    }  ]}
```

We can also check the history of activities on the database home. This is similar to an oral inventory where we find the on-premises systems:

 

```
$ oci db patch-history list-db-home --db-home-id $DB_HOME_OCID --profile -DEV{  "data": [    {      "action": "PRECHECK",      "id": "ocid1.dbpatchhistory.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "lifecycle-details": null,      "lifecycle-state": "SUCCEEDED",      "patch-id": "ocid1.dbpatch.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",      "time-ended": "2021-10-27T17:49:03.452000+00:00",      "time-started": "2021-10-27T17:43:40.705000+00:00"    }  ]}
```

 

Let’s apply the database patch now using the APPLY clause (remember that this is an operation for a single-instance database and will mean some downtime):

```
$ oci db database patch --database-id $DB_OCID --patch-id $PATCH_OCID --patch-action APPLY --profile DEV{  "data": {    "character-set": "AL32UTF8",    "compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "connection-strings": {      "all-connection-strings": {        "cdbDefault": "ocilabhost01.net02.ocideviad.oraclevcn.com:1521/orcl01_iad1tz.net02.ocideviad.oraclevcn.com",        "cdbIpDefault": "(DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=11.2.1.32)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl01_iad1tz.net02.ocideviad.oraclevcn.com)))"      },      "cdb-default": "ocilabhost01.net02.ocideviad.oraclevcn.com:1521/orcl01_iad1tz.net02.ocideviad.oraclevcn.com",      "cdb-ip-default": "(DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=11.2.1.32)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl01_iad1tz.net02.ocideviad.oraclevcn.com)))"    },    "database-software-image-id": null,    "db-backup-config": {      "auto-backup-enabled": false,      "auto-backup-window": null,      "backup-destination-details": null,      "recovery-window-in-days": null    },    "db-home-id": "ocid1.dbhome.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "db-name": "orcl01",    "db-system-id": "ocid1.dbsystem.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "db-unique-name": "orcl01_iad1tz",    "db-workload": "OLTP",    "defined-tags": {      "Oracle-Tags": {        "CreatedBy": "abhilash_kumar",        "CreatedOn": "2021-10-27T08:07:31.955Z"      }    },    "freeform-tags": {},    "id": "ocid1.database.oc1.iad.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "kms-key-id": null,    "last-backup-timestamp": null,    "lifecycle-details": null,    "lifecycle-state": "UPDATING",    "ncharacter-set": "AL16UTF16",    "pdb-name": null,    "source-database-point-in-time-recovery-timestamp": null,    "time-created": "2021-10-27T08:07:32.911000+00:00",    "vm-cluster-id": null  }}
```

 

The patch history and progress is seen using the dbcli list-jobs:

```
[root@ocideviadsystem02 ~]# dbcli list-jobsID                                       Description                                                                 Created                             Status    ---------------------------------------- --------------------------------------------------------------------------- ----------------------------------- ----------...xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx     Server Patching Prechecks                                                   Friday, October 29, 2021, 09:57:03 EDT Success   yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy     Server Patching                                                             Saturday, October 30, 2021, 11:24:27 EDT Success   zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz     DBHome Patching: Home ID is bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb            Saturday, October 30, 2021, 13:38:53 EDT Running   [root@ocilabhost01 ~]# dbcli describe-job -i zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzzJob details                                                      ----------------------------------------------------------------                     ID:  zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz            Description:  DBHome Patching: Home ID is bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb                 Status:  Success                Created:  October 30, 2021 1:38:53 PM EDT               Progress:  100%                Message:  Task Name                                                                Start Time                          End Time                            Status    ------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ----------Pre-operations for DBHome patching                                       October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:40:08 PM EDT     Success   DBHome patching                                                          October 30, 2021 1:40:08 PM EDT     October 30, 2021 1:52:30 PM EDT     Success   Post-operations for DBHome patching                                      October 30, 2021 1:52:30 PM EDT     October 30, 2021 1:52:47 PM EDT     Success   [root@ocilabhost01 ~]# [root@ocilabhost01 ~]# dbcli describe-job -i zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz -l VerboseJob details                                                      ----------------------------------------------------------------                     ID:  zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz            Description:  DBHome Patching: Home ID is bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb                 Status:  Success                Created:  October 30, 2021 1:38:53 PM EDT               Progress:  100%                Message:  Task Name                                                                Start Time                          End Time                            Status    ------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ----------DBHome Patching                                                          October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   DBHome Patching                                                          October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:52:47 PM EDT     Success   DBHome Patching                                                          October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:52:47 PM EDT     Success   DBHome Patching                                                          October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:52:47 PM EDT     Success   Pre-operations for DBHome patching                                       October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:40:08 PM EDT     Success   Starting Pre-Patching of dbHome bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb     October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   task:TaskParallel_4373                                                   October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   Deleting patching Dirs                                                   October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   task:TaskSequential_4376                                                 October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   Create patching repository directories[ocilabhost01]                      October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   task:TaskSequential_4379                                                 October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   Download latest patch metadata[ocilabhost01]                             October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   task:TaskParallel_4382                                                   October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   checking GiHome version[ocilabhost01]                                    October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   task:TaskSequential_4385                                                 October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   Update System version[ocilabhost01]                                      October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:38:53 PM EDT     Success   task:TaskSequential_4388                                                 October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:40:06 PM EDT     Success   Update Patching Repository[ocilabhost01]                                 October 30, 2021 1:38:53 PM EDT     October 30, 2021 1:40:06 PM EDT     Success   task:TaskSequential_4391                                                 October 30, 2021 1:40:06 PM EDT     October 30, 2021 1:40:06 PM EDT     Success   Space checks[ocilabhost01]                                               October 30, 2021 1:40:06 PM EDT     October 30, 2021 1:40:06 PM EDT     Success   task:TaskParallel_4394                                                   October 30, 2021 1:40:06 PM EDT     October 30, 2021 1:40:06 PM EDT     Success   Cleanup unwanted clones                                                  October 30, 2021 1:40:06 PM EDT     October 30, 2021 1:40:06 PM EDT     Success   task:TaskParallel_4397                                                   October 30, 2021 1:40:06 PM EDT     October 30, 2021 1:40:08 PM EDT     Success   Save PDBs state                                                          October 30, 2021 1:40:06 PM EDT     October 30, 2021 1:40:08 PM EDT     Success   Ending Pre-Patching of dbHome bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb       October 30, 2021 1:40:08 PM EDT     October 30, 2021 1:40:08 PM EDT     Success   DBHome patching                                                          October 30, 2021 1:40:08 PM EDT     October 30, 2021 1:52:30 PM EDT     Success   Starting Patching of dbHome bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb         October 30, 2021 1:40:08 PM EDT     October 30, 2021 1:40:08 PM EDT     Success   task:TaskParallel_4405                                                   October 30, 2021 1:40:08 PM EDT     October 30, 2021 1:40:12 PM EDT     Success   Opatch updation[ocilabhost01]                                            October 30, 2021 1:40:08 PM EDT     October 30, 2021 1:40:12 PM EDT     Success   task:TaskSequential_4408                                                 October 30, 2021 1:40:12 PM EDT     October 30, 2021 1:42:48 PM EDT     Success   Patch conflict check[ocilabhost01]                                       October 30, 2021 1:40:12 PM EDT     October 30, 2021 1:42:48 PM EDT     Success   task:TaskParallel_4411                                                   October 30, 2021 1:42:48 PM EDT     October 30, 2021 1:42:48 PM EDT     Success   Setting owner to patching Dirs                                           October 30, 2021 1:42:48 PM EDT     October 30, 2021 1:42:48 PM EDT     Success   task:TaskSequential_4414                                                 October 30, 2021 1:42:48 PM EDT     October 30, 2021 1:52:30 PM EDT     Success   task:TaskSequential_4415                                                 October 30, 2021 1:42:48 PM EDT     October 30, 2021 1:52:30 PM EDT     Success   DB: Applying DBHome patch[ocilabhost01]                                  October 30, 2021 1:42:48 PM EDT     October 30, 2021 1:52:30 PM EDT     Success   Ending Patching of dbHome bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb           October 30, 2021 1:52:30 PM EDT     October 30, 2021 1:52:30 PM EDT     Success   Post-operations for DBHome patching                                      October 30, 2021 1:52:30 PM EDT     October 30, 2021 1:52:47 PM EDT     Success   Starting Post-Patching of dbHome bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb    October 30, 2021 1:52:30 PM EDT     October 30, 2021 1:52:30 PM EDT     Success   SqlPatch upgrade                                                         October 30, 2021 1:52:30 PM EDT     October 30, 2021 1:52:41 PM EDT     Success   task:TaskParallel_4425                                                   October 30, 2021 1:52:41 PM EDT     October 30, 2021 1:52:44 PM EDT     Success   Updating DbHome version                                                  October 30, 2021 1:52:41 PM EDT     October 30, 2021 1:52:44 PM EDT     Success   task:TaskParallel_4428                                                   October 30, 2021 1:52:44 PM EDT     October 30, 2021 1:52:46 PM EDT     Success   updating the Database version                                            October 30, 2021 1:52:44 PM EDT     October 30, 2021 1:52:46 PM EDT     Success   task:TaskParallel_4431                                                   October 30, 2021 1:52:46 PM EDT     October 30, 2021 1:52:47 PM EDT     Success   cleanup temp files                                                       October 30, 2021 1:52:47 PM EDT     October 30, 2021 1:52:47 PM EDT     Success   task:TaskParallel_4434                                                   October 30, 2021 1:52:47 PM EDT     October 30, 2021 1:52:47 PM EDT     Success   Deleting patching Dirs                                                   October 30, 2021 1:52:47 PM EDT     October 30, 2021 1:52:47 PM EDT     Success   Ending Post-Patching of dbHome bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb      October 30, 2021 1:52:47 PM EDT     October 30, 2021 1:52:47 PM EDT     Success
```

With a final check of configured DB homes and components status by dbcli, we can now see that all the GB and DI patches are up to date:

```
### Database Home Configuration [root@ocilabhost01 ~]# dbcli describe-dbhome -i bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbbDB Home details                                                   ----------------------------------------------------------------                     ID: bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb                   Name: OraDB11204_home1                Version: 11.2.0.4.210720          Home Location: /u01/app/oracle/product/11.2.0.4/dbhome_1                 Status: Configured                Created: October 27, 2021 8:08:26 AM EDT       Database Edition: SE       Unified Auditing: false### Overall Database System Component Details [root@ocilabhost01 ~]# dbcli describe-componentSystem Version  ---------------21.2.3.0.0Component                                Installed Version    Available Version   ---------------------------------------- -------------------- --------------------GI                                        19.12.0.0.0           up-to-date          DB                                        11.2.0.4.210720       up-to-date
```

 

I hope you find this post useful. Feel free to ask me questions in the comments.

If you haven’t already, **sign up for my next post **[**here**](https://blog.pythian.com/)**.**

## Oracle Database Consulting Services

Ready to future-proof your Oracle Databse investment?

 

[View full post](https://www.pythian.com/blog/oci-database-cloud-service-patching-of-database-and-grid-infrastructure-using-oci-cli/)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Abhilash Kumar"
  },
  "dateModified" : "2026-02-23T06:34:25Z",
  "datePublished" : "2021-12-01T12:22:00Z",
  "headline" : "OCI Database Cloud Service Patching of Database and Grid Infrastructure Using OCI CLI",
  "image" : {
    "@type" : "ImageObject",
    "height" : 1707,
    "url" : "https://blog.pythian.com/wp-content/uploads/shutterstock_1748437547-scaled.jpg",
    "width" : 2560
  },
  "mainEntityOfPage" : "https://www.pythian.com/blog/oci-database-cloud-service-patching-of-database-and-grid-infrastructure-using-oci-cli/",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "Pythian Blog"
  }
}
```