Saturday, February 28, 2026

Upgrading Oracle Restart from 19c to 26ai on RHEL 8

This post shows the steps for upgrading the grid infrastructure portion of 19c Oracle Restart to 26ai.
The current patch level on GI is RU 19.29.
$ORACLE_HOME/OPatch/opatch lspatches
38380425;TOMCAT RELEASE UPDATE 19.0.0.0.0 (38380425)
38322923;OCW RELEASE UPDATE 19.29.0.0.0 (38322923)
38311528;ACFS RELEASE UPDATE 19.29.0.0.0 (38311528)
38291812;Database Release Update : 19.29.0.0.251021 (38291812)
36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)
The OS is RHEL8
cat /etc/redhat-release
Red Hat Enterprise Linux release 8.8 (Ootpa)

$ uname -r
4.18.0-477.13.1.el8_8.x86_64
The software and release version of the HAS are as below.
$ crsctl query has releaseversion
Oracle High Availability Services release version on the local node is [19.0.0.0.0]

$ crsctl query has softwareversion
Oracle High Availability Services version on the local node is [19.0.0.0.0]
For 26ai Oracle restart two new additional pre-reqs need to be completed. One is to set kernel parameter kernel.panic=1 and install RPM compat-openssl10(x86_64)-1.0.2. With these no other pre-req failures are expected (on this test system SWAP is flagged which could be ignored)
./runcluvfy.sh stage -pre hacfg

Performing following verification checks ...

  Physical Memory ...PASSED
  Available Physical Memory ...PASSED
  Swap Size ...FAILED (PRVF-7573)
  Free Space: ip-172-31-2-172:/usr,ip-172-31-2-172:/var,ip-172-31-2-172:/etc,ip-172-31-2-172:/sbin,ip-172-31-2-172:/tmp ...PASSED
  User Existence: oracle ...
    Users With Same UID: 1001 ...PASSED
  User Existence: oracle ...PASSED
  Group Existence: dba ...PASSED
  Group Membership: dba ...PASSED
  Run Level ...PASSED
  Architecture ...PASSED
  OS Kernel Version ...PASSED
  OS Kernel Parameter: semmsl ...PASSED
  OS Kernel Parameter: semmns ...PASSED
  OS Kernel Parameter: semopm ...PASSED
  OS Kernel Parameter: semmni ...PASSED
  OS Kernel Parameter: shmmax ...PASSED
  OS Kernel Parameter: shmmni ...PASSED
  OS Kernel Parameter: shmall ...PASSED
  OS Kernel Parameter: file-max ...PASSED
  OS Kernel Parameter: ip_local_port_range ...PASSED
  OS Kernel Parameter: rmem_default ...PASSED
  OS Kernel Parameter: rmem_max ...PASSED
  OS Kernel Parameter: wmem_default ...PASSED
  OS Kernel Parameter: wmem_max ...PASSED
  OS Kernel Parameter: aio-max-nr ...PASSED
  OS Kernel Parameter: panic_on_oops ...PASSED
  OS Kernel Parameter: kernel.panic ...PASSED
  Package: binutils-2.30-113.0.2 ...PASSED
  Package: compat-openssl10-1.0.2 (x86_64) ...PASSED
  Package: fontconfig-2.13.1 (x86_64) ...PASSED
  Package: libgcc-8.5.0 (x86_64) ...PASSED
  Package: libstdc++-8.5.0 (x86_64) ...PASSED
  Package: sysstat-11.7.3 ...PASSED
  Package: make-4.2.1 ...PASSED
  Package: glibc-2.28 (x86_64) ...PASSED
  Package: glibc-devel-2.28 (x86_64) ...PASSED
  Package: libaio-0.3.112 (x86_64) ...PASSED
  Package: nfs-utils-2.3.3-51 ...PASSED
  Package: smartmontools-7.1-1 ...PASSED
  Package: net-tools-2.0-0.52 ...PASSED
  Package: policycoreutils-2.9-1 ...PASSED
  Package: policycoreutils-python-utils-2.9-1 ...PASSED
  Users With Same UID: 0 ...PASSED
  Current Group ID ...PASSED
  Root user consistency ...PASSED

Pre-check for Oracle Restart configuration was unsuccessful.


Failures were encountered during execution of CVU verification request "stage -pre hacfg".

Swap Size ...FAILED
ip-172-31-2-172: PRVF-7573 : Sufficient swap size is not available on node
                 "ip-172-31-2-172" [Required = 15.3892GB (1.613672E7KB) ; Found
                 = 0.0 bytes]


CVU operation performed:      stage -pre hacfg
Date:                         Feb 27, 2026, 3:47:28 PM
CVU version:                  23.26.1.0.0 (010926x8664)
CVU home:                     /opt/_____/app/oracle/product/23.26.1/grid
Grid home:                    /opt/______/app/oracle/product/19.28.0/grid
User:                         oracle
Operating system:             Linux4.18.0-477.13.1.el8_8.x86_64
Run the gridSetup.sh and select upgrade option.

Shutdown databases using the ASM that are part of the GI being upgraded.

Register with OMS

Select the Oracle base location

Provide root password or sudo related details. If omitted root script could be run manually in the end.

Check pre-reqs

Verify the summary. At this stage the responses could be saved into a file which could be used for silent upgrade.

Begin the upgrade and run the rootupgrade.sh when prompted.


./rootupgrade.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /opt/company/app/oracle/product/23.26.1/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   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 '/opt/company/app/oracle/product/23.26.1/grid/perl/bin/perl -I/opt/company/app/oracle/product/23.26/crs/install/roothas.pl  -upgrade'
Using configuration parameter file: /opt/company/app/oracle/product/23.26.1/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /opt/company/app/oracle/crsdata/ip-172-31-2-172/crsconfig/roothas_2026-02-27_04-01-24PM.log
2026/02/27 16:01:25 CLSRSC-595: Executing upgrade step 1 of 11: 'UpgPrechecks'.
acfsutil info fs: ACFS-03036: no mounted ACFS file systems
2026/02/27 16:01:29 CLSRSC-595: Executing upgrade step 2 of 11: 'GetOldConfig'.
2026/02/27 16:01:32 CLSRSC-595: Executing upgrade step 3 of 11: 'GenSiteGUIDs'.
2026/02/27 16:01:32 CLSRSC-595: Executing upgrade step 4 of 11: 'SetupOSD'.
2026/02/27 16:01:32 CLSRSC-595: Executing upgrade step 5 of 11: 'PreUpgrade'.
2026/02/27 16:07:34 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/27 16:07:42 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 ip-172-31-2-172 successfully pinned.
2026/02/27 16:07:48 CLSRSC-595: Executing upgrade step 8 of 11: 'CreateOHASD'.
2026/02/27 16:07:49 CLSRSC-595: Executing upgrade step 9 of 11: 'ConfigOHASD'.
2026/02/27 16:08:30 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
2026/02/27 16:08:39 CLSRSC-595: Executing upgrade step 10 of 11: 'UpgradeSIHA'.


ip-172-31-2-172     2026/02/27 16:09:39     /opt/company/app/oracle/crsdata/ip-172-31-2-172/olr/backup_20260227_160939.olr     2107015493

ip-172-31-2-172     2022/02/08 17:07:46     /opt/company/app/oracle/crsdata/ip-172-31-2-172/olr/backup_20220208_170746.olr     3342960164
2026/02/27 16:09:39 CLSRSC-595: Executing upgrade step 11 of 11: 'InstallACFS'.

2026/02/27 16:11:26 CLSRSC-327: Successfully configured Oracle Restart for a standalone server
This concludes the successful upgrade of Oracle restart GI to 26ai.

cluvfy stage -post hacfg

Performing following verification checks ...

  Oracle Restart Integrity ...PASSED
  OLR Integrity ...PASSED

Post-check for Oracle Restart configuration was successful.

CVU operation performed:      stage -post hacfg
Date:                         Feb 24, 2026, 3:35:01 PM
CVU version:                  23.26.1.0.0 (010926x8664)
CVU home:                     /opt/company/app/oracle/product/23.26.1/grid
Grid home:                    /opt/company/app/oracle/product/23.26.1/grid
User:                         oracle
Operating system:             Linux4.18.0-553.84.1.el8_10.x86_64

$ crsctl query has releaseversion
Oracle High Availability Services release version on the local node is [23.0.0.0.0]

$ crsctl query has softwareversion
Oracle High Availability Services version on the local node is [23.0.0.0.0]
The ASM diskgroup related attributes could also upgraded at this stage. Current attributes values are
select * from v$asm_attribute where name like '%compat%'

NAME                           VALUE                          GROUP_NUMBER ATTRIBUTE_INDEX ATTRIBUTE_INCARNATION READ_ON SYSTEM_     CON_ID
------------------------------ ------------------------------ ------------ --------------- --------------------- ------- ------- ----------
compatible.asm                 19.0.0.0.0                                1             110                     1 N       Y                0
compatible.rdbms               19.0.0.0.0                                1             112                     1 N       Y                0
compatible.advm                19.0.0.0.0                                1             113                     1 N       Y                0
compatible.asm                 19.0.0.0.0                                2             110                     1 N       Y                0
compatible.rdbms               19.0.0.0.0                                2             112                     1 N       Y                0
compatible.advm                19.0.0.0.0                                2             113                     1 N       Y                0
DO NOT upgrade the compatible.rdbms unless database compatibility parameter is upgraded first.
Both compatible.asm and compatible.advm are upgraded for each diskgroup using asmca
$ asmca -silent -editDiskGroupAttributes -diskGroupName data -attribute compatible.asm=23.0.0.0.0

[DBT-30025] UPDATE_DG_ATTRIBUTES_SUCCESS

$ asmca -silent -editDiskGroupAttributes -diskGroupName fra -attribute compatible.asm=23.0.0.0.0

[DBT-30025] UPDATE_DG_ATTRIBUTES_SUCCESS

$ asmca -silent -editDiskGroupAttributes -diskGroupName data -attribute compatible.advm=23.0.0.0.0

[DBT-30025] UPDATE_DG_ATTRIBUTES_SUCCESS

$ asmca -silent -editDiskGroupAttributes -diskGroupName fra -attribute compatible.advm=23.0.0.0.0

[DBT-30025] UPDATE_DG_ATTRIBUTES_SUCCESS
ASM alert log could be viewed for update messages
2026-02-27T16:18:19.683968+00:00
SQL> alter diskgroup data set attribute 'compatible.asm' = '23.0.0.0.0' /* ASMCA */
2026-02-27T16:18:19.709087+00:00
NOTE: Advancing ASM compatibility from 19.0.0.0.0 to 23.0.0.0.0 for grp 1
2026-02-27T16:18:19.739061+00:00
NOTE: Advancing compatible.asm (replicated) on grp 1 disk DATA_0000
NOTE: Advancing compatible.asm (replicated) on grp 1 disk DATA_0001
NOTE: Advancing compatible.asm on grp 1 disk DATA_0000
NOTE: Advancing compatible.asm on grp 1 disk DATA_0001
2026-02-27T16:18:19.741622+00:00
NOTE: set version 3 for asmCompat 23.0.0.0.0 for group 1
2026-02-27T16:18:19.745668+00:00
SUCCESS: Advanced compatible.asm to 23.0.0.0.0 for grp 1
2026-02-27T16:18:19.746091+00:00
NOTE: Instance updated compatible.asm to 23.0.0.0.0 for grp 1 (DATA).
2026-02-27T16:18:19.829708+00:00
NOTE: Advancing AVD compatibility to 23.0.0.0.0 for grp 1
2026-02-27T16:18:19.829918+00:00
SUCCESS: Advanced compatible.advm to 23.0.0.0.0 for grp 1
2026-02-27T16:18:19.842912+00:00
SUCCESS: alter diskgroup data set attribute 'compatible.asm' = '23.0.0.0.0' /* ASMCA */
After this upgrade additional compatibile attributes gets enabled on the disk group. At this time of this post ASM Admin guide did not have any mention of these attributes.
select * from v$asm_attribute where name like '%compat%'

NAME                                     VALUE           GROUP_NUMBER ATTRIBUTE_INDEX ATTRIBUTE_INCARNATION READ_ON SYSTEM_     CON_ID
---------------------------------------- --------------- ------------ --------------- --------------------- ------- ------- ----------
compatible.advm                          23.0.0.0.0                 1             103                     1 N       Y                0
compatible.asm                           23.0.0.0.0                 1             100                     1 N       Y                0
compatible.patch.asm.blkpatchredo        ENABLED                    1             248                     1 Y       Y                0
compatible.patch.asm.containerparity     ENABLED                    1             248                     1 Y       Y                0
compatible.patch.asm.crc32cksum          ENABLED                    1             248                     1 Y       Y                0
compatible.patch.asm.doubleparity        ENABLED                    1             248                     1 Y       Y                0
compatible.rdbms                         19.0.0.0.0                 1             102                     1 N       Y                0
compatible.advm                          23.0.0.0.0                 2             103                     1 N       Y                0
compatible.asm                           23.0.0.0.0                 2             100                     1 N       Y                0
compatible.patch.asm.blkpatchredo        ENABLED                    2             248                     1 Y       Y                0
compatible.patch.asm.containerparity     ENABLED                    2             248                     1 Y       Y                0
compatible.patch.asm.crc32cksum          ENABLED                    2             248                     1 Y       Y                0
compatible.patch.asm.doubleparity        ENABLED                    2             248                     1 Y       Y                0
compatible.rdbms                         19.0.0.0.0                 2             102                     1 N       Y                0
This conclude the upgrade of Oracle restart from 19c to 26ai.

Related Posts
Upgrading Oracle Restart from 19c to 21c on RHEL 7
Upgrading Oracle Single Instance with ASM (Oracle Restart) from 11.2.0.4 to 19c (19.6) on RHEL 7
Upgrading Oracle Restart from 18c (18.6) to 19c (19.3)
Upgrading Oracle Restart from 12.2.0.1 to 18c
Upgrading Oracle Single Instance with ASM (Oracle Restart) from 11.2.0.4 to 12.2.0.1
Upgrading Oracle Single Instance with ASM (Oracle Restart) from 12.1.0.2 to 12.2.0.1
Upgrading Single Instance on ASM from 11.2.0.3 to 11.2.0.4
Upgrading Grid Infrastructure Used for Single Instance from 11.2.0.4 to 12.1.0.2

The same thing could be done in silent mode using a response file. Invoke the gridSetup.sh with upgrade and response file optoins. When prompted run the root upgrade script. The output is written to log file.
./gridSetup.sh -upgrade -silent -responseFile /opt/installs/26ai/grids.rsp
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 "ip-172-31-8-174" [Required = 16GB (1.677721
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. /opt/company/app/oraInventory/logs/Gr
   ACTION: Identify the list of failed prerequisite checks from the log: /opt/company/app/oraInventory/logs/GridSetupon manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
 /opt/company/app/oracle/product/23.26.1/grid/install/response/grid_2026-02-24_03-26-13PM.rsp

You can find the log of this install session at:
 /opt/company/app/oraInventory/logs/GridSetupActions2026-02-24_03-26-13PM/gridSetupActions2026-02-24_03-26-13PM.log

As a root user, run the following script(s):
        1. /opt/company/app/oracle/product/23.26.1/grid/rootupgrade.sh

Run /opt/company/app/oracle/product/23.26.1/grid/rootupgrade.sh on the following nodes:
[ip-172-31-8-174]