Back to Research & Articles
Latest Insights
OCI_ExaCC
June 5, 2026
11 min read
70 views

Oracle ExaCC databases in-place patching using dbaascli

Oracle Database In-Place Patching on Exadata Cloud@Customer (ExaCC) Using dbaascli


Introduction

Oracle Exadata Cloud@Customer (ExaCC) provides the dbaascli utility to simplify Oracle Database lifecycle management, including software provisioning, patching, rollback, and database administration.


This blog demonstrates how to perform Oracle Database Release Update (RU) patching on a two-node Oracle Exadata Cloud@Customer (ExaCC) cluster using the in-place patching method. In this approach, the existing Oracle Home is patched directly without creating a new Oracle Home. The blog also covers the rollback procedure to restore the database to the previous patch level if required.

The following sections provide the step-by-step procedure for applying and rolling back an Oracle Database Release Update using dbaascli, along with the prerequisite checks and post-patching validation.


Note:
 The command outputs included in this blog have been truncated for better readability. Actual output may vary depending on your ExaCC environment and the Oracle Database Release Update being applied.


High-Level Steps

  1. List the available Oracle Database 19c software images.
  2. Execute the prerequisite checks before applying the Oracle Database 19.28 Release Update.
  3. Apply the Oracle Database 19.28 Release Update.
  4. Verify the Oracle Database component patch versions.
  5. Execute the prerequisite checks before rolling back the Oracle Database 19.28 Release Update.
  6. Roll back the Oracle Database 19.28 Release Update.
  7. Verify the Oracle Database component patch versions after the rollback.

The detailed sections that follow explain each step, including the required dbaascli commands, sample output, and validation procedures for successfully applying and rolling back an Oracle Database Release Update on an Exadata Cloud@Customer environment.


1] List the available Oracle Database 19c software images:

[root@ 19.0.0.0]# dbaascli cswlib showImages --product database

DBAAS CLI version 25.4.1.0.0

Executing command cswlib showImages --product database

Job id: 5a849f5b-7614-404d-9b33-b3ae9d793370

Session log: /var/opt/oracle/log/cswLib/showImages/dbaastools_2026-01-28_11-40-41-AM_91814.log

Log file location: /var/opt/oracle/log/cswLib/showImages/dbaastools_2026-01-28_11-40-41-AM_91814.log


1.IMAGE_TAG=19.25.0.0.0

  VERSION=19.25.0.0.0

  DESCRIPTION=19c OCT 2024 DB Image

2.IMAGE_TAG=19.26.0.0.0

  VERSION=19.26.0.0.0

  DESCRIPTION=19c JAN 2025 DB Image

3.IMAGE_TAG=19.27.0.0.0

  VERSION=19.27.0.0.0

  DESCRIPTION=19c APR 2025 DB Image

4.IMAGE_TAG=19.28.0.0.0

  VERSION=19.28.0.0.0

  DESCRIPTION=19c JUL 2025 DB Image

5.IMAGE_TAG=19.29.0.0.0

  VERSION=19.29.0.0.0

  DESCRIPTION=19c OCT 2025 DB Image

6.IMAGE_TAG=23.26.0.0.0

  VERSION=23.26.0.0.0

  DESCRIPTION=23ai DB image 23.26.0.0.0

7.IMAGE_TAG=23.7.0.25.01

  VERSION=23.7.0.25.01

  DESCRIPTION=23ai DB image 23.7.0.25.01

8.IMAGE_TAG=23.8.0.25.04

  VERSION=23.8.0.25.04

  DESCRIPTION=23ai DB image 23.8.0.25.04

9.IMAGE_TAG=23.9.0.25.07

  VERSION=23.9.0.25.07

  DESCRIPTION=23ai DB image 23.9.0.25.07

Images can be downloaded using their image tags. For details, see help using 'dbaascli cswlib download --help'.

dbaascli execution completed


2] Execute the prerequisites checks before applying the Oracle database 19.28 release update.

[root@targetserver1 19.0.0.0]# dbaascli dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1927 --targetVersion 19.28.0.0.0 --nodes targetserver1,targetserver2 --executePrereqs
DBAAS CLI version 25.4.1.0.0
Executing command dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1927 --targetVersion 19.28.0.0.0 --nodes targetserver1,targetserver2 --executePrereqs
Job id: a6d3f1a2-f42a-4ea4-9594-e6adf6ef1c41
Session log: /var/opt/oracle/log/dbHome/patch/dbaastools_2026-01-29_10-29-53-AM_389199.log
Loading PILOT...
Session ID of the current execution is: 39756
Log file location: /var/opt/oracle/log/dbHome/patch/pilot_2026-01-29_10-29-59-AM_389670
Completed initialization job
Completed validate_user_input job
Completed validate_nodes job
Completed validate_oracle_home job
Completed validate_source_version job
Completed validate_target_version job
Completed validate_creg_file_existence job
Completed validate_diag_perm job
Completed validate_inv_perm job
Completed validate_backup_loc job
Completed validate_patch_across_nodes job
Completed validate_databases job
Completed validate_gold_image_url job
Completed validate_disk_space job
Completed validate_audit_files_in_source_home job
Completed validate_dir_size_in_source_home job
Acquiring native write lock: 19.28.0.0.0
Releasing native lock: 19.28.0.0.0
Completed download_gold_image job
Completed validate_gold_image job
Completed run_installer_prereqs job
Completed check_patch_conflict job
Completed remove_unzip_loc job
dbaascli execution completed


3] Apply the Oracle Database 19.28 Release Update.

[root@targetserver1 19.0.0.0]# dbaascli dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1927 --targetVersion 19.28.0.0.0 --nodes targetserver1,targetserver2
DBAAS CLI version 25.4.1.0.0
Executing command dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1927 --targetVersion 19.28.0.0.0 --nodes targetserver1,targetserver2
Job id: 968cdbb6-ca3b-449a-9d23-d07958a62e5e
Session log: /var/opt/oracle/log/dbHome/patch/dbaastools_2026-01-29_10-35-31-AM_35306.log
Loading PILOT...
Session ID of the current execution is: 39757
Log file location: /var/opt/oracle/log/dbHome/patch/pilot_2026-01-29_10-35-41-AM_36179
Completed initialization job
Completed validate_user_input job
Completed validate_nodes job
Completed validate_oracle_home job
Completed validate_source_version job
Completed validate_target_version job
Completed validate_creg_file_existence job
Completed validate_diag_perm job
Completed validate_inv_perm job
Completed validate_backup_loc job
Completed validate_patch_across_nodes job
Completed validate_databases job
Completed validate_gold_image_url job
Completed validate_disk_space job
Completed validate_audit_files_in_source_home job
Completed validate_dir_size_in_source_home job
Acquiring native write lock: 19.28.0.0.0
Releasing native lock: 19.28.0.0.0
Completed download_gold_image job
Completed validate_gold_image job
Completed run_installer_prereqs job
Completed check_patch_conflict job
Acquiring write lock: _u02_app_oracle_product_19.0.0.0_dbhome_1927
Running pre_patch_lock_manager job
Completed pre_patch_lock_manager job
Completed enable_wallet_root job
Completed copy_image-targetserver1 job
Completed stop_database_instance-targetserver1 job
Completed detach_home-targetserver1 job
Completed move_home-targetserver1 job
Completed move_image_to_home_loc-targetserver1 job
Completed setup_db_home-targetserver1 job
Completed update_inventory-targetserver1 job
Completed copy_home_to_backup_loc-targetserver1 job
Completed run_set_asm_admin_gid-targetserver1 job
Completed root_script_execution-targetserver1 job
Completed move_config_files-targetserver1 job
Completed start_database_instance-targetserver1 job
Completed exacs_post_patch_node_updation-targetserver1 job
Completed copy_image-targetserver2 job
Completed stop_database_instance-targetserver2 job
Completed move_home-targetserver2 job
Completed setup_db_home-targetserver2 job
Completed update_inventory-targetserver2 job
Completed run_set_asm_admin_gid-targetserver2 job
Completed root_script_execution-targetserver2 job
Completed move_config_files-targetserver2 job
Completed start_database_instance-targetserver2 job
Completed exacs_post_patch_node_updation-targetserver2 job
Completed remove_home_from_backup_loc job
Datapatch execution on database 'ORAPATCH' is in progress
Datapatch execution on database 'ORAPATCH' is complete
Recompilation of invalid objects on database 'ORAPATCH' is in progress
Recompilation of invalid objects on database 'ORAPATCH' is complete
Completed datapatch_and_recompile_invalid_objects job
Completed update_pdb_status job
Completed backup_old_home job
Completed post_patch_lock_manager job
Releasing lock: _u02_app_oracle_product_19.0.0.0_dbhome_1927
Completed post_patch_validation job
Completed cleanup job
Acquiring native write lock: global_dbsystem_details_generation
Releasing native lock: global_dbsystem_details_generation
Completed generate_dbsystem_details job
dbaascli execution completed

4] Verify the Oracle Database components patch version.


SQL> select name,open_mode,database_role from v$database;

NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
ORAPATCH READ WRITE PRIMARY


COMP_ID COMP_NAME VERSION VERSION_FULL STATUS
--------------- ---------------------------------------- ------------------------------ ------------------------------ ---------------------------------
CATALOG Oracle Database Catalog Views 19.0.0.0.0 19.28.0.0.0 VALID
CATPROC Oracle Database Packages and Types 19.0.0.0.0 19.28.0.0.0 VALID
RAC Oracle Real Application Clusters 19.0.0.0.0 19.28.0.0.0 VALID
JAVAVM JServer JAVA Virtual Machine 19.0.0.0.0 19.28.0.0.0 VALID
XML Oracle XDK 19.0.0.0.0 19.28.0.0.0 VALID
CATJAVA Oracle Database Java Packages 19.0.0.0.0 19.28.0.0.0 VALID
APS OLAP Analytic Workspace 19.0.0.0.0 19.28.0.0.0 VALID
XDB Oracle XML Database 19.0.0.0.0 19.28.0.0.0 VALID
OWM Oracle Workspace Manager 19.0.0.0.0 19.28.0.0.0 VALID
CONTEXT Oracle Text 19.0.0.0.0 19.28.0.0.0 VALID
ORDIM Oracle Multimedia 19.0.0.0.0 19.28.0.0.0 VALID
SDO Spatial 19.0.0.0.0 19.28.0.0.0 VALID
XOQ Oracle OLAP API 19.0.0.0.0 19.28.0.0.0 VALID
OLS Oracle Label Security 19.0.0.0.0 19.28.0.0.0 VALID
DV Oracle Database Vault 19.0.0.0.0 19.28.0.0.0 VALID
15 rows selected.


5] Execute the prerequisites checks before rolling back the Oracle Database 19.28 Release Update.
[root@targetserver1 19.0.0.0]# dbaascli dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1927 --targetVersion 19.27.0.0.0 --nodes targetserver1,targetserver2 --rollback --executePrereqs
DBAAS CLI version 25.4.1.0.0
Executing command dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1927 --targetVersion 19.27.0.0.0 --nodes targetserver1,targetserver2 --rollback --executePrereqs
Job id: 04745f90-9c85-403e-85d3-bdea9472be1a
Session log: /var/opt/oracle/log/dbHome/patch/dbaastools_2026-01-29_11-38-14-AM_107950.log
Loading PILOT...
Session ID of the current execution is: 39762
Log file location: /var/opt/oracle/log/dbHome/patch/pilot_2026-01-29_11-38-20-AM_109777
Completed initialization job
Completed validate_user_input job
Completed validate_nodes job
Completed validate_oracle_home job
Completed validate_creg_file_existence job
Completed validate_diag_perm job
Completed validate_inv_perm job
Completed validate_backup_loc job
Completed validate_patch_across_nodes job
Completed validate_databases job
Completed validate_gold_image_url job
Completed validate_disk_space job
Completed validate_audit_files_in_source_home job
Completed validate_dir_size_in_source_home job
Skipping. Job is detected as not applicable.
Completed validate_gold_image job
Completed run_installer_prereqs job
Completed remove_unzip_loc job
dbaascli execution completed


6] Roll back the Oracle Database 19.28 Release Update.
[root@targetserver1 19.0.0.0]# dbaascli dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1927 --targetVersion 19.27.0.0.0 --rollback --sessionID 39757
DBAAS CLI version 25.4.1.0.0
Executing command dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1927 --targetVersion 19.27.0.0.0 --rollback --sessionID 39757
Job id: c5b19941-a615-4b15-b31a-e8dd92f5706f
Session log: /var/opt/oracle/log/dbHome/patch/dbaastools_2026-01-29_12-25-27-PM_58759.log
Loading PILOT...
Session ID of the current execution is: 39771
Log file location: /var/opt/oracle/log/dbHome/patch/pilot_2026-01-29_12-25-36-PM_59613
Completed initialization job
Completed validate_user_input job
Completed validate_nodes job
Completed validate_oracle_home job
Completed validate_creg_file_existence job
Completed validate_diag_perm job
Completed validate_inv_perm job
Completed validate_backup_loc job
Completed validate_patch_across_nodes job
Completed validate_databases job
Completed validate_gold_image_url job
Completed validate_disk_space job
Completed validate_audit_files_in_source_home job
Completed validate_dir_size_in_source_home job
Skipping. Job is detected as not applicable.
Completed validate_gold_image job
Completed run_installer_prereqs job
Acquiring write lock: _u02_app_oracle_product_19.0.0.0_dbhome_1927
Running pre_patch_lock_manager job
Completed pre_patch_lock_manager job
Completed enable_wallet_root job
Completed copy_image-targetserver1 job
Completed stop_database_instance-targetserver1 job
Completed detach_home-targetserver1 job
Completed move_home-targetserver1 job
Completed move_image_to_home_loc-targetserver1 job
Completed setup_db_home-targetserver1 job
Completed update_inventory-targetserver1 job
Completed copy_home_to_backup_loc-targetserver1 job
Completed run_set_asm_admin_gid-targetserver1 job
Completed root_script_execution-targetserver1 job
Completed move_config_files-targetserver1 job
Completed start_database_instance-targetserver1 job
Completed exacs_post_patch_node_updation-targetserver1 job
Completed copy_image-targetserver2 job
Completed stop_database_instance-targetserver2 job
Completed move_home-targetserver2 job
Completed setup_db_home-targetserver2 job
Completed update_inventory-targetserver2 job
Completed run_set_asm_admin_gid-targetserver2 job
Completed root_script_execution-targetserver2 job
Completed move_config_files-targetserver2 job
Completed start_database_instance-targetserver2 job
Completed exacs_post_patch_node_updation-targetserver2 job
Completed remove_home_from_backup_loc job
Datapatch execution on database 'ORAPATCH' is in progress
Datapatch execution on database 'ORAPATCH' is complete
Recompilation of invalid objects on database 'ORAPATCH' is in progress
Recompilation of invalid objects on database 'ORAPATCH' is complete
Completed datapatch_and_recompile_invalid_objects job
Completed update_pdb_status job
Completed post_patch_lock_manager job
Releasing lock: _u02_app_oracle_product_19.0.0.0_dbhome_1927
Completed post_patch_validation job
Completed cleanup job
Acquiring native write lock: global_dbsystem_details_generation
Releasing native lock: global_dbsystem_details_generation
Completed generate_dbsystem_details job
dbaascli execution completed


7] Verify the Oracle Database components patch version after the rollback.

set lines 1000

set pages 1000

col comp_id for a15

col comp_name for a40

col version for a15

col version_full for a15

col status for a15

select comp_id,comp_name,version,version_full,status from dba_registry;


COMP_ID COMP_NAME VERSION VERSION_FULL STATUS
--------------- ----------------------------------- ------------------------------ ------------------------------ ---------------------------------
CATALOG Oracle Database Catalog Views 19.0.0.0.0 19.27.0.0.0 VALID
CATPROC Oracle Database Packages and Types 19.0.0.0.0 19.27.0.0.0 VALID
RAC Oracle Real Application Clusters 19.0.0.0.0 19.27.0.0.0 VALID
JAVAVM JServer JAVA Virtual Machine 19.0.0.0.0 19.27.0.0.0 VALID
XML Oracle XDK 19.0.0.0.0 19.27.0.0.0 VALID
CATJAVA Oracle Database Java Packages 19.0.0.0.0 19.27.0.0.0 VALID
APS OLAP Analytic Workspace 19.0.0.0.0 19.27.0.0.0 VALID
XDB Oracle XML Database 19.0.0.0.0 19.27.0.0.0 VALID
OWM Oracle Workspace Manager 19.0.0.0.0 19.27.0.0.0 VALID
CONTEXT Oracle Text 19.0.0.0.0 19.27.0.0.0 VALID
ORDIM Oracle Multimedia 19.0.0.0.0 19.27.0.0.0 VALID
SDO Spatial 19.0.0.0.0 19.27.0.0.0 VALID
XOQ Oracle OLAP API 19.0.0.0.0 19.27.0.0.0 VALID
OLS Oracle Label Security 19.0.0.0.0 19.27.0.0.0 VALID
DV Oracle Database Vault 19.0.0.0.0 19.27.0.0.0 VALID
15 rows selected


Community Discussion

Post a thought as Guest
Be the first to share your thoughts on this technical deep dive.

Read Next

More articles you might find interesting