As you know, the 23ai is already available in several environments, mainly in Oracle Cloud, and one of these is the ExaCC. I already covered how to do the upgrade to 23ai for Grid Infrastructure (GI) using the Web interface, and Christian covered the upgrade of the OCI CLI. But here I will upgrade using the ExaCC CLI (dbaascli).
Again, first things first. Requirements
As discussed in the previous post, the first requirement is that your VM/domU is running the 23.1x version because it runs over the OEL 8. The second one is that the only available versions that are allowed to be installed in the cluster are the 19c and 23ai. The last one is that the attribute “compatible.rdbms” needs to be at least 19.0.0.0 for your diskgroups:
SQL> SELECT name, compatibility, database_compatibility FROM v$asm_diskgroup; NAME COMPATIBILITY DATABASE_COMPATIBILITY ------------------------------ ------------------------------------------------------------ ------------------------------------------------------------ DATAC5 19.0.0.0.0 11.2.0.4.0 RECOC5 19.0.0.0.0 11.2.0.4.0 SQL> SQL> ALTER DISKGROUP DATAC5 SET ATTRIBUTE 'compatible.rdbms' = '19.0.0.0.0'; Diskgroup altered. SQL> ALTER DISKGROUP RECOC5 SET ATTRIBUTE 'compatible.rdbms' = '19.0.0.0.0'; Diskgroup altered. SQL>
First step, showImages
It is a simple check, but the first one is to verify if the version 23ai for GI is available. To do that, we use the command “dbaascli cswLib showImages –product GRID”. The parameter “–product GRID” will return only the GI images:
[root@exxc05db01 ~]# dbaascli cswLib showImages --product GRID DBAAS CLI version 24.1.2.0.0 Executing command cswLib showImages --product GRID Job id: a1346789-876d-4f93-9e1b-dfrdfgfgtd2344 Session log: /var/opt/oracle/log/cswLib/showImages/dbaastools_2024-06-20_11-23-28-AM_258563.log Log file location: /var/opt/oracle/log/cswLib/showImages/dbaastools_2024-06-20_11-23-28-AM_258563.log ############ List of Available grid Artifacts ############# 1.IMAGE_TAG=grid_19.22.0.0.0 VERSION=19.22.0.0.0 DESCRIPTION=19c JAN 2024 GI Image 2.IMAGE_TAG=grid_19.23.0.0.0 VERSION=19.23.0.0.0 DESCRIPTION=19c APR 2024 GI Image 3.IMAGE_TAG=grid_23.4.0.24.05 VERSION=23.4.0.24.05 DESCRIPTION=23ai grid image 23.4.0.24.05 4.IMAGE_TAG=grid_19.20.0.0.0 VERSION=19.20.0.0.0 DESCRIPTION=19c JUL 2023 GI Image 5.IMAGE_TAG=grid_19.21.0.0.0 VERSION=19.21.0.0.0 DESCRIPTION=19c OCT 2023 GI Image Images can be downloaded using their image tags. For details, see help using 'dbaascli cswlib download --help'. dbaascli execution completed [root@exxc05db01 ~]#
As you can see, image version 23.4.0.24.05 is available.
Second step, executePrereqs
In the same way as patching using the web interface, we need to run the precheck. It is a simple command that uses the same dbaascli but with the parameter “–executePrereqs“:
[root@exxc05db01 ~]# dbaascli grid upgrade --targetVersion 23.4.0.24.05 --executePrereqs DBAAS CLI version 24.1.2.0.0 Executing command grid upgrade --targetVersion 23.4.0.24.05 --executePrereqs Job id: ad345678-8888-4f64-b60b-888888888888 Session log: /var/opt/oracle/log/grid/upgrade/dbaastools_2024-06-20_12-16-23-PM_379074.log Loading PILOT... Session ID of the current execution is: 20821 Log file location: /var/opt/oracle/log/grid/upgrade/pilot_2024-06-20_12-16-29-PM_379736 ----------------- Running initialize job Completed initialize job ----------------- Running validate_target_version job Completed validate_target_version job ----------------- Running check_locations_existence job Completed check_locations_existence job ----------------- Running check_locations_free_space job Completed check_locations_free_space job ----------------- Running check_os_version job Completed check_os_version job ----------------- Running check_patch_level job Completed check_patch_level job ----------------- Running check_crs_running_all_nodes job Completed check_crs_running_all_nodes job ----------------- Running check_asm_rebalance_ops job Completed check_asm_rebalance_ops job ----------------- Running check_crs_state job Completed check_crs_state job ----------------- Running ocrcheck job Completed ocrcheck job ----------------- Running validate_databases job [WARNING] [DBAAS-70643] Following pluggable databases '{DB119CD=[PDB2, PDB3]}' do not have services configured. ACTION: Make sure to configure the services of pluggable databases so that pluggable databases are started after the database bounce. Completed validate_databases job ----------------- Running validate_image_download_configuration job Completed validate_image_download_configuration job ----------------- Running download_image job Completed download_image job ----------------- Running create_locations_first_node job Completed create_locations_first_node job ----------------- Running unpackage_image_first_node job Completed unpackage_image_first_node job ----------------- Running validate_image job Completed validate_image job ----------------- Running software_only_prereqs job Completed software_only_prereqs job ----------------- Running cluvfy_pre_upgrade job Completed cluvfy_pre_upgrade job ----------------- Running prereqs_cleanup job Completed prereqs_cleanup job dbaascli execution completed [root@exxc05db01 ~]#
As you can see above, the precheck was successful and no error was reported. So, we can continue the upgrade process.
One interesting detail is that the command is “dbaascli grid upgrade“, instead of the traditional “dbaascli grid patch“. The parameters are almost the same, and if you try to use the “patch” command (obviosity) you receive one error:
[root@exxc05db01 ~]# dbaascli grid patch --targetVersion 23.4.0.24.05 --executePrereqs DBAAS CLI version 24.1.2.0.0 Executing command grid patch --targetVersion 23.4.0.24.05 --executePrereqs Job id: df44567899999-41bf-aa2d-999999999999 Session log: /var/opt/oracle/log/grid/patch/dbaastools_2024-06-20_11-28-14-AM_269847.log Loading PILOT... Session ID of the current execution is: 20817 Log file location: /var/opt/oracle/log/grid/patch/pilot_2024-06-20_11-28-19-AM_270275 ----------------- Running initialization job Execution of initialization failed [FATAL] [DBAAS-70383] Patch details for target version '23.4.0.24.05' not found. CAUSE: A patch for the specified target version has not been released. ACTION: Specify a valid target version. *** Executing jobs which need to be run always... *** ----------------- Running post_patch_lock_manager job Completed post_patch_lock_manager job ******** PLUGIN EXECUTION FAILED ******** To resume this failed session, run the following command: dbaascli grid patch --targetVersion 23.4.0.24.05 --executePrereqs true --sessionID 20817 --resume [root@exxc05db01 ~]#
Third step, upgrade
The last process is to formally upgrade the GI using the dbaaacli. In the same way as the previous please verify that the “targetVersion” represents the same value that was returned by the “showImages” executed in the first step. So, we can call the upgrade:
[root@exxc05db01 ~]# dbaascli grid upgrade --targetVersion 23.4.0.24.05 DBAAS CLI version 24.1.2.0.0 Executing command grid upgrade --targetVersion 23.4.0.24.05 Job id: aaaaaaaa-3473-2222-3333-fffffffffffff Session log: /var/opt/oracle/log/grid/upgrade/dbaastools_2024-06-20_12-25-13-PM_16132.log Loading PILOT... Session ID of the current execution is: 20822 Log file location: /var/opt/oracle/log/grid/upgrade/pilot_2024-06-20_12-25-18-PM_16436 ----------------- Running initialize job Completed initialize job ----------------- Running validate_target_version job Completed validate_target_version job ----------------- Running check_locations_existence job Completed check_locations_existence job ----------------- Running check_locations_free_space job Completed check_locations_free_space job ----------------- Running check_os_version job Completed check_os_version job ----------------- Running check_patch_level job Completed check_patch_level job ----------------- Running check_crs_running_all_nodes job Completed check_crs_running_all_nodes job ----------------- Running check_asm_rebalance_ops job Completed check_asm_rebalance_ops job ----------------- Running check_crs_state job Completed check_crs_state job ----------------- Running ocrcheck job Completed ocrcheck job ----------------- Running validate_databases job [WARNING] [DBAAS-70643] Following pluggable databases '{DB119CD=[PDB2, PDB3]}' do not have services configured. ACTION: Make sure to configure the services of pluggable databases so that pluggable databases are started after the database bounce. Completed validate_databases job ----------------- Running validate_image_download_configuration job Completed validate_image_download_configuration job ----------------- Running download_image job Completed download_image job ----------------- Running create_locations_first_node job Completed create_locations_first_node job ----------------- Running unpackage_image_first_node job Completed unpackage_image_first_node job ----------------- Running validate_image job Completed validate_image job ----------------- Running software_only_prereqs job Completed software_only_prereqs job ----------------- Running cluvfy_pre_upgrade job Completed cluvfy_pre_upgrade job Acquiring write lock: _u01_app_19.0.0.0_grid Acquiring write lock: provisioning ----------------- Running pre_upgrade_lock_manager job Completed pre_upgrade_lock_manager job ----------------- Running update_limits job Completed update_limits job ----------------- Running unset_css_miscount job Completed unset_css_miscount job ----------------- Running setup_software_first_node job Completed setup_software_first_node job ----------------- Running create_locations_on_remote_nodes job Completed create_locations_on_remote_nodes job ----------------- Running copy_software_to_shared_location job Completed copy_software_to_shared_location job ----------------- Running copy_software_to_remote_nodes job Completed copy_software_to_remote_nodes job ----------------- Running remove_software_from_shared_location job Completed remove_software_from_shared_location job ----------------- Running inventory_rootscript job Completed inventory_rootscript job ----------------- Running attach_home job Completed attach_home job ----------------- Running software_rootscript job Grid software install completed with oracle home: /u02/app/23.0.0.0/gridhome_1 Completed software_rootscript job ----------------- Running config_update job Completed config_update job ----------------- Running check_rolling job Completed check_rolling job ----------------- Running stop_databases-exxc05db01 job Completed stop_databases-exxc05db01 job ----------------- Running stop_tfa-exxc05db01 job Completed stop_tfa-exxc05db01 job ----------------- Running umount_acfs-exxc05db01 job Completed umount_acfs-exxc05db01 job ----------------- Running execute_rootscript-exxc05db01 job Completed execute_rootscript-exxc05db01 job ----------------- Running mount_acfs-exxc05db01 job Completed mount_acfs-exxc05db01 job ----------------- Running start_databases-exxc05db01 job Completed start_databases-exxc05db01 job ----------------- Running restore_tfa_status-exxc05db01 job Completed restore_tfa_status-exxc05db01 job ----------------- Running stop_databases-exxc06db01 job Completed stop_databases-exxc06db01 job ----------------- Running stop_tfa-exxc06db01 job Completed stop_tfa-exxc06db01 job ----------------- Running umount_acfs-exxc06db01 job Completed umount_acfs-exxc06db01 job ----------------- Running execute_rootscript-exxc06db01 job Completed execute_rootscript-exxc06db01 job ----------------- Running mount_acfs-exxc06db01 job Completed mount_acfs-exxc06db01 job ----------------- Running start_databases-exxc06db01 job Completed start_databases-exxc06db01 job ----------------- Running restore_tfa_status-exxc06db01 job Completed restore_tfa_status-exxc06db01 job ----------------- Running config_tools job Completed config_tools job ----------------- Running cvu_post_checks job Completed cvu_post_checks job ----------------- Running check_crs_running_all_nodes_post_upgrade job Completed check_crs_running_all_nodes_post_upgrade job ----------------- Running check_crs_version_post_upgrade job Completed check_crs_version_post_upgrade job ----------------- Running set_asm_cardinality job Completed set_asm_cardinality job ----------------- Running disable_diagsnap job Completed disable_diagsnap job ----------------- Running exacs_post_upgrade job Grid upgrade completed with oracle home: /u02/app/23.0.0.0/gridhome_1 Completed exacs_post_upgrade job ----------------- Running post_upgrade_lock_manager job Completed post_upgrade_lock_manager job Releasing lock: _u01_app_19.0.0.0_grid Releasing lock: provisioning ----------------- Running generate_system_details job Acquiring native write lock: global_dbsystem_details_generation Releasing native lock: global_dbsystem_details_generation Completed generate_system_details job dbaascli execution completed You have new mail in /var/spool/mail/root [root@exxc05db01 ~]#
If you are interested, you can check the “pilot” log that was shown in the beginning (I recommend you do that). There you can see all the commands executed like “rootupgrade” and “cluvfy”. From the output above you can notice that the upgrade is done node by node, and all steps are done, from precheck, ACFS, upgrade itself, and TFA. The output is clear about the steps that are executed, and in which node it is being called. And you can see that the new path is mentioned, now GI is at “/u02” instead “/u01”.
As you can see, the procedure was successful. No error was presented, but if you have any errors, please open the SR. Oracle Support is the only official support.
As you saw above, the procedure is quite simple, we precheck and upgrade. There is no secret, you just need to meet the requirements and proceed with the steps. In the end, the OCI web interface will reflect the GI at 23ai too:
Disclaimer: “The postings on this site are my own and don’t necessarily represent my actual employer positions, strategies, or opinions. The information here was edited to be useful for general purposes, specific data and identifications were removed to allow reach the generic audience and to be useful for the community. Post protected by copyright”
Pingback: Manually upgrading Oracle GI from 19c to 23ai - Fernando Simon