- Introduction: Typically, Oracle Database software is installed using ./runInstaller with a graphical interface. In environments where a GUI is not available, silent installation provides an alternative. By using a response file that contains all necessary configuration details, the installation can run unattended without requiring any user interaction. In this article, we will do the silent installation of Oracle Binary, a database along with the Listener step by step. In addition we will also apply the RU 19.27 patch while installing the binary.
- Prerequisites: Below are the minimum requirements for Linux environment.
- OS : OLE 7.4/Red Hat 7.5.
- RAM:4GB .
- CPU: 2core.
- Disk Space: 30GB.
- Must have root user or sudo access.
- Download the 19c Binary, RU Patch & required OPatch from below link.
- Environment:
- Now let's proceed for the installation step by step:
Oracle RU 19.27 Patch on 19c Database
Opatch
| Hostname | uat.oraeasy.com |
|---|---|
| OS | OL8.5 |
| Oracle Home | /u01/app/oracle/product/19c/dbhome_1 |
1. First we need to install the prerequistes for Oracle 19c. We can do it with two methods Automatic & Manual.
Automatic setup: It will take care of all RPM installation, changes in configuration file & "Oracle" user creation along with groups.
[root@uat ~]# yum install -y oracle-database-preinstall-19c
Manual setup: In this you need to install all RPM packages, changes in configuration file & "Oracle" user creation along with groups.Install below RPMs:
[root@uat ~]# yum install -y bc
[root@uat ~]# yum install -y binutils
[root@uat ~]# yum install -y compat-libcap1
[root@uat ~]# yum install -y compat-libstdc++-33
[root@uat ~]# yum install -y dtrace-modules
[root@uat ~]# yum install -y dtrace-modules-headers
[root@uat ~]# yum install -y dtrace-modules-provider-headers
[root@uat ~]# yum install -y dtrace-utils
[root@uat ~]# yum install -y elfutils-libelf
[root@uat ~]# yum install -y elfutils-libelf-devel
[root@uat ~]# yum install -y fontconfig-devel
[root@uat ~]# yum install -y glibc
[root@uat ~]# yum install -y glibc-devel
[root@uat ~]# yum install -y ksh
[root@uat ~]# yum install -y libaio
[root@uat ~]# yum install -y libaio-devel
[root@uat ~]# yum install -y libXrender
[root@uat ~]# yum install -y libXrender-devel
[root@uat ~]# yum install -y libX11
[root@uat ~]# yum install -y libXau
[root@uat ~]# yum install -y libXi
[root@uat ~]# yum install -y libXtst
[root@uat ~]# yum install -y libgcc
[root@uat ~]# yum install -y librdmacm-devel
[root@uat ~]# yum install -y libstdc++
[root@uat ~]# yum install -y libstdc++-devel
[root@uat ~]# yum install -y libxcb
[root@uat ~]# yum install -y make
[root@uat ~]# yum install -y net-tools # Clusterware
[root@uat ~]# yum install -y nfs-utils # ACFS
[root@uat ~]# yum install -y python # ACFS
[root@uat ~]# yum install -y python-configshell # ACFS
[root@uat ~]# yum install -y python-rtslib # ACFS
[root@uat ~]# yum install -y python-six # ACFS
[root@uat ~]# yum install -y targetcli # ACFS
[root@uat ~]# yum install -y smartmontools
[root@uat ~]# yum install -y sysstat
Edit file "/etc/sysctl.conf" with below entry, and run "/sbin/sysctl -p" post changes:
[root@uat ~]# cat /etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
[root@uat ~]# /sbin/sysctl -p
Edit file "/etc/security/limits.d/oracle-database-preinstall-19c.conf" with below entry:
[root@uat ~]# cat /etc/security/limits.d/oracle-database-preinstall-19c.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
oracle soft data unlimited
oracle hard data unlimited
Create "Oracle" user & its related groups:
[root@uat ~]# groupadd -g 54321 oinstall
[root@uat ~]# groupadd -g 54322 dba
[root@uat ~]# useradd -u 54321 -g oinstall -G dba
2. Now perform below steps. These are required whether you have done automatic or manual.Change Oracle user password:
[root@uat ~]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall)
[root@uat ~]#
[root@uat ~]# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@uat ~]#
Disable the firewall:
[root@uat ~]# systemctl stop firewalld
[root@uat ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Edit the "/etc/selinux/config" and set "SELINUX=permissive":
[root@uat ~]# cat /etc/selinux/config|grep permissive
# permissive - SELinux prints warnings instead of enforcing.
SELINUX=permissive
[root@uat ~]#
Create ORACLE_HOME directory and provide required permission:
[root@uat ~]# mkdir -p /u01/app/oracle/product/19c/dbhome_1
[root@uat ~]#
[root@uat ~]# chown -R oracle:oinstall /u01
[root@uat ~]# chmod -R 775 /u01
3. Now download the 19c binary, OPatch & RU Patch. Login with Oracle user & unzip them.
[oracle@uat ~]$ ls -lrth
total 2.9G
-rw-r--r--. 1 oracle oinstall 2.9G Aug 27 18:14 LINUX.X64_193000_db_home.zip
[oracle@uat ~]$
[oracle@uat ~]$ unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19c/dbhome_1
[oracle@uat ~]$ cd /tmp/software/
[oracle@uat software]$ ls -lrth
total 2.2G
-rw-r--r--. 1 oracle oinstall 2.2G Aug 27 18:16 19_27_p37642901_190000_Linux-x86-64.zip
-rw-r--r--. 1 oracle oinstall 70M Aug 27 18:16 p6880880_190000_Linux-x86-64_V46.zip
[oracle@uat software]$ unzip 19_27_p37642901_190000_Linux-x86-64.zip -d /u01/patch
4. Apply the Opatch.
[oracle@uat software]$ cd /u01/app/oracle/product/19c/dbhome_1/OPatch/
[oracle@uat OPatch]$
[oracle@uat OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.17
OPatch succeeded.
[oracle@uat OPatch]$
[oracle@uat OPatch]$ cd ../
[oracle@uat dbhome_1]$ mv OPatch/ OPatch_bkp
[oracle@uat dbhome_1]$
[oracle@uat software]$ ls -lrth
total 2.2G
-rw-r--r--. 1 oracle oinstall 2.2G Aug 27 18:16 19_27_p37642901_190000_Linux-x86-64.zip
-rw-r--r--. 1 oracle oinstall 70M Aug 27 18:16 p6880880_190000_Linux-x86-64_V46.zip
[oracle@uat software]$
[oracle@uat software]$ unzip p6880880_190000_Linux-x86-64_V46.zip -d /u01/app/oracle/product/19c/dbhome_1/
[oracle@uat software]$ cd /u01/app/oracle/product/19c/dbhome_1/OPatch
[oracle@uat OPatch]$
[oracle@uat OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.46
OPatch succeeded.
5. Now we need to edit the installation response file as per our environment. Take backup of existing file prior to modification.
[oracle@uat ~]$ cd /u01/app/oracle/product/19c/dbhome_1/install/response
[oracle@uat response]$
[oracle@uat response]$ ls -lrth
total 20K
-rw-r--r--. 1 oracle oinstall 20K Feb 6 2019 db_install.rsp
[oracle@uat response]$
[oracle@uat response]$ cp db_install.rsp db_install_bkp.rsp
Required parameters which need to be modified are shown below, here we are installing Software Only, Enterprise Edition & root script will be run manually:
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=oinstall
oracle.install.db.OSOPER_GROUP=oinstall
oracle.install.db.OSBACKUPDBA_GROUP=oinstall
oracle.install.db.OSDGDBA_GROUP=oinstall
oracle.install.db.OSKMDBA_GROUP=oinstall
oracle.install.db.OSRACDBA_GROUP=oinstall
oracle.install.db.rootconfig.executeRootScript=false
templateName=General_Purpose.dbc
6. Now execute the runInstaller in silent mode.Set CV_ASSUME_DISTID to OEL7 to avoid below error:
[WARNING] [INS-08101] Unexpected error while executing the action at state: 'supportedOSCheck'
[oracle@uat ~]$ cd /u01/app/oracle/product/19c/dbhome_1
[oracle@uat dbhome_1]$ ls runInstaller
runInstaller
[oracle@uat dbhome_1]$ export CV_ASSUME_DISTID=OEL7
[oracle@uat dbhome_1]$
[oracle@uat dbhome_1]$ ./runInstaller -applyRU /u01/patch/37642901 -silent -responseFile /u01/app/oracle/product/19c/dbhome_1/install/response/db_install.rsp
Preparing the home to patch...
Applying the patch /u01/patch/37642901...
Successfully applied the patch.
The log can be found at: /tmp/InstallActions2025-08-29_09-25-53AM/installerPatchActions_2025-08-29_09-25-53AM.log
Launching Oracle Database Setup Wizard...
[WARNING] [INS-32047] The location (/u01/app/oraInventory) specified for the central inventory is not empty.
ACTION: It is recommended to provide an empty location for the inventory.
The response file for this session can be found at:
/u01/app/oracle/product/19c/dbhome_1/install/response/db_2025-08-29_09-25-53AM.rsp
You can find the log of this install session at:
/tmp/InstallActions2025-08-29_09-25-53AM/installActions2025-08-29_09-25-53AM.log
As a root user, execute the following script(s):
1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/19c/dbhome_1/root.sh
Execute /u01/app/oraInventory/orainstRoot.sh on the following nodes:
[uat]
Execute /u01/app/oracle/product/19c/dbhome_1/root.sh on the following nodes:
[uat]
Successfully Setup Software.
Moved the install session logs to:
/u01/app/oraInventory/logs/InstallActions2025-08-29_09-25-53AM
[oracle@uat dbhome_1]$
Please Note: The clause "-applyRU /u01/patch/37642901" in runInstaller is for applying the RU patch during installation. It is not necessary for silent installation.7. Now execute the mentioned script from root user.
[root@uat ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@uat ~]# /u01/app/oracle/product/19c/dbhome_1/root.sh
Check /u01/app/oracle/product/19c/dbhome_1/install/root_uat.oraeasy.com_2025-08-29_09-41-32-611356488.log for the output of root script
[root@uat ~]#
[root@uat ~]# cat /u01/app/oracle/product/19c/dbhome_1/install/root_uat.oraeasy.com_2025-08-29_09-41-32-611356488.log
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/19c/dbhome_1
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
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.
[root@uat ~]#
8. Now check Oracle version and patch.
[oracle@uat ~]$ . oraenv
ORACLE_SID = [oracle] ? orcl
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/19c/dbhome_1
The Oracle base has been set to /u01/app/oracle
[oracle@uat ~]$
[oracle@uat ~]$ sqlplus -v
SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
[oracle@uat ~]$ cd /u01/app/oracle/product/19c/dbhome_1/OPatch
[oracle@uat OPatch]$ ./opatch lspatches
37642901;Database Release Update : 19.27.0.0.250415 (37642901)
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
OPatch succeeded.
[oracle@uat OPatch]$
Now we have succussfully installed the Oracle 19c along with RU 19.27 patch. So let's proceed to create a database.9. For database creation we need to edit the DBCA respnose file. Take backup of existing file prior to modification.
[oracle@uat dbca]$ cd /u01/app/oracle/product/19c/dbhome_1/assistants/dbca
[oracle@uat dbca]$
[oracle@uat dbca]$ ls
dbca.rsp dbca.sh doc jlib templates
[oracle@uat dbca]$ cp dbca.rsp dbca_bkp.rsp
[oracle@uat dbca]$ ls
dbca_bkp.rsp dbca.rsp dbca.sh doc jlib templates
Required parameters which need to be modified are shown below, here we are creating a Non-CDB database:
gdbName=orcl
sid=orcl
databaseConfigType=SI
templateName=General_Purpose.dbc
sysPassword=Sys123
systemPassword=Sys123
datafileDestination=/u01/app/oracle/oradata
recoveryAreaDestination=/u01/app/oracle/FRA
10. Create the required directories for datafile & FRA.
[oracle@uat dbca]$ mkdir -p /u01/app/oracle/oradata
[oracle@uat dbca]$
[oracle@uat dbca]$ mkdir -p /u01/app/oracle/FRA
11. Now execute the DBCA in silent mode.
[oracle@uat dbca]$ dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19c/dbhome_1/assistants/dbca/dbca.rsp
[WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
Prepare for db operation
10% complete
Copying database files
40% complete
Creating and starting Oracle instance
42% complete
46% complete
50% complete
54% complete
60% complete
Completing Database Creation
66% complete
69% complete
70% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
/u01/app/oracle/cfgtoollogs/dbca/orcl.
Database Information:
Global Database Name:orcl
System Identifier(SID):orcl
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
[oracle@uat dbca]$
12. Verify "/etc/oratab" file & login into database.
[oracle@uat dbca]$ cat /etc/oratab
#
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME::
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
orcl:/u01/app/oracle/product/19c/dbhome_1:N
[oracle@uat dbca]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 29 11:08:53 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
SQL>
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
ORCL READ WRITE PRIMARY
SQL>
Now we have succussfully created the database with name "orcl". Now let's proceed for Listener creation in silent mode.13. For Listener creation we need to edit the NETCA respnose file. Take backup of existing file prior to modification.
[oracle@uat dbca]$ cd /u01/app/oracle/product/19c/dbhome_1/assistants/netca
[oracle@uat netca]$ ls
doc images jlib netca_deinst.sbs netca.rsp netca.sbs
[oracle@uat netca]$
[oracle@uat netca]$ cp netca.rsp netca_bkp.rsp
[oracle@uat netca]$ ls
doc images jlib netca_bkp.rsp netca_deinst.sbs netca.rsp netca.sbs
[oracle@uat netca]$
Required parameters which need to be modified are shown below for Listener:
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
NSN_SERVICE={"orcl"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
14. Now execute the DBCA in silent mode.
[oracle@uat netca]$ netca -silent -orahome /u01/app/oracle/product/19c/dbhome_1 -responsefile /u01/app/oracle/product/19c/dbhome_1/assistants/netca/netca.rsp
Parsing command line arguments:
Parameter "silent" = true
Parameter "orahome" = /u01/app/oracle/product/19c/dbhome_1
Parameter "responsefile" = /u01/app/oracle/product/19c/dbhome_1/assistants/netca/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/u01/app/oracle/product/19c/dbhome_1/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
[oracle@uat netca]$
15. Now check the Listener status.
[oracle@uat netca]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 29-AUG-2025 12:27:22
Copyright (c) 1991, 2025, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=uat.oraeasy.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 29-AUG-2025 12:26:39
Uptime 0 days 0 hr. 0 min. 43 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/uat/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=uat.oraeasy.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@uat netca]$
Thank you for reading!
I hope this content has been helpful to you. Your feedback and suggestions are always welcome — feel free to leave a comment or reach out with any queries.
Abhishek Shrivastava

Comments
Post a Comment