Out-of-Place GI Patching Using gridSetup.sh in Oracle 23ai / 26ai

Before performing Out-of-Place Grid Infrastructure (GI) patching, it is strongly recommended to read the following MOS document:

Step by Step Out of Place Grid Infrastructure Patching Through gridSetup.sh in Silent Mode
(Doc ID 2853839.1)

Although this MOS document was written for GI 19.x, it is still largely applicable to Oracle 23ai / 26ai. However, the document has not been updated since September 2025, and Oracle 23ai introduces new features and significant changes to the response file format.
Because of these changes, some adaptations are required.

In this blog, I will walk through the step-by-step Out-of-Place GI patching process for Oracle 23ai and highlight the new and changed parameters in the response file.

Environnment:
Current GI Version: 23.8.5.0
Target GI Version: 23.26.1.0

1. Prerequisites Check

Run the prerequisite check from the target GI home:

# /u01/app/23.26.1.0/grid/gridSetup.sh -executePrereqs -silent
Launching Oracle Grid Infrastructure Setup Wizard…
Prerequisite checks ran successfully.
2. Create a New Response File

Copy the response file template from the existing GI home and create your own response file:

# cp /u01/app/23.8.0.0/install/response/gridsetup.rsp /tmp/grid23c_swonly.rsp
3. Update the Response File

Fill out below variables for Oracle 23ai software-only installation (CRS_SWONLY):

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v23.0.0
installOption=CRS_SWONLY
OSDBA=asmdba
OSASM=asmadmin
clusterNodes=mydb01
ORACLE_BASE=/u01/app/grid

Oracle 23ai introduces major changes to the response file variable and structure.
For comparison, here is a typical Oracle 19c configuration:

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
oracle.install.option=CRS_SWONLY
ORACLE_BASE=/u01/app/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.clusterNodes=mydb01

I encountered an error when using the configureAFD parameter as below, this appears to be a gridSetup.sh validation issue (possible bug) in Oracle 23ai.

If you do not use ASM Filter Driver (AFD), comment out this parameter in your response file:

# configureAFD=false   <--- Comment this line
4. Deploy Oracle Grid Infrastructure (Software Only)

Log in as the grid user and deploy the GI software:

sudo su - grid
/u01/app/23.26.1.0/grid/gridSetup.sh \
  -silent \
  -ignorePrereqFailure \
  -responseFile /tmp/grid23c_swonly.rsp \
  -noCopy

Sample output:

Do NOT run root.sh at this stage.
We will execute it after switching the active GI home.

5. Switch to the Target GI Home

From the target GI home, switch the Grid Infrastructure home one node at a time:

/u01/app/23.26.1.0/grid/gridSetup.sh \
  ORACLE_HOME="/u01/app/23.26.1.0/grid" \
  -silent \
  -switchGridHome \
  -noCopy

Output:

6. Run root.sh

Now log in as root and execute,

/u01/app/23.26.1.0/grid/root.sh

In this step root.sh will update OCR to point new GI home, and active new home as CRS home, so this is why we must not run root.sh too early. The cluster will be restarted and the resources will fail over to other nodes. It needs a small downtime as well .

7. Repeat for Other Nodes

Repeat Steps 4–6 on all remaining cluster nodes (one node at a time).

8. Check Active Clusterware Version

Verify that the new GI home is active:

/u01/app/23.26.1.0/grid/bin/crsctl query crs activeversion -f

Output:

mydb01: 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 [2107015493].
mydb02: 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 [2107015493].
9. Post check

Execute command

cluvfy stage -post crsinst -n all -verbose

The command validates that the entire cluster is healthy and correctly running from the new GI home after Out-of-Place GI patching.

Published by dbaliw

Highly experienced Oracle Database Administrator and Exadata Specialist with over 15 years of expertise in managing complex database environments. Skilled in cloud technologies, DevOps practices, and automation. Certified Oracle Cloud Infrastructure Architect and Oracle Certified Master with a strong background in performance tuning, high availability solutions, and database migrations.

Leave a comment