Oracle 19c Database creation using in Silent Mode on Linux 7

In this post I will show how to create database in oracle 19c using silent mode.

Usually we create database graphically by calling database creation utility known as DBCA.
But due to different reasons you may not have the possibility to install it graphically. So I will show how to create a database using DBCA in silent mode.

Before creating a database, the database binary should be installed.

Using the following link you can learn how to install oracle 19c database.

how to install Oracle 19c Software using Silent mode on Linux 7

To create database graphically you can follow the following link

Oracle Database 19c Installation On Oracle Linux 7 in graphical mode.

 

Step 1.

To create a database in silent mode, we will use a response file, however its not mandatory as we can pass all the arguments in command line to create database. A response file consists of different values which are basically required for database installation. The location of response file is $ORACLE_HOME/assistants/dbca

 

Add the following arguments response file . The arguments I have passed here as based on my requirement.

[oracle@gg1 bin]$ vi  $ORACLE_HOME/assistants/dbca/dbca.rsp

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0

 gdbName=testdb ---> This defines global db name

 sid=testdb    --->  This defines the oracle SID 

 databaseConfigType=SI ---- > This defines the instance type i.e single instance or Rac instance

 createAsContainerDatabase=true ---> Choose true if you want to create a container database

 numberOfPDBs=2 --- > Defines no of pdbs would be created

 pdbName=testpdb --- > Defines pdb name

pdbAdminPassword=redhat ---> Defines password for pdb admininstrator user

templateName=/u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc --- > Defines the template name would be used for database creation

 sysPassword=redhat --- > password for sys user

 systemPassword=redhat --- > password for system user

 datafileDestination=/u01/app/oracle/oradata ---- > Defines datafile location

  storageType=FS --- > Defines the storage type i.e. file system or ASM

 characterSet=AL32UTF8 --- > Defines character set

 nationalCharacterSet=AL16UTF16 --- > Defines national character set

 sampleSchema=TRUE --- > Defines if sample schemas would be created

 

 databaseType=MULTIPURPOSE --- >Defines database type whether   

  MULTIPURPOSE|DATA_WAREHOUSING|OLTP

 automaticMemoryManagement=TRUE --- > Defines if AMM is enabled

 totalMemory=1024 ---- > Defines total memory allocated for database

 


Step 2.

Begin installation

 

[oracle@gg1 bin]$ export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1

[oracle@gg1 bin]$ export PATH=$ORACLE_HOME/bin:$PATH

[oracle@gg1 bin cd $ORACLE_HOME/bin

 

[oracle@gg1 bin]$ dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/dbca.rsp

Prepare for db operation

8% complete

Copying database files

31% complete

Creating and starting Oracle instance

32% complete

36% complete

40% complete

43% complete

46% complete

Completing Database Creation

51% complete

53% complete

54% complete

Creating Pluggable Databases

58% complete

63% complete

77% complete

Executing Post Configuration Actions

100% complete

Database creation complete. For details check the logfiles at:

 /u01/app/oracle/cfgtoollogs/dbca/testdb.

Database Information:

Global Database Name:testdb

System Identifier(SID):testdb

Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/testdb/testdb0.log" for further details.

 

 

Step 3.

Verify Installation

 

[oracle@gg1 bin]$ export ORACLE_SID=testdb

[oracle@gg1 bin]$ sqlplus / as sysdba

 

SQL> show con_name

 

CON_NAME

------------------------------

CDB$ROOT

 

SQL> select instance_name,open_mode,database_role from v$database,v$instance;

 

INSTANCE_NAME    OPEN_MODE            DATABASE_ROLE

---------------- -------------------- ----------------

testdb           READ WRITE           PRIMARY

 

SQL> show pdbs

 

    CON_ID CON_NAME             OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

         2 PDB$SEED                       READ ONLY  NO

         3 TESTPDB1                       READ WRITE NO

         4 TESTPDB2                       READ WRITE NO



So this concludes the database creation using silent mode in oracle 19c

How to install Oracle 19c Software using Silent mode on Linux 7


Oracle Database 19c Software Installation On Oracle Linux 7 using silent mode

 

·                     Download Software

Oracle Database 19c (19.3) Software (64-bit)

 

The objective of creating this post is sometimes we face difficulties in database binaries installation and database creation graphically. So to mitigate the problem I will show how to do the software installation through command lines. I will share the process of database creation though command line in my next blog post.

 I have shared steps of Oracle Database 19c installation in graphical mode in this post.

 

Step 1.  Add hosts entry in hosts file 

[root@gg1 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.0.110 gg1.soumya.com gg1

 

 

 Step 2. Install the "oracle-database-preinstall-19c" package to perform all the prerequisite setup

# yum install -y oracle-database-preinstall-19c

 

The following packages are required :-

 

yum install -y bc -*  

yum install -y binutils-*

yum install -y compat-libcap1-*

yum install -y compat-libstdc++-33-*

yum install -y dtrace-utils-*

yum install -y elfutils-libelf-*

yum install -y elfutils-libelf-devel-*

yum install -y fontconfig-devel-*

yum install -y glibc-*

yum install -y glibc-devel-*

yum install -y ksh-*

yum install -y libaio-*

yum install -y libaio-devel-*

yum install -y libdtrace-ctf-devel-*

yum install -y libXrender-*

yum install -y libXrender-devel-*

yum install -y libX11-*

yum install -y libXau-*

yum install -y libXi-*

yum install -y libXtst-*

yum install -y libgcc-*

yum install -y librdmacm-devel-*

yum install -y libstdc++-*

yum install -y libstdc++-devel-*

yum install -y libxcb-*

yum install -y make-*

yum install -y net-tools # Clusterware-*

yum install -y nfs-utils-* # ACFS

yum install -y python-* # ACFS

yum install -y python-configshell-* # ACFS

yum install -y python-rtslib-* # ACFS

yum install -y python-six-* # ACFS

yum install -y targetcli-* # ACFS

yum install -y smartmontools-*

yum install -y sysstat-*

yum install -y unixODBC-*

 

Step 3. Create the new groups and users if it doesn’t exist. 

 

groupadd -g 54321 oinstall

groupadd -g 54322 dba

 

Create oracle user:-

useradd -u 54321 -g oinstall -G dba oracle

 

Set password for oracle user:- 

[root@gg1 ~]# 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.

 

 

Step 4.  Disable selinux. Set it as disabled in the following file and restart the server to make it effective.

 vi /etc/sysconfig/selinux

 SELINUX=disabled

 

Disable firewall

 #systemctl stop firewalld

#systemctl disable firewalld

 

Step 5. Create the directories in which the Oracle software will be installed. 

mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1

chown -R oracle:oinstall /u01

chmod -R 775 /u01

 

  

Step 6.  Modify bash_profile of oracle user.

vi .bash_profile

 export TMP=/tmp

export TMPDIR=$TMP

 export ORACLE_HOSTNAME=gg1.soumya.com

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1

export ORA_INVENTORY=/u01/app/oraInventory

export ORACLE_SID=orclcdb

export PDB_NAME=orclpdb1 

export PATH=/usr/sbin:/usr/local/bin:\$PATH

export PATH=\$ORACLE_HOME/bin:\$PATH 

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib

 

  

Step 7. Unzip software.

 

[oracle@gg1 ~]$ cd $ORACLE_HOME

 [oracle@gg1 dbhome_1]$ unzip -oq /u01/LINUX.X64_193000_db_home.zip

 

Step 8. create the response file

[oracle@gg1 ]$ cd $ORACLE_HOME/install/response

[oracle@gg1 ]$ vi db_install.rsp

 

[oracle@gg1 ]$

####################################################################

## Copyright(c) Oracle Corporation 1998,2019. All rights reserved.##

##                                                                ##

## Specify values for the variables listed below to customize     ##

## your installation.                                             ##

##                                                                ##

## Each variable is associated with a comment. The comment        ##

## can help to populate the variables with the appropriate        ##

## values.                                                        ##

##                                                                ##

## IMPORTANT NOTE: This file contains plain text passwords and    ##

## should be secured to have read permission only by oracle user  ##

## or db administrator who owns this installation.                ##

##                                                                ##

####################################################################

 

 

#------------------------------------------------------------------------------

# Do not change the following system generated value.

#------------------------------------------------------------------------------

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0

 

#-------------------------------------------------------------------------------

# Specify the installation option.

# It can be one of the following:

#   - INSTALL_DB_SWONLY

#   - INSTALL_DB_AND_CONFIG

#-------------------------------------------------------------------------------

oracle.install.option=INSTALL_DB_SWONLY

 

#-------------------------------------------------------------------------------

# Specify the Unix group to be set for the inventory directory.

#-------------------------------------------------------------------------------

UNIX_GROUP_NAME=oinstall

 

#-------------------------------------------------------------------------------

# Specify the location which holds the inventory files.

# This is an optional parameter if installing on

# Windows based Operating System.

#-------------------------------------------------------------------------------

INVENTORY_LOCATION= /u01/app/oraInventory

#-------------------------------------------------------------------------------

# Specify the complete path of the Oracle Home.

#-------------------------------------------------------------------------------

ORACLE_HOME= /u01/app/oracle/product/19.0.0/dbhome_1

 

#-------------------------------------------------------------------------------

# Specify the complete path of the Oracle Base.

#-------------------------------------------------------------------------------

ORACLE_BASE=/u01/app/oracle

 

#-------------------------------------------------------------------------------

# Specify the installation edition of the component.

#

# The value should contain only one of these choices.

#   - EE     : Enterprise Edition

#   - SE2     : Standard Edition 2

 

 

#-------------------------------------------------------------------------------

 

oracle.install.db.InstallEdition=EE

###############################################################################

#                                                                             #

# PRIVILEGED OPERATING SYSTEM GROUPS                                          #

# ------------------------------------------                                  #

# Provide values for the OS groups to which SYSDBA and SYSOPER privileges     #

# needs to be granted. If the install is being performed as a member of the   #

# group "dba", then that will be used unless specified otherwise below.       #

#                                                                             #

# The value to be specified for OSDBA and OSOPER group is only for UNIX based #

# Operating System.                                                           #

#                                                                             #

###############################################################################

 

#------------------------------------------------------------------------------

# The OSDBA_GROUP is the OS group which is to be granted SYSDBA privileges.

#-------------------------------------------------------------------------------

oracle.install.db.OSDBA_GROUP=oinstall

 

#------------------------------------------------------------------------------

# The OSOPER_GROUP is the OS group which is to be granted SYSOPER privileges.

# The value to be specified for OSOPER group is optional.

#------------------------------------------------------------------------------

oracle.install.db.OSOPER_GROUP=oinstall

 

#------------------------------------------------------------------------------

# The OSBACKUPDBA_GROUP is the OS group which is to be granted SYSBACKUP privileges.

#------------------------------------------------------------------------------

oracle.install.db.OSBACKUPDBA_GROUP=oinstall

 

#------------------------------------------------------------------------------

# The OSDGDBA_GROUP is the OS group which is to be granted SYSDG privileges.

#------------------------------------------------------------------------------

oracle.install.db.OSDGDBA_GROUP=oinstall

 

#------------------------------------------------------------------------------

# The OSKMDBA_GROUP is the OS group which is to be granted SYSKM privileges.

#------------------------------------------------------------------------------

oracle.install.db.OSKMDBA_GROUP=oinstall

################################################################################

#                                                                              #

#                      Root script execution configuration                     #

#                                                                              #

################################################################################

 

#-------------------------------------------------------------------------------------------------------

# Specify the root script execution mode.

#

#   - true  : To execute the root script automatically by using the appropriate configuration methods.

#   - false : To execute the root script manually.

#

# If this option is selected, password should be specified on the console.

#-------------------------------------------------------------------------------------------------------

oracle.install.db.rootconfig.executeRootScript=false

 

#--------------------------------------------------------------------------------------

# Specify the configuration method to be used for automatic root script execution.

#

# Following are the possible choices:

#   - ROOT

#   - SUDO

#--------------------------------------------------------------------------------------

oracle.install.db.rootconfig.configMethod=ROOT

#--------------------------------------------------------------------------------------

# Specify the absolute path of the sudo program.

#

# Applicable only when SUDO configuration method was chosen.

#--------------------------------------------------------------------------------------

oracle.install.db.rootconfig.sudoPath=

 

#--------------------------------------------------------------------------------------

# Specify the name of the user who is in the sudoers list.

# Applicable only when SUDO configuration method was chosen.

# Note:For Single Instance database installations,the sudo user name must be the username of the user installing the database.

#--------------------------------------------------------------------------------------

oracle.install.db.rootconfig.sudoUserName=

###############################################################################

#                                                                             #

#                               Grid Options                                  #

#                                                                             #

###############################################################################

 

#------------------------------------------------------------------------------

# Value is required only if the specified install option is INSTALL_DB_SWONLY

#

# Specify the cluster node names selected during the installation.

#

# Example : oracle.install.db.CLUSTER_NODES=node1,node2

#------------------------------------------------------------------------------

oracle.install.db.CLUSTER_NODES=

 

###############################################################################

#                                                                             #

#                        Database Configuration Options                       #

#                                                                             #

###############################################################################

 

#-------------------------------------------------------------------------------

# Specify the type of database to create.

# It can be one of the following:

#   - GENERAL_PURPOSE

#   - DATA_WAREHOUSE

# GENERAL_PURPOSE: A starter database designed for general purpose use or transaction-heavy applications.

# DATA_WAREHOUSE : A starter database optimized for data warehousing applications.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.type=

 

#-------------------------------------------------------------------------------

# Specify the Starter Database Global Database Name.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.globalDBName=

 

#-------------------------------------------------------------------------------

# Specify the Starter Database SID.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.SID=

 

#-------------------------------------------------------------------------------

# Specify whether the database should be configured as a Container database.

# The value can be either "true" or "false". If left blank it will be assumed

# to be "false".

#-------------------------------------------------------------------------------

oracle.install.db.ConfigureAsContainerDB=

 

#-------------------------------------------------------------------------------

# Specify the  Pluggable Database name for the pluggable database in Container Database.

#-------------------------------------------------------------------------------

oracle.install.db.config.PDBName=

 

#-------------------------------------------------------------------------------

# Specify the Starter Database character set.

#

#  One of the following

#  AL32UTF8, WE8ISO8859P15, WE8MSWIN1252, EE8ISO8859P2,

#  EE8MSWIN1250, NE8ISO8859P10, NEE8ISO8859P4, BLT8MSWIN1257,

#  BLT8ISO8859P13, CL8ISO8859P5, CL8MSWIN1251, AR8ISO8859P6,

#  AR8MSWIN1256, EL8ISO8859P7, EL8MSWIN1253, IW8ISO8859P8,

#  IW8MSWIN1255, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE,

#  KO16MSWIN949, ZHS16GBK, TH8TISASCII, ZHT32EUC, ZHT16MSWIN950,

#  ZHT16HKSCS, WE8ISO8859P9, TR8MSWIN1254, VN8MSWIN1258

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.characterSet=

 

#------------------------------------------------------------------------------

# This variable should be set to true if Automatic Memory Management

# in Database is desired.

# If Automatic Memory Management is not desired, and memory allocation

# is to be done manually, then set it to false.

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.memoryOption=

#-------------------------------------------------------------------------------

# Specify the total memory allocation for the database. Value(in MB) should be

# at least 256 MB, and should not exceed the total physical memory available

# on the system.

# Example: oracle.install.db.config.starterdb.memoryLimit=512

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.memoryLimit=

 

#-------------------------------------------------------------------------------

# This variable controls whether to load Example Schemas onto

# the starter database or not.

# The value can be either "true" or "false". If left blank it will be assumed

# to be "false".

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.installExampleSchemas=

 

###############################################################################

#                                                                             #

# Passwords can be supplied for the following four schemas in the             #

# starter database:                                                           #

#   SYS                                                                       #

#   SYSTEM                                                                    #

#   DBSNMP (used by Enterprise Manager)                                       #

#                                                                             #

# Same password can be used for all accounts (not recommended)                #

# or different passwords for each account can be provided (recommended)       #

#                                                                             #

###############################################################################

 

#------------------------------------------------------------------------------

# This variable holds the password that is to be used for all schemas in the

# starter database.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.password.ALL=

 

#-------------------------------------------------------------------------------

# Specify the SYS password for the starter database.

#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.password.SYS=

 

#-------------------------------------------------------------------------------

# Specify the SYSTEM password for the starter database.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.password.SYSTEM=

 

#-------------------------------------------------------------------------------

# Specify the DBSNMP password for the starter database.

# Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.password.DBSNMP=

 

#-------------------------------------------------------------------------------

# Specify the PDBADMIN password required for creation of Pluggable Database in the Container Database.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.password.PDBADMIN=

 

#-------------------------------------------------------------------------------

# Specify the management option to use for managing the database.

# Options are:

# 1. CLOUD_CONTROL - If you want to manage your database with Enterprise Manager Cloud Control along with Database Express.

# 2. DEFAULT   -If you want to manage your database using the default Database Express option.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.managementOption=

 

#-------------------------------------------------------------------------------

# Specify the OMS host to connect to Cloud Control.

# Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.omsHost=

 

#-------------------------------------------------------------------------------

# Specify the OMS port to connect to Cloud Control.

# Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------

# Specify the OMS host to connect to Cloud Control.

# Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.omsHost=

 

#-------------------------------------------------------------------------------

# Specify the OMS port to connect to Cloud Control.

# Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.omsPort=

 

#-------------------------------------------------------------------------------

# Specify the EM Admin user name to use to connect to Cloud Control.

# Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.emAdminUser=

 

#-------------------------------------------------------------------------------

# Specify the EM Admin password to use to connect to Cloud Control.

# Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.emAdminPassword=

 

###############################################################################

#                                                                             #

# SPECIFY RECOVERY OPTIONS                                                    #

# ------------------------------------                                        #

# Recovery options for the database can be mentioned using the entries below  #

#                                                                             #

###############################################################################

 

#------------------------------------------------------------------------------

# This variable is to be set to false if database recovery is not required. Else

# this can be set to true.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.enableRecovery=

#-------------------------------------------------------------------------------

# Specify the type of storage to use for the database.

# It can be one of the following:

#   - FILE_SYSTEM_STORAGE

#   - ASM_STORAGE

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.storageType=

 

#-------------------------------------------------------------------------------

# Specify the database file location which is a directory for datafiles, control

# files, redo logs.

#

# Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

 

#-------------------------------------------------------------------------------

# Specify the recovery location.

#

# Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

 

#-------------------------------------------------------------------------------

# Specify the existing ASM disk groups to be used for storage.

#

# Applicable only when oracle.install.db.config.starterdb.storageType=ASM_STORAGE

#-------------------------------------------------------------------------------

oracle.install.db.config.asm.diskGroup=

 

#-------------------------------------------------------------------------------

# Specify the password for ASMSNMP user of the ASM instance.

#

# Applicable only when oracle.install.db.config.starterdb.storage=ASM_STORAGE

#-------------------------------------------------------------------------------

oracle.install.db.config.asm.ASMSNMPPassword=

 

 

Step 9. Run the prerequisite check

[oracle@gg1 ~]$ cd $ORACLE_HOME

[oracle@gg1 dbhome_1]$ ./runInstaller -executePrereqs -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp

Launching Oracle Database Setup Wizard...

 

Prerequisite checks executed successfully.

 

 

Step 10. Begin oracle software installation

[oracle@gg1 dbhome_1]$ ./runInstaller -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp

Launching Oracle Database Setup Wizard...

 

The response file for this session can be found at:

 /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_2020-12-23_10-28-11PM.rsp

 

You can find the log of this install session at:

 /u01/app/oraInventory/logs/InstallActions2020-12-23_10-28-11PM/installActions2020-12-23_10-28-11PM.log

 

 

 

 

As a root user, execute the following script(s):

        1. /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

 

Execute /u01/app/oracle/product/19.0.0/dbhome_1/root.sh on the following nodes:

[gg1]

 

 

Step 11.

Execute root.sh script

Login as root user to execute the following script

 

[root@gg1 19c]# /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

Check /u01/app/oracle/product/19.0.0/dbhome_1/install/root_gg1.soumya.com_2020-12-23_22-40-39-618157216.log for the output of root script

 

So this concludes the process of oracle 19c software installation using command line on Linux.