Oracle Base Database Patching to 19.17 Using DBCLI
Contents
OCI – (Oracle Cloud Infrastructure)
Introduction
Cloud platforms are booming and many organizations are planning on a cloud journey to get a competitive advantage. The cloud market is vast, with a diverse selection of services. It’s not easy to select a suitable cloud platform for an organization. There are certain criteria you need to consider when selecting a platform.
- Certifications and Standards
- Technologies and Service Roadmap
- Data Security, Data Governance, and Business Policies
- Service Dependencies and Partnerships
- Contracts, Commercials, and SLAs
- Reliability and Performance
- Migration Support, Vendor Lock-in & Exit Planning
- Business Health and Company Profile
- Cost of the Cloud Services and License
All these factors play a huge role when selecting a cloud platform suited for your system workloads. If your IT infrastructure consists of many Oracle databases, I would say there is no better place than OCI (Oracle Cloud Infrastructure) to host your workload. Oracle has been there for the market for a long time and gives immense selection when hosting Oracle workloads.
Autonomous Selection:
- Autonomous Database
- Autonomous Data Warehouse
- Autonomous JSON Database
- Autonomous Transaction Processing
Exadata Services:
- Exadata at Oracle Cloud
- Exadata Cloud@Customer
DB Service Selection:
- Oracle Base Database Service
VM Selection
- Bare Metal
The best part about OCI is they came up with new orchestration tools to standardize and ease the administration work. I have listed down all the orchestration tools and administration work we can perform using the tool.
- OCI CLI – Oracle Cloud Command Line Interface (CLI):
OCI is a small-footprint tool that makes calls to Oracle Cloud Infrastructure REST APIs using HTTPS requests. It is built with the SDK for Python.
- dbcli – Database Cli :
dbcli is a command line tool available on virtual machines and bare metal DB systems (not on Exadata DB systems)
- cliadm – CLI Admin Command
Updates your dbcli tool to get the new commands that support new features added to the cloud services:
- dbaascli
dbaasapi is deprecated and replaced by dbaascli.
This tool is the command line tool for life-cycle and administration operations for Exadata databases. It must be run on the local Exadata compute node. Many dbaascli commands can be run by the Oracle user. However, some commands require root administrator privileges.
Summary of the dbaascli tool task ;
- Scale up/down OCPUs in disconnected mode (ExaCC only)
- Download and list available software images
- Managing pluggable databases (PDBs) – use SQL alternatively
- Rotating the TDE master encryption key – use SQL alternatively
- Starting and stopping the Oracle Net listener – use lsnrctl alternatively
- Managing databases created via dbaasapi (dbaascli) on a subset of the nodes (not recommended)
- bkup_api
bkup_api was replaced by dbaascli.
- exacli
exacli is the command line for getting storage cell metrics and diagnostics information on Exadata DB systems.
In this article, I will illustrate how you can patch the VM machine database system.
Before running any command you should upgrade the cliadm with the latest patch version. Upgrading this helps you to support the latest features added to cloud services.
Note: You do not need to worry about staging the patches, oracle will stage the patches in all the environments.
Upgrade cliadm
Once you execute the update-dbcli status can be checked by running dbcli list-jobs command.
[root@dbsdpl21 ~]# cliadm update-dbcli
Job details
----------------------------------------------------------------
ID: 79c1ed97-3b3f-4d35-94e6-b5cba5565ecd
Description: DcsCli patching
Status: Created
Created: April 14, 2023 2:54:32 PM UTC
Message: Dcs cli will be updated
Task Name Start Time End Time Status
------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ----------
Validate cliadm Upgrade Status
[root@dbsdpl21 ~]# dbcli list-jobs
79c1ed97-3b3f-4d35-94e6-b5cba5565ecd DcsCli patching Friday, April 14, 2023, 14:54:32 UTC Success
Describe the Component
Execute dbcli describe-component command and check what is the latest patch available to apply.
[root@dbsdpl21 ~]# dbcli describe-component
System Version
---------------
21.2.3.0.0
Component Installed Version Available Version
---------------------------------------- -------------------- --------------------
GI 19.11.0.0.0 19.18.0.0
DB 19.11.0.0.0 19.18.0.0
Describe Latest Patches
[root@dbsdpl21 ~]# dbcli describe-latestpatch
componentType availableVersion
--------------- --------------------
gi 12.2.0.1.230117
gi 12.1.0.2.230117
gi 18.16.0.0.0
gi 19.18.0.0.0
gi 21.9.0.0.0
db 11.2.0.4.230117
db 12.2.0.1.230117
db 12.1.0.2.230117
db 18.16.0.0.0
db 19.18.0.0.0
db 21.9.0.0.0
[root@dbsdpl21 ~]#
Upgrade Database
Upgrade commands need the database home-id, this can be obtained by running the dbcli list-DB homes. Make sure to clean up the database home folder and gain space before the upgrade.
Note: I would recommend staying one patch level down (N-1), so you can apply the 19.17.0.0 patch for the database.
[root@dbsdpl21 ~]# dbcli list-dbhomes
ID Name DB Version Home Location Status
---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ----------
42935588-54f1-4f08-98cb-5f95d95cb881 OraDB19000_home1 19.11.0.0.0 /u01/app/oracle/product/19.0.0.0/dbhome_1 Configured
[root@dbsdpl21 ~]#
[root@dbsdpl21 ~]# dbcli update-dbhome -i 42935588-54f1-4f08-98cb-5f95d95cb881 -v 19.17.0.0.0
{
"jobId" : "31904f6a-f9b9-498b-8e5f-8ecfab1d6114",
"status" : "Created",
"message" : null,
"errorCode" : "",
"reports" : [ ],
"createTimestamp" : "April 14, 2023 15:01:46 PM UTC",
"resourceList" : [ ],
"description" : "Database inplace image patching with dbhomeId : 42935588-54f1-4f08-98cb-5f95d95cb881",
"updatedTime" : "April 14, 2023 15:01:52 PM UTC",
"percentageProgress" : "0%",
"cause" : null,
"action" : null
}
[root@dbsdpl21 ~]
Upgrade: Status Check
The upgrade consists of 4 steps:
- Precheck DBHome Patching Tasks
- DBHome Patching
[root@dbsdpl21 log]# dbcli describe-job -i 31904f6a-f9b9-498b-8e5f-8ecfab1d6114
Job details
----------------------------------------------------------------
ID: 31904f6a-f9b9-498b-8e5f-8ecfab1d6114
Description: Database inplace image patching with dbhomeId : 42935588-54f1-4f08-98cb-5f95d95cb881
Status: Running
Created: April 14, 2023 3:01:46 PM UTC
Progress: 99%
Message:
Error Code:
Task Name Start Time End Time Status
------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ----------
Precheck DBHome patching tasks April 14, 2023 3:02:43 PM UTC April 14, 2023 3:09:53 PM UTC Success
DBHome patching April 14, 2023 3:09:53 PM UTC April 14, 2023 3:53:46 PM UTC Success
Post DBHome patching tasks April 14, 2023 3:53:46 PM UTC April 14, 2023 3:53:46 PM UTC Running
[root@dbsdpl21 log]#
DB Upgrade: Validate
Upgrade is
[root@dbsdpl21 log]# dbcli describe-job -i 31904f6a-f9b9-498b-8e5f-8ecfab1d6114
Job details
----------------------------------------------------------------
ID: 31904f6a-f9b9-498b-8e5f-8ecfab1d6114
Description: Database inplace image patching with dbhomeId : 42935588-54f1-4f08-98cb-5f95d95cb881
Status: Success
Created: April 14, 2023 3:01:46 PM UTC
Progress: 100%
Message:
Error Code:
Task Name Start Time End Time Status
------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ----------
Precheck DBHome patching tasks April 14, 2023 3:02:43 PM UTC April 14, 2023 3:09:53 PM UTC Success
DBHome patching April 14, 2023 3:09:53 PM UTC April 14, 2023 3:53:46 PM UTC Success
Post DBHome patching tasks April 14, 2023 3:53:46 PM UTC April 14, 2023 4:19:32 PM UTC Success
Install object store swift module April 14, 2023 4:18:54 PM UTC April 14, 2023 4:19:06 PM UTC Success
[root@dbsdpl21 log]#
Conclusion
In summary, OCI is getting more mature day by day. These new orchestration tools ease the life of oracle dba spending on administration tasks like patching.
If you want to learn about server patching refer to my article on Oracle Cloud Infrastructure (OCI) – Part 2: OCI -VM Server and DB Patching