A sample Vagrantfile to install ems, oracle, and bpm

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The “2” in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don’t change it unless you know what
# you’re doing.
Vagrant.configure(“2”) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.

# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = “bento/centos-7.2”
config.vm.synced_folder “d:/software/dev_tools/BPM/bpm4.0/TIB_amx-bpm_4.0.0_linux24gl23_x86_64”, “/vagrant/bpm_install”
config.vm.synced_folder “d:/software/dev_tools/BPM/EMS8.2.2”, “/vagrant/ems_install”
config.vm.synced_folder “d:/software/dev_tools/oracle/12c/linux64/database”, “/vagrant/oracle_install”
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing “localhost:8080” will access port 80 on the guest machine.
# config.vm.network “forwarded_port”, guest: 80, host: 8080

# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network “private_network”, ip: “192.168.33.10”

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
config.vm.network “public_network”

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder “../data”, “/vagrant_data”

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
config.vm.provider “virtualbox” do |vb|
vb.memory = “6144”
end

#
# View the documentation for the provider you are using for more
# information on available options.

# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define “atlas” do |push|
# push.app = “YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME”
# end

# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
config.vm.provision “initialize”, type: “shell”, path: “scripts/initialize.sh”

#config.vm.provision “ems_install”, type: “shell”, path: “https://gist.githubusercontent.com/yonglai/caa8e8497a3640e23e93c61def9691ab/raw/f7e1daf08feb2abc98259574fdb1fea4960fb50f/ems_install.sh”
config.vm.provision “ems_install”, type: “shell”, path: “scripts/ems_install.sh”, privileged: false

config.vm.provision “ems_startup”, type: “shell”, path: “scripts/ems_startup.sh”

config.vm.provision “pre_oracle_install”, type: “shell”, path: “scripts/pre_oracle_install.sh”

config.vm.provision “oracle_install”, type: “shell”, path: “scripts/oracle_install.sh”

config.vm.provision “post_oracle_install”, type: “shell”, path: “scripts/post_oracle_install.sh”

config.vm.provision “bpm_install”, type: “shell”, path: “scripts/bpm_install.sh”, privileged: false

config.vm.provision “bpm_pre_config”, type: “shell”, path: “scripts/bpm_pre_config.sh”, privileged: false

config.vm.provision “bpm_config”, type: “shell”, path: “scripts/bpm_config.sh”, privileged: false

config.vm.provision “bpm_startup”, type: “shell”, path: “scripts/bpm_startup.sh”

end


To run:

vagrant up
vagrant provision –-provision-with initialize
vagrant reload
vagrant provision –-provision-with ems_install,ems_startup,pre_oracle_install,oracle_install
(wait for oracle install to complete)
vagrant provision –-provision-with post_oracle_install,bpm_studio_install,bpm_install,bpm_pre_config,bpm_config
vagrant provision –provision-with bpm_startup
vagrant provision –provision-with cleanup
vagrant provision –provision-with prepare_for_packaging

Oracle systemd startup script

from: https://community.oracle.com/thread/2520738

oracle.service

sudo touch /etc/systemd/system/oracle.service

sudo chmod 644 /etc/systemd/system/oracle.service

[Unit]
Description=Oracle database server
After=syslog.target network.target

[Service]
Type=oneshot
User=oracle
Group=oinstall
RemainAfterExit=yes
ExecStart=/bin/oracle.sh
Environment=ORACLE_HOME=/opt/oracle/product/12.1.0/dbhome_1
Environment=ORACLE_BASE=/opt/oracle
Environment=ORACLE_SID=orcl

[Install]
WantedBy=multi-user.target

oracle.sh

sudo touch /bin/oracle.sh

sudo chown :oinstall /bin/oracle.sh

sudo chmod 750 /bin/oracle.sh

#! /bin/bash
#  script used by oracle.service

$ORACLE_HOME/bin/lsnrctl start;
$ORACLE_HOME/bin/dbstart $ORACLE_HOME;

sudo systemctl daemon-reload

sudo systemctl enable oracle.service

[Note: if the database wasn’t started, you need to check the /etc/oratab to see if the third field is set to ‘N’. If so, the database will be ignored by dbstart and you need to manually change it to ‘Y’.]

A sample installation guide generated oracle install response file

####################################################################
## Copyright(c) Oracle Corporation 1998,2014. 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_v12.1.0

#——————————————————————————-
# Specify the installation option.
# It can be one of the following:
# – INSTALL_DB_SWONLY
# – INSTALL_DB_AND_CONFIG
# – UPGRADE_DB
#——————————————————————————-
oracle.install.option=INSTALL_DB_AND_CONFIG

#——————————————————————————-
# Specify the hostname of the system as set during the install. It can be used
# to force the installation to use an alternative hostname rather than using the
# first hostname found on the system. (e.g., for systems with multiple hostnames
# and network interfaces)
#——————————————————————————-
ORACLE_HOSTNAME=localhost

#——————————————————————————-
# 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=/home/oracle/app/oraInventory
#——————————————————————————-
# Specify the languages in which the components will be installed.
#
# en : English ja : Japanese
# fr : French ko : Korean
# ar : Arabic es : Latin American Spanish
# bn : Bengali lv : Latvian
# pt_BR: Brazilian Portuguese lt : Lithuanian
# bg : Bulgarian ms : Malay
# fr_CA: Canadian French es_MX: Mexican Spanish
# ca : Catalan no : Norwegian
# hr : Croatian pl : Polish
# cs : Czech pt : Portuguese
# da : Danish ro : Romanian
# nl : Dutch ru : Russian
# ar_EG: Egyptian zh_CN: Simplified Chinese
# en_GB: English (Great Britain) sk : Slovak
# et : Estonian sl : Slovenian
# fi : Finnish es_ES: Spanish
# de : German sv : Swedish
# el : Greek th : Thai
# iw : Hebrew zh_TW: Traditional Chinese
# hu : Hungarian tr : Turkish
# is : Icelandic uk : Ukrainian
# in : Indonesian vi : Vietnamese
# it : Italian
#
# all_langs : All languages
#
# Specify value as the following to select any of the languages.
# Example : SELECTED_LANGUAGES=en,fr,ja
#
# Specify value as the following to select all the languages.
# Example : SELECTED_LANGUAGES=all_langs
#——————————————————————————-
SELECTED_LANGUAGES=en

#——————————————————————————-
# Specify the complete path of the Oracle Home.
#——————————————————————————-
ORACLE_HOME=/home/oracle/app/oracle/product/12.1.0/dbhome_1

#——————————————————————————-
# Specify the complete path of the Oracle Base.
#——————————————————————————-
ORACLE_BASE=/home/oracle/app/oracle

#——————————————————————————-
# Specify the installation edition of the component.
#
# The value should contain only one of these choices.

# – EE : Enterprise Edition

#——————————————————————————-
oracle.install.db.InstallEdition=EE

###############################################################################
# #
# PRIVILEGED OPERATING SYSTEM GROUPS #
# —————————————— #
# Provide values for the OS groups to which OSDBA and OSOPER 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 DBA_GROUP is the OS group which is to be granted OSDBA privileges.
#——————————————————————————-
oracle.install.db.DBA_GROUP=dba

#——————————————————————————
# The OPER_GROUP is the OS group which is to be granted OSOPER privileges.
# The value to be specified for OSOPER group is optional.
#——————————————————————————
oracle.install.db.OPER_GROUP=dba

#——————————————————————————
# The BACKUPDBA_GROUP is the OS group which is to be granted OSBACKUPDBA privileges.
#——————————————————————————
oracle.install.db.BACKUPDBA_GROUP=dba

#——————————————————————————
# The DGDBA_GROUP is the OS group which is to be granted OSDGDBA privileges.
#——————————————————————————
oracle.install.db.DGDBA_GROUP=dba

#——————————————————————————
# The KMDBA_GROUP is the OS group which is to be granted OSKMDBA privileges.
#——————————————————————————
oracle.install.db.KMDBA_GROUP=dba

###############################################################################
# #
# Grid Options #
# #
###############################################################################
#——————————————————————————
# Specify the type of Real Application Cluster Database
#
# – ADMIN_MANAGED: Admin-Managed
# – POLICY_MANAGED: Policy-Managed
#
# If left unspecified, default will be ADMIN_MANAGED
#——————————————————————————
oracle.install.db.rac.configurationType=

#——————————————————————————
# Value is required only if RAC database type is ADMIN_MANAGED
#
# Specify the cluster node names selected during the installation.
# Leaving it blank will result in install on local server only (Single Instance)
#
# Example : oracle.install.db.CLUSTER_NODES=node1,node2
#——————————————————————————
oracle.install.db.CLUSTER_NODES=

#——————————————————————————
# This variable is used to enable or disable RAC One Node install.
#
# – true : Value of RAC One Node service name is used.
# – false : Value of RAC One Node service name is not used.
#
# If left blank, it will be assumed to be false.
#——————————————————————————
oracle.install.db.isRACOneInstall=false

#——————————————————————————
# Value is required only if oracle.install.db.isRACOneInstall is true.
#
# Specify the name for RAC One Node Service
#——————————————————————————
oracle.install.db.racOneServiceName=

#——————————————————————————
# Value is required only if RAC database type is POLICY_MANAGED
#
# Specify a name for the new Server pool that will be configured
# Example : oracle.install.db.rac.serverpoolName=pool1
#——————————————————————————
oracle.install.db.rac.serverpoolName=

#——————————————————————————
# Value is required only if RAC database type is POLICY_MANAGED
#
# Specify a number as cardinality for the new Server pool that will be configured
# Example : oracle.install.db.rac.serverpoolCardinality=2
#——————————————————————————
oracle.install.db.rac.serverpoolCardinality=0

###############################################################################
# #
# 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=GENERAL_PURPOSE

#——————————————————————————-
# Specify the Starter Database Global Database Name.
#——————————————————————————-
oracle.install.db.config.starterdb.globalDBName=orcl.localdomain

#——————————————————————————-
# Specify the Starter Database SID.
#——————————————————————————-
oracle.install.db.config.starterdb.SID=orcl

#——————————————————————————-
# 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=true

#——————————————————————————-
# Specify the Pluggable Database name for the pluggable database in Container Database.
#——————————————————————————-
oracle.install.db.config.PDBName=pdborcl

#——————————————————————————-
# 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=WE8MSWIN1252

#——————————————————————————
# 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=false

#——————————————————————————-
# 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=2322

#——————————————————————————-
# 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=true

###############################################################################
# #
# 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.
#——————————————————————————-
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=DEFAULT

#——————————————————————————-
# 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=0

#——————————————————————————-
# 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=false

#——————————————————————————-
# 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=FILE_SYSTEM_STORAGE

#——————————————————————————-
# 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=/home/oracle/app/oracle/oradata

#——————————————————————————-
# 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=

#——————————————————————————
# Specify the My Oracle Support Account Username.
#
# Example : MYORACLESUPPORT_USERNAME=abc@oracle.com
#——————————————————————————
MYORACLESUPPORT_USERNAME=

#——————————————————————————
# Specify the My Oracle Support Account Username password.
#
# Example : MYORACLESUPPORT_PASSWORD=password
#——————————————————————————
MYORACLESUPPORT_PASSWORD=

#——————————————————————————
# Specify whether to enable the user to set the password for
# My Oracle Support credentials. The value can be either true or false.
# If left blank it will be assumed to be false.
#
# Example : SECURITY_UPDATES_VIA_MYORACLESUPPORT=true
#——————————————————————————
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

#——————————————————————————
# Specify whether user doesn’t want to configure Security Updates.
# The value for this variable should be true if you don’t want to configure
# Security Updates, false otherwise.
#
# The value can be either true or false. If left blank it will be assumed
# to be false.
#
# Example : DECLINE_SECURITY_UPDATES=false
#——————————————————————————
DECLINE_SECURITY_UPDATES=true

#——————————————————————————
# Specify the Proxy server name. Length should be greater than zero.
#
# Example : PROXY_HOST=proxy.domain.com
#——————————————————————————
PROXY_HOST=

#——————————————————————————
# Specify the proxy port number. Should be Numeric and at least 2 chars.
#
# Example : PROXY_PORT=25
#——————————————————————————
PROXY_PORT=

#——————————————————————————
# Specify the proxy user name. Leave PROXY_USER and PROXY_PWD
# blank if your proxy server requires no authentication.
#
# Example : PROXY_USER=username
#——————————————————————————
PROXY_USER=

#——————————————————————————
# Specify the proxy password. Leave PROXY_USER and PROXY_PWD
# blank if your proxy server requires no authentication.
#
# Example : PROXY_PWD=password
#——————————————————————————
PROXY_PWD=

#——————————————————————————
# Specify the Oracle Support Hub URL.
#
# Example : COLLECTOR_SUPPORTHUB_URL=https://orasupporthub.company.com:8080/
#——————————————————————————
COLLECTOR_SUPPORTHUB_URL=

A sample manually configured oracle db_install response file

####################################################################
## Copyright(c) Oracle Corporation 1998,2014. 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_v12.1.0

#——————————————————————————-
# Specify the installation option.
# It can be one of the following:
# – INSTALL_DB_SWONLY
# – INSTALL_DB_AND_CONFIG
# – UPGRADE_DB
#——————————————————————————-
oracle.install.option=INSTALL_DB_AND_CONFIG

#——————————————————————————-
# Specify the hostname of the system as set during the install. It can be used
# to force the installation to use an alternative hostname rather than using the
# first hostname found on the system. (e.g., for systems with multiple hostnames
# and network interfaces)
#——————————————————————————-
ORACLE_HOSTNAME=localhost

#——————————————————————————-
# 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=/opt/oraInventory
#——————————————————————————-
# Specify the languages in which the components will be installed.
#
# en : English ja : Japanese
# fr : French ko : Korean
# ar : Arabic es : Latin American Spanish
# bn : Bengali lv : Latvian
# pt_BR: Brazilian Portuguese lt : Lithuanian
# bg : Bulgarian ms : Malay
# fr_CA: Canadian French es_MX: Mexican Spanish
# ca : Catalan no : Norwegian
# hr : Croatian pl : Polish
# cs : Czech pt : Portuguese
# da : Danish ro : Romanian
# nl : Dutch ru : Russian
# ar_EG: Egyptian zh_CN: Simplified Chinese
# en_GB: English (Great Britain) sk : Slovak
# et : Estonian sl : Slovenian
# fi : Finnish es_ES: Spanish
# de : German sv : Swedish
# el : Greek th : Thai
# iw : Hebrew zh_TW: Traditional Chinese
# hu : Hungarian tr : Turkish
# is : Icelandic uk : Ukrainian
# in : Indonesian vi : Vietnamese
# it : Italian
#
# all_langs : All languages
#
# Specify value as the following to select any of the languages.
# Example : SELECTED_LANGUAGES=en,fr,ja
#
# Specify value as the following to select all the languages.
# Example : SELECTED_LANGUAGES=all_langs
#——————————————————————————-
SELECTED_LANGUAGES=en

#——————————————————————————-
# Specify the complete path of the Oracle Home.
#——————————————————————————-
ORACLE_HOME=/opt/oracle/product/12.1.0/dbhome_1

#——————————————————————————-
# Specify the complete path of the Oracle Base.
#——————————————————————————-
ORACLE_BASE=/opt/oracle

#——————————————————————————-
# Specify the installation edition of the component.
#
# The value should contain only one of these choices.
# – EE : Enterprise Edition

#——————————————————————————-
oracle.install.db.InstallEdition=EE

###############################################################################
# #
# PRIVILEGED OPERATING SYSTEM GROUPS #
# —————————————— #
# Provide values for the OS groups to which OSDBA and OSOPER 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 DBA_GROUP is the OS group which is to be granted OSDBA privileges.
#——————————————————————————-
oracle.install.db.DBA_GROUP=dba

#——————————————————————————
# The OPER_GROUP is the OS group which is to be granted OSOPER privileges.
# The value to be specified for OSOPER group is optional.
#——————————————————————————
oracle.install.db.OPER_GROUP=dba

#——————————————————————————
# The BACKUPDBA_GROUP is the OS group which is to be granted OSBACKUPDBA privileges.
#——————————————————————————
oracle.install.db.BACKUPDBA_GROUP=dba

#——————————————————————————
# The DGDBA_GROUP is the OS group which is to be granted OSDGDBA privileges.
#——————————————————————————
oracle.install.db.DGDBA_GROUP=dba

#——————————————————————————
# The KMDBA_GROUP is the OS group which is to be granted OSKMDBA privileges.
#——————————————————————————
oracle.install.db.KMDBA_GROUP=dba

###############################################################################
# #
# Grid Options #
# #
###############################################################################
#——————————————————————————
# Specify the type of Real Application Cluster Database
#
# – ADMIN_MANAGED: Admin-Managed
# – POLICY_MANAGED: Policy-Managed
#
# If left unspecified, default will be ADMIN_MANAGED
#——————————————————————————
oracle.install.db.rac.configurationType=

#——————————————————————————
# Value is required only if RAC database type is ADMIN_MANAGED
#
# Specify the cluster node names selected during the installation.
# Leaving it blank will result in install on local server only (Single Instance)
#
# Example : oracle.install.db.CLUSTER_NODES=node1,node2
#——————————————————————————
oracle.install.db.CLUSTER_NODES=

#——————————————————————————
# This variable is used to enable or disable RAC One Node install.
#
# – true : Value of RAC One Node service name is used.
# – false : Value of RAC One Node service name is not used.
#
# If left blank, it will be assumed to be false.
#——————————————————————————
oracle.install.db.isRACOneInstall=false

#——————————————————————————
# Value is required only if oracle.install.db.isRACOneInstall is true.
#
# Specify the name for RAC One Node Service
#——————————————————————————
oracle.install.db.racOneServiceName=

#——————————————————————————
# Value is required only if RAC database type is POLICY_MANAGED
#
# Specify a name for the new Server pool that will be configured
# Example : oracle.install.db.rac.serverpoolName=pool1
#——————————————————————————
oracle.install.db.rac.serverpoolName=

#——————————————————————————
# Value is required only if RAC database type is POLICY_MANAGED
#
# Specify a number as cardinality for the new Server pool that will be configured
# Example : oracle.install.db.rac.serverpoolCardinality=2
#——————————————————————————
oracle.install.db.rac.serverpoolCardinality=0

###############################################################################
# #
# 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=GENERAL_PURPOSE

#——————————————————————————-
# Specify the Starter Database Global Database Name.
#——————————————————————————-
oracle.install.db.config.starterdb.globalDBName=orcl.localdomain

#——————————————————————————-
# Specify the Starter Database SID.
#——————————————————————————-
oracle.install.db.config.starterdb.SID=orcl

#——————————————————————————-
# 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=false

#——————————————————————————-
# 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=AL32UTF8

#——————————————————————————
# 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=false

#——————————————————————————-
# 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=2322

#——————————————————————————-
# 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=false

###############################################################################
# #
# 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=Oracle123

#——————————————————————————-
# Specify the SYSTEM password for the starter database.
#——————————————————————————-
oracle.install.db.config.starterdb.password.SYSTEM=Oracle123

#——————————————————————————-
# Specify the DBSNMP password for the starter database.
#——————————————————————————-
oracle.install.db.config.starterdb.password.DBSNMP=Oracle123

#——————————————————————————-
# Specify the PDBADMIN password required for creation of Pluggable Database in the Container Database.
#——————————————————————————-
oracle.install.db.config.starterdb.password.PDBADMIN=Oracle123

#——————————————————————————-
# 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=DEFAULT

#——————————————————————————-
# 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=false

#——————————————————————————-
# 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=FILE_SYSTEM_STORAGE

#——————————————————————————-
# 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=/opt/oracle/oradata/ORCL/datafile/

#——————————————————————————-
# Specify the recovery location.
#
# Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE
#——————————————————————————-
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/opt/oracle/fast_recovery_area/ORCL/

#——————————————————————————-
# 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=

#——————————————————————————
# Specify the My Oracle Support Account Username.
#
# Example : MYORACLESUPPORT_USERNAME=abc@oracle.com
#——————————————————————————
MYORACLESUPPORT_USERNAME=oracle@bmo.com

#——————————————————————————
# Specify the My Oracle Support Account Username password.
#
# Example : MYORACLESUPPORT_PASSWORD=password
#——————————————————————————
MYORACLESUPPORT_PASSWORD=oracle

#——————————————————————————
# Specify whether to enable the user to set the password for
# My Oracle Support credentials. The value can be either true or false.
# If left blank it will be assumed to be false.
#
# Example : SECURITY_UPDATES_VIA_MYORACLESUPPORT=true
#——————————————————————————
SECURITY_UPDATES_VIA_MYORACLESUPPORT=

#——————————————————————————
# Specify whether user doesn’t want to configure Security Updates.
# The value for this variable should be true if you don’t want to configure
# Security Updates, false otherwise.
#
# The value can be either true or false. If left blank it will be assumed
# to be false.
#
# Example : DECLINE_SECURITY_UPDATES=false
#——————————————————————————
DECLINE_SECURITY_UPDATES=true

#——————————————————————————
# Specify the Proxy server name. Length should be greater than zero.
#
# Example : PROXY_HOST=proxy.domain.com
#——————————————————————————
PROXY_HOST=

#——————————————————————————
# Specify the proxy port number. Should be Numeric and at least 2 chars.
#
# Example : PROXY_PORT=25
#——————————————————————————
PROXY_PORT=

#——————————————————————————
# Specify the proxy user name. Leave PROXY_USER and PROXY_PWD
# blank if your proxy server requires no authentication.
#
# Example : PROXY_USER=username
#——————————————————————————
PROXY_USER=

#——————————————————————————
# Specify the proxy password. Leave PROXY_USER and PROXY_PWD
# blank if your proxy server requires no authentication.
#
# Example : PROXY_PWD=password
#——————————————————————————
PROXY_PWD=

#——————————————————————————
# Specify the Oracle Support Hub URL.
#
# Example : COLLECTOR_SUPPORTHUB_URL=https://orasupporthub.company.com:8080/
#——————————————————————————
COLLECTOR_SUPPORTHUB_URL=

Silent install Oracle 12c release 1

1. groupadd -g 54321 oinstall
2. groupadd -g 54322 dba
3. useradd oracle -u 54321 -g oinstall -G dba
4. echo oracle:oracle | sudo chpasswd
(optional) make oracle sudoer: sudo usermod -aG wheel oracle
5. make sure the following are set up correctly for oracle user by modifying /etc/security/limits.conf
Open file descriptors
nofile
at least 1024
at least 65536
Number of processes available to a single user
nproc
at least 2047
at least 16384
Size of the stack segment of the process
stack
at least 10240 KB
at least 10240 KB, and at most 32768 KB

To see the hard and soft values of open file descriptors:
ulimit -Hn
ulimit -Sn

To see the hard and soft values of processes available:
ulimit -Hu
ulimit -Su

To see the hard and soft values of stack segment
ulimit -Hs
ulimit -Ss
6. make a copy of database install response file: database/response/db_install.rsp
7. edit the response file db_install.rsp by following the instructions in the file and change its permission to 700
chmod 700 database/response/db_install.rsp
8. if use /opt as the parent folder of oracle home, make sure to set the group of the folder to dba and add group write privilege
sudo chown :dba /opt
sudo chmod g+w /opt

8. need to run runfixup.sh as root

9. you may need to increase the swap size
(reference: https://unix.stackexchange.com/questions/294600/i-cant-enable-swap-space-on-centos-7)
sudo dd if=/dev/zero of=/swapfile count=4096 bs=1MiB (add 4G swap)
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

10. install missming packages
sudo yum install -y compat-libcap1.x86_64 libstdc++-devel.x86_64 gcc-c++.x86_64 ksh.x86_64 libaio-devel.x86_64 sysstat.x86_64

11. update kernel parameters
a) edit /etc/sysctl.conf to add or edit the following lines:
# Recommended value for kernel.sem
kernel.sem = 250 32000 100 128
# Recommended value for kernel.shmmax
kernel.shmmax = 3044612096
# Recommended value for kernel.shmmni
kernel.shmmni = 4096
# Recommended value for kernel.shmall
kernel.shmall = 594650
# Recommended value for fs.file-max
fs.file-max = 6815744
# Recommended value for net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 9000 65535
# Recommended value for net.core.rmem_default
net.core.rmem_default = 262144
# Recommended value for net.core.rmem_max
net.core.rmem_max = 4194304
# Recommended value for net.core.wmem_default
net.core.wmem_default = 262144
# Recommended value for net.core.wmem_max
net.core.wmem_max = 1048576
# Recommended value for fs.aio-max-nr
fs.aio-max-nr = 1048576

b) sudo sysctl -p

12. run: ./runInstaller -silent -responseFile [response file full path]

13. after installation completes, following the instructions to run generated scripts. You need to create a password response file to run configToolAllCommands script.
touch ~/cfgrsp.properties
chmod 600 ~/cfgrsp.properties
Add the following to cfgrsp.properties file:
oracle.assistants.server|S_SYSPASSWORD=password
oracle.assistants.server|S_SYSTEMPASSWORD=password
oracle.assistants.server|S_DBSNMPPASSWORD=password
oracle.assistants.server|S_PDBADMINPASSWORD=password
oracle.assistants.server|S_EMADMINPASSWORD=password
oracle.assistants.server|S_ASMSNMPPASSWORD=password

14. add the following line to ~/.bashrc
ORACLE_HOME=/opt/oracle/product/12.1.0/dbhome_1
ORACLE_SID=orcl
export ORACLE_HOME ORACLE_SID
export PATH=$PATH:$ORACLE_HOME/bin

15. config Oracle to start orcl when system starts using systemd