This is second part of 26ai migration blog. We will upgrade here one node Clusterware with ASM in 19c. We will use newest 23.26.1 GoldImages from oracle support. This tutorial showing main steps how to perform upgrade, its not procedure to upgrade your production environment, please checkout official documentation from oracle do proper planning and prechecks before you do it.
This is first from 3 Articles:
- Database upgrade to AI Database 26ai (23.26.1) for Linux x86-64 upgrade from 19C in 3 steps using gold images.
- Oracle GridInfrastructure 26ai/ ASM upgrade from 19c one node.
- Oracle RAC / ASM / Grid upgrade to 26ai from 19c rolling forward. (coming soon)
Step 1. Downloading software and preparation
Download Base Gold image from Oracle support software from latest Oracle AI Database 26ai Grid Infrastructure (23.26.1) for Linux x86-64 (we upgrading on Oracle LInux 9)
https://www.oracle.com/database/technologies/oracle26ai-linux-downloads.html
or
If you have access to new support web site, use this document to get always newest updated version (Recommended), there is new update every 3 months.
Oracle AI Database 26ai Proactive Patch Information KB153394
Download latest GoldImage release update, at the time writing this newest ones was Jan 2026. 38753741

Meanwhile downloading you can read documentation 🙂
https://updates.oracle.com/Orion/Services/download?type=readme&aru=28449739
- In this tutorial we will not use Oracle Fleet Patching and Provisioning (Oracle FPP)
- we will use traditional gridSetup.sh in silent mode and root scripts to switch has/crs to new home.
Step 2. Update your linux and install oracle preinstall rpm.
yum update
yum install oracle-ai-database-preinstall-26ai
reboot
In my case LINUX was not updates since a while so i have more then 100 rpms to update including kernel so i also rebooted my linux box.
Install 7 Packages
Upgrade 102 Packages
Remove 7 Packages
Total download size: 1.3 G
oracle-ai-database-preinstall-26ai this rpm is installing all dependencies need for oracle 26ai , in case you installed earlier versions there is not much to do , but better have it installed, as future updates may add some dependencies, if you not using Oracle Linux , please check documentation which exactly rpms are needed.
- Unpack our downloaded database gold image software.
unzip /u02/inst/26ai/p38753741_230000_Linux-x86-64.zip -d /u03/app/grid26/
cd /u03/app/grid26/
Step 3. Setting up new Grid Home
First get proper groups names. If you don’t know groups on which your previous installation was done, check current grid home
Hint :the groups names OSDBA / OSASM and other parameters can be always found in in old installation response file in old grid home/install/response in my case groups was OSDBA/OSASM
run gridSetup.sh with in silent mode with parameters -executePrereqs to check if all prerequisites are met:
./gridSetup.sh -silent -setupHome -OSDBA oinstall -OSASM dba -ORACLE_BASE /u01/app/oracle -executePrereqs
oracle@OL9-dmk-tests:/u03/app/grid26/ [grinf19] ./gridSetup.sh -silent -setupHome -OSDBA oinstall -OSASM dba -ORACLE_BASE /u01/app/oracle -executePrereqs
*********************************************
Swap Size: This is a prerequisite condition to test whether sufficient total swap space is available on the system.
Severity: IGNORABLE
Overall status: VERIFICATION_FAILED
Error message: PRVF-7573 : Sufficient swap size is not available on node "ol9-dmk-tests" [Required = 15.1015GB (1.5835028E7KB) ; Found = 2GB (2097148.0KB)]
Cause: The swap size found does not meet the minimum requirement.
Action: Increase swap size to at least meet the minimum swap space requirement.
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/GridSetupActions2026-02-04_03-11-57PM/gridSetupActions2026-02-04_03-11-57PM.log.
ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/GridSetupActions2026-02-04_03-11-57PM/gridSetupActions2026-02-04_03-11-57PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
there is one warning about swap space(this can be ignored as its only lab vm and i don’t need here so much swap)
so lets setup new home by running:
./gridSetup.sh -silent -setupHome
oracle@OL9-dmk-tests:/u03/app/grid26/ [grinf19] ./gridSetup.sh -silent -setupHome -OSDBA oinstall -OSASM dba -ORACLE_BASE /u01/app/oracle
Launching Oracle Grid Infrastructure Setup Wizard...
*********************************************
Swap Size: This is a prerequisite condition to test whether sufficient total swap space is available on the system.
Severity: IGNORABLE
Overall status: VERIFICATION_FAILED
Error message: PRVF-7573 : Sufficient swap size is not available on node "ol9-dmk-tests" [Required = 15.1015GB (1.5835028E7KB) ; Found = 2GB (2097148.0KB)]
Cause: The swap size found does not meet the minimum requirement.
Action: Increase swap size to at least meet the minimum swap space requirement.
-----------------------------------------------
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/GridSetupActions2026-02-04_03-11-57PM/gridSetupActions2026-02-04_03-11-57PM.log.
ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/GridSetupActions2026-02-04_03-11-57PM/gridSetupActions2026-02-04_03-11-57PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
/u03/app/grid26/install/response/grid_2026-02-04_03-11-57PM.rsp
You can find the log of this install session at:
/u01/app/oraInventory/logs/GridSetupActions2026-02-04_03-11-57PM/gridSetupActions2026-02-04_03-11-57PM.log
As a root user, run the following script(s):
1. /u03/app/grid26/root.sh
Run /u03/app/grid26/root.sh on the following nodes:
[OL9-dmk-tests]
Successfully Setup Software with warning(s).
now as root user we need to run root.sh script (please don’t forget this step , as it’s setting proper permissions)
/u03/app/grid26/root.sh
Step 4. Upgrading Grid cluster configuration.
First lets check with precheck parameter if there are all pre-conditions met:
./gridSetup.sh -silent -upgrade -executePrereqs
Launching Oracle Grid Infrastructure Setup Wizard...
[WARNING] [INS-40436] An earlier version of Oracle Automatic Storage Management (ASM) instance is already configured. Before proceeding with the upgrade you must shutdown all Oracle Databases that are using Oracle ASM for storage.
You may ignore this message and continue with the upgrade, if the database(s) are already in shutdown state.
*********************************************
Swap Size: This is a prerequisite condition to test whether sufficient total swap space is available on the system.
Severity: IGNORABLE
Overall status: VERIFICATION_FAILED
Error message: PRVF-7573 : Sufficient swap size is not available on node "ol9-dmk-tests" [Required = 15.1015GB (1.5835028E7KB) ; Found = 2GB (2097148.0KB)]
Cause: The swap size found does not meet the minimum requirement.
Action: Increase swap size to at least meet the minimum swap space requirement.
-----------------------------------------------
*********************************************
Disk group RDBMS compatibility setting: Check for disk group RDBMS compatibility setting
Severity: FATAL
Overall status: VERIFICATION_FAILED
Error message: PRVE-3180 : RDBMS compatibility for ASM disk group "DATA01" is set to "10.1.0.0.0", which is less than the minimum supported value "19.0.0.0.0".
Cause: A query showed that the ASM disk group attribute "compatible.rdbms"
for the indicated disk group was set to a value less than the
minimum supported value.
Action: Ensure that the RDBMS compatibility of the indicated disk group is
set to a value greater than or equal to the indicated minimum
supported value by running the command ''asmcmd setattr -G
<diskgroup> compatible.rdbms <value>''.
-----------------------------------------------
Error message: PRVE-3180 : RDBMS compatibility for ASM disk group "DATA01" is set to "10.1.0.0.0", which is less than the minimum supported value "19.0.0.0.0".
Cause: A query showed that the ASM disk group attribute "compatible.rdbms"
for the indicated disk group was set to a value less than the
minimum supported value.
Action: Ensure that the RDBMS compatibility of the indicated disk group is
set to a value greater than or equal to the indicated minimum
supported value by running the command ''asmcmd setattr -G
<diskgroup> compatible.rdbms <value>''.
[FATAL] [INS-13019] Some mandatory prerequisites are not met. These prerequisites cannot be ignored.
CAUSE: The following prerequisites are mandatory and cannot be ignored:
- Disk group RDBMS compatibility setting.
ACTION: For detailed information of the failed prerequisites check the log: /u01/app/oraInventory/logs/GridSetupActions2026-02-04_03-17-12PM/gridSetupActions2026-02-04_03-17-12PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
In my case there installer found 3 issues, one to ignore and 2 to fix :
- Database still running on this ASM(easy fix, we just stop database )
- Not enough swap space(this we can ignore as before)
- ASM diskgroup DATA01 has Compatibility rdbms parameter is set to lover value then minimum for version 26 which is 19. so lets change it:
oracle@OL9-dmk-tests:/u03/app/grid26/ [+ASM] asmcmd setattr -G DATA01 compatible.rdbms 19.0.0.0.0
we can check in alert log that parameter has been updated:
NOTE: Instance updated compatible.rdbms to 19.0.0.0.0 for grp 1 (DATA01).
2026-02-04T15:28:26.485745+01:00
SUCCESS: /* ASMCMD cguid:0560bf66f530ef9dff1bbee690586df9 nodename:ol9-dmk-tests */ALTER DISKGROUP DATA01 SET ATTRIBUTE 'compatible.rdbms' = '19.0.0.0.0'
and stop database to fix issue 1:
3. oracle@OL9-dmk-tests:/u03/app/grid26/ [DB1926CR (CDB$ROOT)] srvctl stop database -d DB1926CR
oracle@OL9-dmk-tests:/u03/app/grid26/ [DB1926CR (CDB$ROOT)] srvctl status database -d DB1926CR
Database is not running.
Now we can run upgrade script again:
oracle@OL9-dmk-tests:/u03/app/grid26/ [+ASM] ./gridSetup.sh -silent -upgrade
Launching Oracle Grid Infrastructure Setup Wizard...
*********************************************
Swap Size: This is a prerequisite condition to test whether sufficient total swap space is available on the system.
Severity: IGNORABLE
Overall status: VERIFICATION_FAILED
Error message: PRVF-7573 : Sufficient swap size is not available on node "ol9-dmk-tests" [Required = 15.1015GB (1.5835028E7KB) ; Found = 2GB (2097148.0KB)]
Cause: The swap size found does not meet the minimum requirement.
Action: Increase swap size to at least meet the minimum swap space requirement.
-----------------------------------------------
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/GridSetupActions2026-02-04_03-31-59PM/gridSetupActions2026-02-04_03-31-59PM.log.
ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/GridSetupActions2026-02-04_03-31-59PM/gridSetupActions2026-02-04_03-31-59PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
/u03/app/grid26/install/response/grid_2026-02-04_03-31-59PM.rsp
As a root user, run the following script(s):
1. /u03/app/grid26/rootupgrade.sh
Run /u03/app/grid26/rootupgrade.sh on the following nodes:
[OL9-dmk-tests]
Successfully Setup Software with warning(s).
now most important part which will switch all Grid processes and registries to new home
this always need to be executed as root user:
root@OL9-dmk-tests ~]# /u03/app/grid26/rootupgrade.sh
Check /u03/app/grid26/install/root_OL9-dmk-tests_2026-02-04_15-35-27-374589131.log for the output of root script
we can check logfile
[root@OL9-dmk-tests ~]# cat /u03/app/grid26/install/root_OL9-dmk-tests_2026-02-04_15-35-27-374589131.log
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u03/app/grid26
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
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.
Executing command '/u03/app/grid26/perl/bin/perl -I/u03/app/grid26/perl/lib -I/u03/app/grid26/crs/install /u03/app/grid26/crs/install/roothas.pl -upgrade'
Using configuration parameter file: /u03/app/grid26/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/oracle/crsdata/ol9-dmk-tests/crsconfig/roothas_2026-02-04_03-35-27PM.log
2026/02/04 15:35:29 CLSRSC-595: Executing upgrade step 1 of 11: 'UpgPrechecks'.
2026/02/04 15:35:30 CLSRSC-363: User ignored prerequisites during installation
acfsutil info fs: ACFS-03036: no mounted ACFS file systems
2026/02/04 15:35:32 CLSRSC-595: Executing upgrade step 2 of 11: 'GetOldConfig'.
2026/02/04 15:35:34 CLSRSC-595: Executing upgrade step 3 of 11: 'GenSiteGUIDs'.
2026/02/04 15:35:34 CLSRSC-595: Executing upgrade step 4 of 11: 'SetupOSD'.
2026/02/04 15:35:34 CLSRSC-595: Executing upgrade step 5 of 11: 'PreUpgrade'.
2026/02/04 15:36:30 CLSRSC-595: Executing upgrade step 6 of 11: 'UpgradeOLR'.
clscfg: EXISTING configuration version 0 detected.
Creating OCR keys for user 'oracle', privgrp 'oinstall'..
Operation successful.
2026/02/04 15:36:34 CLSRSC-595: Executing upgrade step 7 of 11: 'UpgradeOCR'.
LOCAL ONLY MODE
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4664: Node ol9-dmk-tests successfully pinned.
2026/02/04 15:36:38 CLSRSC-595: Executing upgrade step 8 of 11: 'CreateOHASD'.
2026/02/04 15:36:39 CLSRSC-595: Executing upgrade step 9 of 11: 'ConfigOHASD'.
2026/02/04 15:36:39 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
2026/02/04 15:36:45 CLSRSC-595: Executing upgrade step 10 of 11: 'UpgradeSIHA'.
ol9-dmk-tests 2026/02/04 15:37:23 /u01/app/oracle/crsdata/ol9-dmk-tests/olr/backup_20260204_153723.olr 2107015493
ol9-dmk-tests 2025/03/04 18:00:37 /u01/app/oracle/crsdata/ol9-dmk-tests/olr/backup_20250304_180037.olr 117906255
2026/02/04 15:37:23 CLSRSC-595: Executing upgrade step 11 of 11: 'InstallACFS'.
2026/02/04 15:38:13 CLSRSC-327: Successfully configured Oracle Restart for a standalone server
DONE! Operation finish successfully, we can see in logfiles details of all steps from 1-11 with details how grid performing upgrade.
Step 5. Verify your crs processes after upgrade.
check using crsctl query has softwareversion
oracle@OL9-dmk-tests:~/ [grinf23] crsctl query has softwareversion
Oracle High Availability Services version on the local node is [23.0.0.0.0]
oracle@OL9-dmk-tests:~/ [grinf23] crsctl query has softwarepatch
Oracle Clusterware patch level on node ol9-dmk-tests is [2107015493].
oracle@OL9-dmk-tests:~/ [grinf23] crsctl query has releasepatch
Oracle Clusterware release patch level is [2107015493] and the complete list of patches [38743669 38743682 38743688 38743695 38743706 ] have been applied on the local node. The release patch string is [23.26.1.0.0].
I recommend to restart also full stack using crsctl stop/start has
oracle@OL9-dmk-tests:~/ [grinf23] crsctl stop has
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'ol9-dmk-tests'
CRS-2673: Attempting to stop 'ora.evmd' on 'ol9-dmk-tests'
CRS-2673: Attempting to stop 'ora.DATA01.dg' on 'ol9-dmk-tests'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'ol9-dmk-tests'
CRS-2677: Stop of 'ora.DATA01.dg' on 'ol9-dmk-tests' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'ol9-dmk-tests'
CRS-2677: Stop of 'ora.evmd' on 'ol9-dmk-tests' succeeded
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'ol9-dmk-tests' succeeded
CRS-2677: Stop of 'ora.asm' on 'ol9-dmk-tests' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'ol9-dmk-tests'
CRS-2677: Stop of 'ora.cssd' on 'ol9-dmk-tests' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'ol9-dmk-tests' has completed
CRS-4133: Oracle High Availability Services has been stopped.
oracle@OL9-dmk-tests:~/ [grinf23] crsctl start has
CRS-4123: Oracle High Availability Services has been started.
and start back our database with srvctl:
oracle@OL9-dmk-tests:/u01/app/oracle/product/19.26/dbs/ [DB1926CR (CDB$ROOT)] srvctl start database -d DB1926CR_SITE1
oracle@OL9-dmk-tests:/u01/app/oracle/product/19.26/dbs/ [DB1926CR (CDB$ROOT)] srvctl status database -d DB1926CR_SITE1
Database is running.
check if all processes running:
oracle@OL9-dmk-tests:~/ [+ASM] crsctl stat res -t
i-----------------------------------------------------------------------------
Name Target State Server State details
-----------------------------------------------------------------------------
Local Resources
-----------------------------------------------------------------------------
ora.DATA01.dg
ONLINE ONLINE ol9-dmk-tests STABLE
ora.LISTENER.lsnr
ONLINE ONLINE ol9-dmk-tests STABLE
ora.asm
ONLINE ONLINE ol9-dmk-tests Started,STABLE
ora.ons
OFFLINE OFFLINE ol9-dmk-tests STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE ol9-dmk-tests STABLE
ora.db1926cr_site1.db
1 ONLINE ONLINE ol9-dmk-tests Open,HOME=/u01/app/o
racle/product/19.26,
STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE ol9-dmk-tests STABLE
--------------------------------------------------------------------------------
All looks ok.
Small hint for the end, if you would like to uninstall your old grid home,
Use deinstall script instead of just removing folder, its more save in case something was not yet properly migrated to new home, and also its remove entry from oraInventory.
oracle@OL9-dmk-tests:/u01/app/grid/deinstall/ [grinf19] ./deinstall