On this post we are going to go step-by-step through the process of upgrading a 2 node RAC from 19c to 26ai.
We are going to install here:
[root@rac-ol8-01 ~]# mkdir -p /u01/app/oracle/product/26ai/grid
[root@rac-ol8-01 ~]# chown oracle:oinstall /u01/app/oracle/product/26ai/grid
[root@rac-ol8-02 ~]# mkdir -p /u01/app/oracle/product/26ai/grid
[root@rac-ol8-02 ~]# chown oracle:oinstall /u01/app/oracle/product/26ai/grid
You can download the Grid Home from here.
1:- First we are going to install 26ai preinstall packages and update the system:
**on both nodes, run:
[root@rac-ol8-01 ~]# yum install oracle-ai-database-preinstall-26ai
[root@rac-ol8-01 ~]# yum update
** reboot
[root@rac-ol8-01 ~]# uname -a
Linux rac-ol8-01 5.15.0-324.217.5.2.el8uek.x86_64 #2 SMP Fri Sep 4 06:49:07 PDT 2026 x86_64 x86_64 x86_64 GNU/Linux
[root@rac-ol8-01 ~]#
If you have role separation for ASM/RDBMS, make sure both users are on the limits conf. On this case we use oracle for both GRID and RDBMS:
[root@rac-ol8-01 ~]# grep "^[^#;]" /etc/security/limits.d/oracle-ai-database-preinstall-26ai.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
oracle soft data unlimited
oracle hard data unlimited
[root@rac-ol8-01 ~]#
2:- Make sure Disk Group minimum compatibility is 19.0.0.0.0:
col NAME format a10
col COMPATIBILITY format a20
col DATABASE_COMPATIBILITY format a30
select name, compatibility, database_compatibility from v$asm_diskgroup;
NAME COMPATIBILITY DATABASE_COMPATIBILITY
---------- -------------------- ------------------------------
DATA 19.0.0.0.0 10.1.0.0.0
FRA 19.0.0.0.0 10.1.0.0.0
SQL>
If not, update with this:
[oracle@rac-ol8-01 ~]$ asmcmd setattr -G DATA compatible.rdbms 19.0.0.0.0
[oracle@rac-ol8-01 ~]$ asmcmd setattr -G FRA compatible.rdbms 19.0.0.0.0
col NAME format a10
col COMPATIBILITY format a20
col DATABASE_COMPATIBILITY format a30
select name, compatibility, database_compatibility from v$asm_diskgroup;
NAME COMPATIBILITY DATABASE_COMPATIBILITY
---------- -------------------- ------------------------------
DATA 19.0.0.0.0 19.0.0.0.0
FRA 19.0.0.0.0 19.0.0.0.0
3:- It is recommended to have the environment on a relatively recent patch levels, on this case we are on Jul 26:
[oracle@rac-ol8-01 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
39526364;OCW RELEASE UPDATE 19.32.0.0.0 (39526364)
39503034;ACFS RELEASE UPDATE 19.32.0.0.0 (39503034)
39472050;Database Release Update : 19.32.0.0.260721 (39472050)
39107855;TOMCAT RELEASE UPDATE 19.0.0.0.0 (39107855)
39107825;DBWLM RELEASE UPDATE 19.0.0.0.0 (39107825)
OPatch succeeded.
[oracle@rac-ol8-01 ~]$
4:- Remove MGMTDB DB.
From 23c Grid Infrastructure Management Repository (GIMR) is no longer supported and needs removal.
1:- Remove CHA dependencies:
[oracle@rac-ol8-01 ~]$ crsctl stat res ora.chad -p | grep mgmt
START_DEPENDENCIES=hard(global:ora.mgmtdb) pullup(global:ora.mgmtdb)
STOP_DEPENDENCIES=hard(global:intermediate:ora.mgmtdb)
[oracle@rac-ol8-01 ~]$
[oracle@rac-ol8-01 ~]$ crsctl modify resource ora.chad -attr "START_DEPENDENCIES='', STOP_DEPENDENCIES=''" -unsupported
[oracle@rac-ol8-01 ~]$ crsctl stat res ora.chad -p | grep mgmt
[oracle@rac-ol8-01 ~]$
** restart to make sure starts ok:
[oracle@rac-ol8-01 ~]$ srvctl stop cha
[oracle@rac-ol8-01 ~]$ srvctl start cha
[oracle@rac-ol8-01 ~]$ srvctl status cha
Oracle Cluster Health Analysis Service is enabled
Oracle Cluster Health Analysis Service is running on nodes: rac-ol8-02, rac-ol8-01
[oracle@rac-ol8-01 ~]$
2:- Delete MGMTDB DB
[oracle@rac-ol8-01 ~]$ srvctl status mgmtdb
Database is enabled
Instance -MGMTDB is running on node rac-ol8-01
[oracle@rac-ol8-01 ~]$
[oracle@rac-ol8-01 ~]$ dbca -silent -deleteDatabase -sourceDB -MGMTDB
3:- Remove listener:
[oracle@rac-ol8-01 ~]$ srvctl stop mgmtlsnr
[oracle@rac-ol8-01 ~]$ srvctl remove mgmtlsnr
[oracle@rac-ol8-01 ~]$
5:- As Software owner (oracle) unzip software and update OPatch (ONLY ON NODE 1):
[oracle@rac-ol8-01 ~]$ cd /u01/app/oracle/product/26ai/grid
[oracle@rac-ol8-01 grid]$ unzip -q LINUX.X64_2326100_grid_home.zip
[oracle@rac-ol8-01 grid]$ rm -rf OPatch/
[oracle@rac-ol8-01 grid]$ unzip -q OPATCH_AUG26_p6880880_230000_Linux-x86-64.zip
[oracle@rac-ol8-01 grid]$ /u01/app/oracle/product/26ai/grid/OPatch/opatch version
OPatch Version: 12.2.0.1.52
OPatch succeeded.
[oracle@rac-ol8-01 grid]$
6:- Apply latest 26ai RU (JUL this case):
NODE 1:
[oracle@rac-ol8-01 grid]$ ./gridSetup.sh -silent -applyRU /u01/installs/26ai/RU/39568945
[INFO] [INS-32830] Options -applyRU, -applyPSU and -applyRUR are deprecated in this release. For more details, refer to help documentation.
Two operations will be performed: first the home will be patched, and then the installer will be launched.
Operation 1:
Preparing the home to patch...
Applying the patch /u01/installs/26ai/RU/39568945...
Successfully applied the patch.
The log can be found at: /u01/app/oraInventory/logs/GridSetupActions2026-10-05_09-12-49AM/installerPatchActions_2026-10-05_09-12-49AM.log
Operation 2:
Launching Oracle Grid Infrastructure Setup Wizard...
[FATAL] [INS-40426] Grid installation option has not been specified.
ACTION: Specify the valid installation option.
[oracle@rac-ol8-01 grid]$
**note it says -applyRU is deprecated, but it is the suggested method on Oracle documentation.
6:- Run prechecks:
** DEST VERSION 23.26.3.0.0 because we applied JUL 26 (Update to your correct version)
[oracle@rac-ol8-01 ~]$ cd /u01/app/oracle/product/26ai/grid/
[oracle@rac-ol8-01 grid]$ ./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome /u01/app/oracle/product/19c/grid -dest_crshome /u01/app/oracle/product/26ai/grid -fixup -dest_version 23.26.3.0.0 -verbose -method sudo -user oracle
....
Node Application Existence ...PASSED
Network configuration consistency checks ...PASSED
File system mount options for path GI_HOME ...PASSED
OLR Integrity ...PASSED
ASM server parameter file and password file configuration. ...PASSED
Check incorrectly sized ASM Disks ...PASSED
ASM disk discovery string check ...PASSED
ASM disk group free space ...PASSED
correctness of ASM disk group files ownership ...PASSED
selectivity of ASM discovery string ...PASSED
ASM spare parameters ...PASSED
Disk group ASM compatibility setting ...PASSED
Disk group RDBMS compatibility setting ...PASSED
Disk group ADVM compatibility setting ...PASSED
ASM client compatibility check ...PASSED
Grid Infrastructure Management Repository cleanup ...PASSED
Cleanup of communication socket files ...PASSED
User Equivalence ...PASSED
RPM Package Manager database ...PASSED
Network interface bonding status of private interconnect network interfaces ...PASSED
/dev/shm mounted as temporary file system ...PASSED
File system mount option hidepid for proc filesystem ...PASSED
SCP binary check ...PASSED
Systemd login manager IPC parameter ...PASSED
cgroup OS compatibility ...PASSED
Oracle Linux driver and kernel module signing keys check ...PASSED
ORAchk health score ...
Maximum parallel asynch io ...PASSED
ORAchk health score 100% ...PASSED
Pre-check for cluster services setup was successful.
CVU operation performed: stage -pre crsinst
Date: 5 Oct 2026, 10:07:29
CVU version: Standalone 23.26.3.0.0 (070426x8664)
Clusterware version: 19.0.0.0.0
CVU home: /u01/app/oracle/product/26ai/grid
Grid home: /u01/app/oracle/product/19c/grid
User: oracle
Operating system: Linux5.15.0-324.217.5.2.el8uek.x86_64
No fixable verification failures to fix
[oracle@rac-ol8-01 grid]$
7:- Run a dryRun upgrade:
[oracle@rac-ol8-01 grid]$ ./gridSetup.sh -silent -upgrade -dryRun -ORACLE_BASE /u01/app/grid
Launching Oracle Grid Infrastructure Setup Wizard...
The response file for this session can be found at:
/u01/app/oracle/product/26ai/grid/install/response/grid_2026-10-05_10-47-05AM.rsp
You can find the log of this install session at:
/u01/app/oraInventory/logs/GridSetupActions2026-10-05_10-47-05AM/gridSetupActions2026-10-05_10-47-05AM.log
As a root user, run the following script(s):
1. /u01/app/oracle/product/26ai/grid/rootupgrade.sh
Run /u01/app/oracle/product/26ai/grid/rootupgrade.sh on the following nodes:
[rac-ol8-01]
Run the script on the local node.
Successfully Setup Software.
[oracle@rac-ol8-01 grid]$
** save the response file:
[oracle@rac-ol8-01 grid]$ cp /u01/app/oracle/product/26ai/grid/install/response/grid_2026-10-05_10-47-05AM.rsp /tmp/grid_26ai_upgrade_dryrun.rsp
RUN rootupgrade.sh ONLY on node 1 (REMEMBER, THIS IS A DRYRUN UPGRADE):
[root@rac-ol8-01 ~]# /u01/app/oracle/product/26ai/grid/rootupgrade.sh
Check /u01/app/oracle/product/26ai/grid/install/root_rac-ol8-01_2026-10-05_11-25-56-505961734.log for the output of root script
[root@rac-ol8-01 ~]#
[oracle@rac-ol8-01 ~]$ tail -f /u01/app/oracle/product/26ai/grid/install/root_rac-ol8-01_2026-10-05_11-25-56-505961734.log
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
RAC option enabled on: Linux
Performing Dry run of the Grid Infrastructure upgrade.
Executing command '/u01/app/oracle/product/26ai/grid/perl/bin/perl -I/u01/app/oracle/product/26ai/grid/perl/lib -I/u01/app/oracle/product/26ai/grid/crs/install /u01/app/oracle/product/26ai/grid/crs/install/rootcrs.pl -upgrade -checkcrsentities yes'
Using configuration parameter file: /u01/app/oracle/product/26ai/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/rac-ol8-01/crsconfig/crsupgrade_dryrun_rac-ol8-01_2026-10-05_11-25-57AM.log
2026/10/05 11:26:27 CLSRSC-729: Checking whether CRS entities are ready for upgrade, cluster upgrade will not be attempted now. This operation may take a few minutes.
2026/10/05 11:32:19 CLSRSC-693: CRS entities validation completed successfully.
8:- Run UPGRADE (without dryRun):
[oracle@rac-ol8-01 grid]$ ./gridSetup.sh -silent -upgrade -responseFile /tmp/grid_26ai_upgrade_dryrun.rsp
Launching Oracle Grid Infrastructure Setup Wizard...
The response file for this session can be found at:
/u01/app/oracle/product/26ai/grid/install/response/grid_2026-10-05_11-44-53AM.rsp
As a root user, run the following script(s):
1. /u01/app/oracle/product/26ai/grid/rootupgrade.sh
Run /u01/app/oracle/product/26ai/grid/rootupgrade.sh on the following nodes:
[rac-ol8-01, rac-ol8-02]
Run the script on the node rac-ol8-01 first. After successful completion, you can run the script in parallel on all the other nodes, except a node you designate as the last node. When all the nodes except the last node are done successfully, run the script on the last node.
Successfully Setup Software.
As install user, run the following command to complete the configuration.
/u01/app/oracle/product/26ai/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/grid_26ai_upgrade_dryrun.rsp
[oracle@rac-ol8-01 grid]$
9:- ROOT SCRIPT NODE 1:
** REMEMBER TOP STOP ANY RDBMS INSTANCES (IF YOU NEED TO STOP THEM IN A SPECIAL WAY LIKE SHUTDOWN TRANSACTIONAL)
[root@rac-ol8-01 ~]# /u01/app/oracle/product/26ai/grid/rootupgrade.sh
Check /u01/app/oracle/product/26ai/grid/install/root_rac-ol8-01_2026-10-05_11-52-31-080027523.log for the output of root script
[root@rac-ol8-01 ~]#
[oracle@rac-ol8-01 ~]$ tail -f /u01/app/oracle/product/26ai/grid/install/root_rac-ol8-01_2026-10-05_11-52-31-080027523.log
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
RAC option enabled on: Linux
Executing command '/u01/app/oracle/product/26ai/grid/perl/bin/perl -I/u01/app/oracle/product/26ai/grid/perl/lib -I/u01/app/oracle/product/26ai/grid/crs/install /u01/app/oracle/product/26ai/grid/crs/install/rootcrs.pl -upgrade'
Using configuration parameter file: /u01/app/oracle/product/26ai/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/rac-ol8-01/crsconfig/crsupgrade_rac-ol8-01_2026-10-05_11-52-32AM.log
2026/10/05 11:52:47 CLSRSC-595: Executing upgrade step 1 of 16: 'UpgradeTFA'.
2026/10/05 11:52:47 CLSRSC-4015: Performing install or upgrade action for Oracle Autonomous Health Framework (AHF).
2026/10/05 11:52:47 CLSRSC-4012: Shutting down Oracle Autonomous Health Framework (AHF).
2026/10/05 11:53:52 CLSRSC-4013: Successfully shut down Oracle Autonomous Health Framework (AHF).
2026/10/05 11:53:52 CLSRSC-595: Executing upgrade step 2 of 16: 'ValidateEnv'.
2026/10/05 11:53:53 CLSRSC-595: Executing upgrade step 3 of 16: 'GetOldConfig'.
2026/10/05 11:53:53 CLSRSC-692: Checking whether CRS entities are ready for upgrade. This operation may take a few minutes.
2026/10/05 11:54:48 CLSRSC-4003: Successfully patched Oracle Autonomous Health Framework (AHF).
2026/10/05 11:56:55 CLSRSC-693: CRS entities validation completed successfully.
2026/10/05 11:56:56 CLSRSC-464: Starting retrieval of the cluster configuration data
CRS-2613: Could not find resource 'ora.qosmserver'.
CRS-4672: Successfully backed up the Voting File for Cluster Synchronization Service.
2026/10/05 11:57:14 CLSRSC-515: Starting OCR manual backup.
2026/10/05 11:57:41 CLSRSC-516: OCR manual backup successful.
2026/10/05 11:57:51 CLSRSC-465: Retrieval of the cluster configuration data has successfully completed.
2026/10/05 11:57:51 CLSRSC-595: Executing upgrade step 4 of 16: 'UpgPrechecks'.
2026/10/05 11:58:29 CLSRSC-595: Executing upgrade step 5 of 16: 'SetupOSD'.
2026/10/05 11:58:30 CLSRSC-595: Executing upgrade step 6 of 16: 'PreUpgrade'.
2026/10/05 11:58:38 CLSRSC-486:
At this stage of upgrade, the OCR has changed.
Any attempt to downgrade the cluster after this point will require a complete cluster outage to restore the OCR.
2026/10/05 11:58:39 CLSRSC-541:
To downgrade the cluster:
1. All nodes that have been upgraded must be downgraded.
2026/10/05 11:58:39 CLSRSC-542:
2. Before downgrading the last node, the Grid Infrastructure stack on all other cluster nodes must be down.
2026/10/05 11:58:42 CLSRSC-468: Setting Oracle Clusterware and ASM to rolling migration mode
2026/10/05 11:58:42 CLSRSC-482: Running command: '/u01/app/oracle/product/19c/grid/bin/crsctl start rollingupgrade 23.0.0.0.0'
CRS-1131: The cluster was successfully set to rolling upgrade mode.
2026/10/05 11:58:50 CLSRSC-482: Running command: '/u01/app/oracle/product/26ai/grid/bin/asmca -silent -upgradeNodeASM -nonRolling false -oldCRSHome /u01/app/oracle/product/19c/grid -oldCRSVersion 19.0.0.0.0 -firstNode true -startRolling false '
2026/10/05 11:58:56 CLSRSC-469: Successfully set Oracle Clusterware and ASM to rolling migration mode
2026/10/05 11:58:57 CLSRSC-466: Starting shutdown of the current Oracle Grid Infrastructure stack
2026/10/05 12:03:11 CLSRSC-467: Shutdown of the current Oracle Grid Infrastructure stack has successfully completed.
2026/10/05 12:03:17 CLSRSC-595: Executing upgrade step 7 of 16: 'CheckCRSConfig'.
2026/10/05 12:03:18 CLSRSC-595: Executing upgrade step 8 of 16: 'UpgradeOLR'.
2026/10/05 12:03:58 CLSRSC-595: Executing upgrade step 9 of 16: 'ConfigCHMOS'.
2026/10/05 12:03:58 CLSRSC-595: Executing upgrade step 10 of 16: 'createOHASD'.
2026/10/05 12:04:01 CLSRSC-595: Executing upgrade step 11 of 16: 'ConfigOHASD'.
2026/10/05 12:05:09 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
2026/10/05 12:06:26 CLSRSC-595: Executing upgrade step 12 of 16: 'InstallACFS'.
2026/10/05 12:07:38 CLSRSC-595: Executing upgrade step 13 of 16: 'RemoveKA'.
2026/10/05 12:07:40 CLSRSC-595: Executing upgrade step 14 of 16: 'UpgradeCluster'.
2026/10/05 12:10:20 CLSRSC-343: Successfully started Oracle Clusterware stack
clscfg: EXISTING configuration version 19 detected.
Successfully taken the backup of node specific configuration in OCR.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
2026/10/05 12:11:06 CLSRSC-595: Executing upgrade step 15 of 16: 'UpgradeNode'.
2026/10/05 12:11:08 CLSRSC-474: Initiating upgrade of resource types
2026/10/05 12:11:55 CLSRSC-475: Upgrade of resource types successfully initiated.
2026/10/05 12:11:58 CLSRSC-595: Executing upgrade step 16 of 16: 'PostUpgrade'.
2026/10/05 12:12:37 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
10:- ROOT SCRIPT NODE 2:
** REMEMBER TOP STOP ANY RDBMS INSTANCES (IF YOU NEED TO STOP THEM IN A SPECIAL WAY LIKE SHUTDOWN TRANSACTIONAL)
[root@rac-ol8-02 ~]# /u01/app/oracle/product/26ai/grid/rootupgrade.sh
Check /u01/app/oracle/product/26ai/grid/install/root_rac-ol8-02_2026-10-05_12-20-55-029104976.log for the output of root script
[root@rac-ol8-02 ~]#
[oracle@rac-ol8-02 ~]$ tail -f /u01/app/oracle/product/26ai/grid/install/root_rac-ol8-02_2026-10-05_12-20-55-029104976.log
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
RAC option enabled on: Linux
Executing command '/u01/app/oracle/product/26ai/grid/perl/bin/perl -I/u01/app/oracle/product/26ai/grid/perl/lib -I/u01/app/oracle/product/26ai/grid/crs/install /u01/app/oracle/product/26ai/grid/crs/install/rootcrs.pl -upgrade'
Using configuration parameter file: /u01/app/oracle/product/26ai/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/rac-ol8-02/crsconfig/crsupgrade_rac-ol8-02_2026-10-05_12-20-58AM.log
2026/10/05 12:21:20 CLSRSC-595: Executing upgrade step 1 of 16: 'UpgradeTFA'.
2026/10/05 12:21:20 CLSRSC-4015: Performing install or upgrade action for Oracle Autonomous Health Framework (AHF).
2026/10/05 12:21:20 CLSRSC-4012: Shutting down Oracle Autonomous Health Framework (AHF).
2026/10/05 12:22:23 CLSRSC-4013: Successfully shut down Oracle Autonomous Health Framework (AHF).
2026/10/05 12:22:23 CLSRSC-595: Executing upgrade step 2 of 16: 'ValidateEnv'.
2026/10/05 12:22:26 CLSRSC-595: Executing upgrade step 3 of 16: 'GetOldConfig'.
2026/10/05 12:22:26 CLSRSC-464: Starting retrieval of the cluster configuration data
2026/10/05 12:22:38 CLSRSC-465: Retrieval of the cluster configuration data has successfully completed.
2026/10/05 12:22:38 CLSRSC-595: Executing upgrade step 4 of 16: 'UpgPrechecks'.
2026/10/05 12:22:41 CLSRSC-595: Executing upgrade step 5 of 16: 'SetupOSD'.
2026/10/05 12:22:41 CLSRSC-595: Executing upgrade step 6 of 16: 'PreUpgrade'.
2026/10/05 12:22:51 CLSRSC-466: Starting shutdown of the current Oracle Grid Infrastructure stack
2026/10/05 12:23:18 CLSRSC-4003: Successfully patched Oracle Autonomous Health Framework (AHF).
2026/10/05 12:24:24 CLSRSC-467: Shutdown of the current Oracle Grid Infrastructure stack has successfully completed.
2026/10/05 12:24:27 CLSRSC-595: Executing upgrade step 7 of 16: 'CheckCRSConfig'.
2026/10/05 12:24:28 CLSRSC-595: Executing upgrade step 8 of 16: 'UpgradeOLR'.
2026/10/05 12:29:01 CLSRSC-595: Executing upgrade step 9 of 16: 'ConfigCHMOS'.
2026/10/05 12:29:01 CLSRSC-595: Executing upgrade step 10 of 16: 'createOHASD'.
2026/10/05 12:29:04 CLSRSC-595: Executing upgrade step 11 of 16: 'ConfigOHASD'.
2026/10/05 12:29:41 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
2026/10/05 12:30:42 CLSRSC-595: Executing upgrade step 12 of 16: 'InstallACFS'.
2026/10/05 12:31:39 CLSRSC-595: Executing upgrade step 13 of 16: 'RemoveKA'.
2026/10/05 12:31:40 CLSRSC-595: Executing upgrade step 14 of 16: 'UpgradeCluster'.
2026/10/05 12:39:59 CLSRSC-343: Successfully started Oracle Clusterware stack
clscfg: EXISTING configuration version 23 detected.
Successfully taken the backup of node specific configuration in OCR.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
2026/10/05 12:40:38 CLSRSC-595: Executing upgrade step 15 of 16: 'UpgradeNode'.
Start upgrade invoked..
2026/10/05 12:41:06 CLSRSC-478: Setting Oracle Clusterware active version on the last node to be upgraded
2026/10/05 12:41:06 CLSRSC-482: Running command: '/u01/app/oracle/product/26ai/grid/bin/crsctl set crs activeversion'
Started to upgrade the active version of Oracle Clusterware. This operation may take a few minutes.
Started to upgrade CSS.
CSS was successfully upgraded.
Started to upgrade Oracle ASM.
Started to upgrade CRS.
CRS was successfully upgraded.
Started to upgrade Oracle ACFS.
Oracle ACFS was successfully upgraded.
Successfully upgraded the active version of Oracle Clusterware.
Oracle Clusterware active version was successfully set to 23.0.0.0.0.
2026/10/05 12:42:41 CLSRSC-479: Successfully set Oracle Clusterware active version
2026/10/05 12:42:54 CLSRSC-476: Finishing upgrade of resource types
2026/10/05 12:43:23 CLSRSC-477: Successfully completed upgrade of resource types
2026/10/05 12:45:25 CLSRSC-595: Executing upgrade step 16 of 16: 'PostUpgrade'.
Successfully updated XAG resources.
2026/10/05 12:46:21 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
11:- RUN executeConfigTools:
[oracle@rac-ol8-01 ~]$ unset ORACLE_HOME
[oracle@rac-ol8-01 ~]$ unset ORACLE_SID
[oracle@rac-ol8-01 ~]$ unset ORA_CRS_HOME
[oracle@rac-ol8-01 ~]$ unset DISPLAY
[oracle@rac-ol8-01 ~]$ /u01/app/oracle/product/26ai/grid/gridSetup.sh -silent -executeConfigTools -responseFile /tmp/grid_26ai_upgrade_dryrun.rsp
Launching Oracle Grid Infrastructure Setup Wizard...
You can find the logs of this session at:
/u01/app/oraInventory/logs/GridSetupActions2026-10-05_02-14-02PM
[ Start ] CVU - 2026-10-05 14:14:41.288
Command: /bin/sh -c /u01/app/oracle/product/26ai/grid/bin/cluvfy stage -post crsinst -collect cluster -gi_upgrade -n all
Initializing ...
Performing following verification checks ...
Node Connectivity ...
Hosts File ...PASSED
Check that maximum (MTU) size packet goes through subnet ...PASSED
subnet mask consistency for subnet "192.168.10.0" ...PASSED
subnet mask consistency for subnet "192.168.24.0" ...PASSED
Node Connectivity ...PASSED
Multicast or broadcast check ...
Checking subnet "192.168.10.0" for multicast communication with multicast
group "224.0.0.251"
Subnet Network Type Multicast Enabled
------------ ------------------------ ------------------------
192.168.10.0 PRIVATE TRUE
Multicast or broadcast check ...PASSED
Time zone consistency ...PASSED
Path existence, ownership, permissions and attributes ...
Path "/var" ...PASSED
Path "/var/lib/oracle" ...PASSED
Path "/u01/app/oraInventory/ContentsXML/inventory.xml" ...PASSED
Path "/dev/asm" ...PASSED
Path "/dev/shm" ...PASSED
Path "/etc/init.d/ohasd" ...PASSED
Path "/etc/init.d/init.ohasd" ...PASSED
Path "/etc/init.d/init.tfa" ...PASSED
Path "/etc/oracle/maps" ...PASSED
Path "/etc/oraInst.loc" ...PASSED
Path "/etc/tmpfiles.d/oracleGI.conf" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/trace" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/incident" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/lck" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/log" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/metadata_dgif" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/incpkg" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/metadata" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/metadata_pv" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/stage" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/alert" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/cdump" ...PASSED
Path "/u01/app/grid/diag/crs/rac-ol8-01/crs/sweep" ...PASSED
Path "/u01/app/oracle/product/26ai/grid/gpnp/wallets/peer/cwallet.sso" ...PASSED
Path "/u01/app/oracle/product/26ai/grid/gpnp/wallets/root/ewallet.p12" ...PASSED
Path "/u01/app/oracle/product/26ai/grid/gpnp/profiles/peer/profile.xml" ...PASSED
Path existence, ownership, permissions and attributes ...PASSED
Cluster Manager Integrity ...PASSED
User Mask ...PASSED
Cluster Integrity ...PASSED
OCR Integrity ...PASSED
CRS Integrity ...
Clusterware Version Consistency ...PASSED
CRS Integrity ...PASSED
Node Application Existence ...PASSED
Single Client Access Name (SCAN) ...
DNS/NIS name service 'RAC-OL8-SCAN' ...
Name Service Switch Configuration File Integrity ...PASSED
DNS/NIS name service 'RAC-OL8-SCAN' ...PASSED
Single Client Access Name (SCAN) ...PASSED
OLR Integrity ...PASSED
Voting Disk ...PASSED
ASM Integrity ...PASSED
ASM Network ...PASSED
ASM disk group free space ...PASSED
User Not In Group "root": oracle ...PASSED
Clock Synchronization ...
Network Time Protocol (NTP) ...
Daemon 'chronyd' ...PASSED
NTP daemon or service using UDP port 123 ...PASSED
chrony daemon is synchronized with at least one external time source ...PASSED
Network Time Protocol (NTP) ...PASSED
Clock Synchronization ...PASSED
VIP Subnet configuration check ...PASSED
Oracle Net Services configuration ...PASSED
Network configuration consistency checks ...PASSED
Package: psmisc-22.6-19 ...PASSED
File system mount options for path GI_HOME ...PASSED
File system mount option hidepid for proc filesystem ...PASSED
Cleanup of communication socket files ...PASSED
Domain Sockets ...PASSED
Post-check for cluster services setup was successful.
CVU operation performed: stage -post crsinst
Date: 5 Oct 2026, 14:14:41
CVU version: 23.26.3.0.0 (070426x8664)
Clusterware version: 23.0.0.0.0
CVU home: /u01/app/oracle/product/26ai/grid
Grid home: /u01/app/oracle/product/26ai/grid
User: oracle
Operating system: Linux5.15.0-324.217.5.2.el8uek.x86_64
Successfully Configured Software.
[ Exit Code ] 0
[ End ] CVU - 2026-10-05 14:16:37.884
[oracle@rac-ol8-01 ~]$
**** IN CASE YOU ARE DOING THIS ON A LAB AND YOU HAVE CHRONY / DNS ERRORS, check this HOW TO INSTALL
Looks everything went Ok, lest do some checks:
[oracle@rac-ol8-01 ~]$ crsctl check cluster -all
**************************************************************
rac-ol8-01:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
rac-ol8-02:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
[oracle@rac-ol8-01 ~]$
[oracle@rac-ol8-01 ~]$ crsctl query crs softwareversion rac-ol8-01
Oracle Clusterware version on node [rac-ol8-01] is [23.0.0.0.0]
[oracle@rac-ol8-01 ~]$ crsctl query crs softwareversion rac-ol8-02
Oracle Clusterware version on node [rac-ol8-02] is [23.0.0.0.0]
[oracle@rac-ol8-01 ~]$
[oracle@rac-ol8-01 ~]$ crsctl query crs activeversion -f
Oracle Clusterware active version on the cluster is [23.0.0.0.0]. The cluster upgrade state is [NORMAL]. The cluster active patch level is [2505374838].
[oracle@rac-ol8-01 ~]$
[oracle@rac-ol8-01 ~]$ crsctl query crs softwarepatch rac-ol8-01
Oracle Clusterware patch level on node rac-ol8-01 is [2505374838].
[oracle@rac-ol8-01 ~]$ crsctl query crs softwarepatch rac-ol8-02
Oracle Clusterware patch level on node rac-ol8-02 is [2505374838].
[oracle@rac-ol8-01 ~]$
[oracle@rac-ol8-01 ~]$ srvctl config asm
ASM home: <CRS home>
Password file: +FRA/orapwASM
Backup of Password file: +FRA/orapwASM_backup
ASM listener: LISTENER
ASM instance count: 2
Cluster ASM listener: ASMNET1LSNR_ASM
[oracle@rac-ol8-01 ~]$
[oracle@rac-ol8-01 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 4
Total space (kbytes) : 901284
Used space (kbytes) : 85348
Available space (kbytes) : 815936
ID : 2102593446
Device/File Name : +FRA
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check bypassed due to non-privileged user
[oracle@rac-ol8-01 ~]$
[oracle@rac-ol8-01 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE rac-ol8-01 STABLE
ONLINE ONLINE rac-ol8-02 STABLE
ora.chad
ONLINE ONLINE rac-ol8-01 STABLE
ONLINE ONLINE rac-ol8-02 STABLE
ora.helper
OFFLINE OFFLINE rac-ol8-01 STABLE
OFFLINE OFFLINE rac-ol8-02 STABLE
ora.net1.network
ONLINE ONLINE rac-ol8-01 STABLE
ONLINE ONLINE rac-ol8-02 STABLE
ora.ons
ONLINE ONLINE rac-ol8-01 STABLE
ONLINE ONLINE rac-ol8-02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE rac-ol8-01 STABLE
2 ONLINE ONLINE rac-ol8-02 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE rac-ol8-01 STABLE
2 ONLINE ONLINE rac-ol8-02 STABLE
ora.FRA.dg(ora.asmgroup)
1 ONLINE ONLINE rac-ol8-01 STABLE
2 ONLINE ONLINE rac-ol8-02 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac-ol8-01 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE rac-ol8-01 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE rac-ol8-02 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE rac-ol8-01 STABLE
2 ONLINE ONLINE rac-ol8-02 STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE rac-ol8-01 STABLE
2 ONLINE ONLINE rac-ol8-02 STABLE
ora.cdp1.cdp
1 OFFLINE OFFLINE STABLE
ora.cdp2.cdp
1 OFFLINE OFFLINE STABLE
ora.cdp3.cdp
1 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE rac-ol8-02 STABLE
ora.cvuhelper
1 OFFLINE OFFLINE STABLE
ora.db19c.db
1 ONLINE ONLINE rac-ol8-01 Open,HOME=/u01/app/o
racle/product/19c/db
_home1,STABLE
2 ONLINE ONLINE rac-ol8-02 Open,HOME=/u01/app/o
racle/product/19c/db
_home1,STABLE
ora.rac-ol8-01.vip
1 ONLINE ONLINE rac-ol8-01 STABLE
ora.rac-ol8-02.vip
1 ONLINE ONLINE rac-ol8-02 STABLE
ora.rhpserver
1 OFFLINE OFFLINE STABLE
ora.scan1.vip
1 ONLINE ONLINE rac-ol8-01 STABLE
ora.scan2.vip
1 ONLINE ONLINE rac-ol8-01 STABLE
ora.scan3.vip
1 ONLINE ONLINE rac-ol8-02 STABLE
--------------------------------------------------------------------------------
[oracle@rac-ol8-01 ~]$
That’s it! you only need to review and move across any $ORACLE_HOME/network/admin files and uninstall/remove old 19c grid home.
Comments