---
title: How to prepare a response file for a grid 18c silent upgrade
description: %%excerpt%% Michael Dinh outlines some suggestions for preparing a response file for a Grid 18c silent upgrade
---

[Blog | Pythian ](https://www.pythian.com/blog)

# [How to prepare a response file for a grid 18c silent upgrade](https://www.pythian.com/blog/how-to-prepare-a-response-file-for-a-grid-18c-silent-upgrade)

 Written by [Michael Dinh](https://www.pythian.com/blog/author/michael-dinh) | Mar 7, 2019 5:00:00 AM

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?

[View full post](https://www.pythian.com/blog/how-to-prepare-a-response-file-for-a-grid-18c-silent-upgrade)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Michael Dinh"
  },
  "dateModified" : "2026-03-27T04:30:46.211Z",
  "datePublished" : "2019-03-07T05:00:00Z",
  "headline" : "How to prepare a response file for a grid 18c silent upgrade",
  "image" : {
    "@type" : "ImageObject",
    "height" : 60,
    "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
    "width" : 60
  },
  "mainEntityOfPage" : "https://www.pythian.com/blog/how-to-prepare-a-response-file-for-a-grid-18c-silent-upgrade",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "Pythian Blog"
  }
}
```