8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | 23c | Misc | PL/SQL | SQL | RAC | WebLogic | Linux
Oracle Universal Installer (OUI) Silent Installations
The Oracle Universal Installer (OUI) is a GUI tool requiring user input to define the type of installation to be performed. Alternatively, a response file can be used to provide all the required information for the installation, so no additional user input is required. The process of running silent installations is similar to using Kickstart for Linux installations. This article explains how to record a response file using the OUI.
- Response Files
- Using Response Files : Basic
- Using Response Files : Command Line Overrides
- Using Response Files : 18c - Unzip to ORACLE_HOME
- Using Response Files : 18c - Patching Installation Media (-applyRU and -applyOneOffs)
Response Files
There are three ways of using a response file.
- The Oracle installation media contains an example response file called "db_install.rsp" in the "response" directory. You can manually edit this file and use it for a silent installation.
- Use the example response file from the media as is, and amend the necessary parameters on the command line.
- The OUI allows you to record the selections made in the GUI screens, writing them to a response file. This response file, modified or not, can then be used to perform silent installations. If you are unsure how to manually amend a response file, this option is probably the easiest way to get started.
Prior to Oracle 11gR2, to create a response file you would start the OUI with the following command and perform an installation as normal. The "-record" parameter tells the installer to write to the response file and the "-destinationFile" parameter defines the name and location of the response file.
./runInstaller -record -destinationFile /tmp/10gR2.rsp
From 11gR2 onward the "-record" option is no longer supported. Instead, the final OUI screen before starting the installation always gives you the option of saving a response file.
The response files are quite large, containing a large number of parameters and comments. The following files are examples of response files from different Oracle Database versions.
Using Response Files : Basic
A silent installation is initiated using the following command. The "-silent" parameter indicates that this is a silent installation and the "-responseFile" parameter defines the name and location of the response file.
# Normal. ./runInstaller -silent -responseFile /tmp/12cR2.rsp # Ignore Prerequisites. ./runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion -showProgress -silent -responseFile /tmp/12cR2.rsp
Some useful "runInstaller" flags include the following. The full list is available here.
-silent : Run in silent mode. -responsefile : Specified the location of the response file. -ignoreSysPrereqs : Ignore the system prerequisite checks. -ignorePrereq : Ignore the general prerequisite checks. -waitforcompletion : Stop the installer spawning as a separate process, so scripts happen in sequence. -invPtrLoc : Used to specify the location of the oraInst.loc file, which in turn specifies the inventory details. -force : Installation continues when a non-empty directory is used for the ORACLE_HOME. -showProgress : Displays line of "." to show something is happeing.
Once the installation completes you will be prompted to run the root scripts. Once the root scripts are run as instructed, the installation is complete.
Using Response Files : Command Line Overrides
An alternative to amending a response file is to use the default response file from the media and alter the parameters inline. Here is an example of a 12cR1 installation using the default response file.
# 12cR1 and below. ./runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion -showProgress -silent \ -responseFile /tmp/database/response/db_install.rsp \ oracle.install.option=INSTALL_DB_SWONLY \ ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \ UNIX_GROUP_NAME=oinstall \ INVENTORY_LOCATION=${ORA_INVENTORY} \ SELECTED_LANGUAGES=en,en_GB \ ORACLE_HOME=${ORACLE_HOME} \ ORACLE_BASE=${ORACLE_BASE} \ oracle.install.db.InstallEdition=EE \ oracle.install.db.DBA_GROUP=dba \ oracle.install.db.OPER_GROUP=dba \ oracle.install.db.BACKUPDBA_GROUP=dba \ oracle.install.db.DGDBA_GROUP=dba \ oracle.install.db.KMDBA_GROUP=dba \ SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \ DECLINE_SECURITY_UPDATES=true
The OS group name parameters were renamed in 12cR2 to include a prefix of "OS" and the OSRACDBA
parameter is now mandatory, as shown below.
# 12cR2. ./runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion -showProgress -silent \ -responseFile /tmp/database/response/db_install.rsp \ oracle.install.option=INSTALL_DB_SWONLY \ ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \ UNIX_GROUP_NAME=oinstall \ INVENTORY_LOCATION=${ORA_INVENTORY} \ SELECTED_LANGUAGES=en,en_GB \ ORACLE_HOME=${ORACLE_HOME} \ ORACLE_BASE=${ORACLE_BASE} \ oracle.install.db.InstallEdition=EE \ oracle.install.db.OSDBA_GROUP=dba \ oracle.install.db.OSBACKUPDBA_GROUP=dba \ oracle.install.db.OSDGDBA_GROUP=dba \ oracle.install.db.OSKMDBA_GROUP=dba \ oracle.install.db.OSRACDBA_GROUP=dba \ SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \ DECLINE_SECURITY_UPDATES=true
The "-ignoreSysPrereqs" and "-showProgress" parameters tell the installer to ignore any failed prerequisite checks and to show the installation process. The latter is very useful when scripting installations.
Once the installation completes you will be prompted to run the root scripts. Once the root scripts are run as instructed, the installation is complete.
Using Response Files : 18c Onward - Unzip to ORACLE_HOME
From Oracle 18c onward things are a little different as the software is unzipped into the Oracle home, then the installer is run.
# 18c. cd $ORACLE_HOME unzip -oq /path/to/software/LINUX.X64_180000_db_home.zip ./runInstaller -ignorePrereq -waitforcompletion -silent \ -responseFile ${ORACLE_HOME}/install/response/db_install.rsp \ oracle.install.option=INSTALL_DB_SWONLY \ ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \ UNIX_GROUP_NAME=oinstall \ INVENTORY_LOCATION=${ORA_INVENTORY} \ SELECTED_LANGUAGES=en,en_GB \ ORACLE_HOME=${ORACLE_HOME} \ ORACLE_BASE=${ORACLE_BASE} \ oracle.install.db.InstallEdition=EE \ oracle.install.db.OSDBA_GROUP=dba \ oracle.install.db.OSBACKUPDBA_GROUP=dba \ oracle.install.db.OSDGDBA_GROUP=dba \ oracle.install.db.OSKMDBA_GROUP=dba \ oracle.install.db.OSRACDBA_GROUP=dba \ SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \ DECLINE_SECURITY_UPDATES=true
Once the installation completes you will be prompted to run the root scripts. Once the root scripts are run as instructed, the installation is complete.
Using Response Files : 18c - Patching Installation Media (-applyRU and -applyOneOffs)
Oracle 18c also introduced the concept of patching the installation media prior to installation or upgrades. The -applyRU
flag allows you to specify the location of a Release Update (RU), which is applied to the new ORACLE_HOME
before the installation takes place. This saves you from having to install then patch the software as separate steps. If we had a release update "10000000" unzipped in the "/u01/software" directory, we might do something like this.
./runInstaller -ignorePrereq -waitforcompletion -silent \ -applyRU /u01/software/10000000 \ -responseFile ${ORACLE_HOME}/install/response/db_install.rsp \ oracle.install.option=INSTALL_DB_SWONLY \ ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \ UNIX_GROUP_NAME=oinstall \ INVENTORY_LOCATION=${ORA_INVENTORY} \ SELECTED_LANGUAGES=en,en_GB \ ORACLE_HOME=${ORACLE_HOME} \ ORACLE_BASE=${ORACLE_BASE} \ oracle.install.db.InstallEdition=EE \ oracle.install.db.OSDBA_GROUP=dba \ oracle.install.db.OSBACKUPDBA_GROUP=dba \ oracle.install.db.OSDGDBA_GROUP=dba \ oracle.install.db.OSKMDBA_GROUP=dba \ oracle.install.db.OSRACDBA_GROUP=dba \ SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \ DECLINE_SECURITY_UPDATES=true
The -applyOneOffs
flag is similar, but as the name suggests allows you to apply one-off patches. These can be combined with combined with release updates if needed. We can also specify multiple one-off patches as a comma-separated list. For the release update "10000000" with the one-off patches "10000001" and "10000002" we might do the following.
./runInstaller -ignorePrereq -waitforcompletion -silent \ -applyRU /u01/software/10000000 \ -applyOneOffs /u01/software/10000001,/u01/software/10000002 \ -responseFile ${ORACLE_HOME}/install/response/db_install.rsp \ oracle.install.option=INSTALL_DB_SWONLY \ ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \ UNIX_GROUP_NAME=oinstall \ INVENTORY_LOCATION=${ORA_INVENTORY} \ SELECTED_LANGUAGES=en,en_GB \ ORACLE_HOME=${ORACLE_HOME} \ ORACLE_BASE=${ORACLE_BASE} \ oracle.install.db.InstallEdition=EE \ oracle.install.db.OSDBA_GROUP=dba \ oracle.install.db.OSBACKUPDBA_GROUP=dba \ oracle.install.db.OSDGDBA_GROUP=dba \ oracle.install.db.OSKMDBA_GROUP=dba \ oracle.install.db.OSRACDBA_GROUP=dba \ SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \ DECLINE_SECURITY_UPDATES=true
This approach is also available for the Grid Infrastructure installation.
./gridSetup.sh ... -silent -applyRU ${SOFTWARE_DIR}/10000000 ...
For more information see:
- Oracle : Silent Installation and Database Creation
- Installing and Configuring Oracle Database Using Response Files
Hope this helps. Regards Tim...