How to prepare a response file for a grid 18c silent upgrade
Due to security and complexity of the environment, the option to use Graphical User Interface (GUI) is not always available. Upgrade operations will need to be performed from the command line interface (CLI).
Navigating Oracle Upgrades Without a GUI
Performing upgrades via the CLI is a standard reality for many DBAs. Before diving into the configuration files, you must ensure the underlying OS permissions are correctly aligned.
Verifying User and Group Assignments
Determine groups assigned to grid and oracle user
[oracle@racnode-dc1-1 ~]$ id grid uid=54320(grid) gid=54321(oinstall) groups=54321(oinstall),54318(asmdba),54319(asmoper),54320(asmadmin),54322(dba) [oracle@racnode-dc1-1 ~]$ id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54318(asmdba),54320(asmadmin),54322(dba),54323(backupdba),54324(oper),54325(dgdba),54326(kmdba)
The Challenge of Response File Configuration
Create response file gridsetup_upgrade.rsp from gridsetup.rsp. There are 667 lines from gridsetup.rsp and it's not efficient to view the entire file to identify modifications.
[oracle@racnode-dc1-1 18cLinux]$ wc -l gridsetup.rsp 667 gridsetup.rsp
Method 1: Filtering with egrep and awk
One method to identify change is to strip out comments and empty values to see exactly what has been configured:
Bash[oracle@racnode-dc1-1 18cLinux]$ egrep -v "^#" gridsetup_upgrade.rsp | awk -F'=' '$2' oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v18.0.0 INVENTORY_LOCATION=/u01/app/oraInventory oracle.install.option=UPGRADE ORACLE_BASE=/u01/app/oracle oracle.install.asm.OSDBA=asmdba oracle.install.asm.OSOPER=asmoper oracle.install.asm.OSASM=asmadmin oracle.install.crs.config.scanType=LOCAL_SCAN oracle.install.crs.config.ClusterConfiguration=STANDALONE oracle.install.crs.config.configureAsExtendedCluster=false oracle.install.crs.config.gpnp.configureGNS=false oracle.install.crs.config.ignoreDownNodes=false
Method 2: Utilizing sdiff for Quick Comparisons
Another option is to use sdiff; however, a disadvantage is that it does not provide a version for a response file:
[oracle@racnode-dc1-1 18cLinux]$ sdiff -iEZbWBst -w 120 gridsetup.rsp gridsetup_upgrade.rsp INVENTORY_LOCATION= | INVENTORY_LOCATION=/u01/app/oraInventory oracle.install.option= | oracle.install.option=UPGRADE ORACLE_BASE= | ORACLE_BASE=/u01/app/oracle oracle.install.asm.OSDBA= | oracle.install.asm.OSDBA=asmdba oracle.install.asm.OSOPER= | oracle.install.asm.OSOPER=asmoper oracle.install.asm.OSASM= | oracle.install.asm.OSASM=asmadmin oracle.install.crs.config.scanType= | oracle.install.crs.config.scanType=LOCAL_SCAN oracle.install.crs.config.ClusterConfiguration= | oracle.install.crs.config.ClusterConfiguration=STANDALONE oracle.install.crs.config.configureAsExtendedCluster=| oracle.install.crs.config.configureAsExtendedCluster=false oracle.install.crs.config.gpnp.configureGNS= | oracle.install.crs.config.gpnp.configureGNS=false oracle.install.crs.config.ignoreDownNodes= | oracle.install.crs.config.ignoreDownNodes=false
Understanding the sdiff switches used:
- -i, --ignore-case
- -E, --ignore-tab-expansion
- -Z, --ignore-trailing-space
- -b, --ignore-space-change
- -W, --ignore-all-space
- -B, --ignore-blank-lines
- -s, --suppress-common-lines
- -t, --expand-tabs (expand tabs to spaces in output)
- -w, --width=NUM
Conclusion
In conclusion, the steps outlined should provide for a more efficient method to provide only pertinent changes for the response file.
SQL Server Database Consulting Services
Ready to future-proof your SQL Server investment?
Share this
Share this
More resources
Learn more about Pythian by reading the following blogs and articles.
How to Upgrade Grid Infrastructure to 18c

Response File for GI Node Addition
While Upgrading from GI 12c to 19c, +asm1(19c) Cannot Detect +asm2(12c)
Ready to unlock value from your data?
With Pythian, you can accomplish your data transformation goals and more.