First, we will setup repository database. So let’s begin with 12.1 database installation (software only). This installation is software only later we will create repository database emrep using template

Download and unzip the software

[root@oel6-rac01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
                      144G  4.3G  132G   4% /
tmpfs                 872M  224K  872M   1% /dev/shm
/dev/sda1             477M  226M  222M  51% /boot
                       50G   53M   47G   1% /home
/dev/sr0               57M   57M     0 100% /media/VBox_GAs_6.1.6
Software              932G   82G  850G   9% /shared_dir
[root@oel6-rac01 ~]# cd /shared_dir
[root@oel6-rac01 shared_dir]# ls
12c_db_grid  12c_OEM  OEL6  sqldeveloper
[root@oel6-rac01 shared_dir]# cd 12c_db_grid
[root@oel6-rac01 12c_db_grid]# ls
db  grid
[root@oel6-rac01 12c_db_grid]# cd db
[root@oel6-rac01 db]# ls
[root@oel6-rac01 db]# cd database/
[root@oel6-rac01 database]# ls
install  response  rpm  runInstaller  sshsetup  stage  welcome.html
[root@oel6-rac01 database]#

Update /etc/hosts file

[root@oel6-rac01 database]# cat /etc/hosts   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 oel6-rac01.localdomain oel6-rac01

Perform an automatic setup of rpm

[root@oel6-rac01 database]#  yum install oracle-rdbms-server-12cR1-preinstall -y
Loaded plugins: refresh-packagekit, security, ulninfo
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package oracle-rdbms-server-12cR1-preinstall.x86_64 0:1.0-17.el6 
  oracle-rdbms-server-12cR1-preinstall.x86_64 0:1.0-17.el6

Dependency Installed:
  compat-libcap1.x86_64 0:1.10-1            compat-libstdc++-33.x86_64 0:3.2.3-69.el6 gcc-c++.x86_64 0:4.4.7-23.0.1.el6 ksh.x86_64 0:20120801-38.el6_10 libaio-devel.x86_64 0:0.3.107-10.el6
  libstdc++-devel.x86_64 0:4.4.7-23.0.1.el6


Set the password for the “oracle” user.

[root@oel6-rac01 database]# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

Change 90-nproc.conf file to below

[root@oel6-rac01 database]# cp /etc/security/limits.d/90-nproc.conf /etc/security/limits.d/90-nproc.conf.old
[root@oel6-rac01 database]# vi /etc/security/limits.d/90-nproc.conf
[root@oel6-rac01 database]# cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

* - nproc 16384
root       soft    nproc     unlimited

change SELINUX to permissive

[root@oel6-rac01 database]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.

Once it is done run this command

[root@oel6-rac01 database]# setenforce Permissive

If you have the Linux firewall enabled, you will need to disable or configure it,

[root@oel6-rac01 database]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@oel6-rac01 database]# chkconfig iptables off
[root@oel6-rac01 database]#

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

[root@oel6-rac01 database]# mkdir -p /u01/app/oracle/product/
[root@oel6-rac01 database]# chown -R oracle:oinstall /u01
[root@oel6-rac01 database]# chmod -R 775 /u01
[root@oel6-rac01 database]#

Update your bash profile

[root@oel6-rac01 database]# vi /home/oracle/.bash_profile

# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=oel6-rac01.localdomain
export ORACLE_UNQNAME=emrep
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/
export ORACLE_SID=emrep

export PATH=/usr/sbin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

[root@oel6-rac01 database]# su - oracle
[oracle@oel6-rac01 ~]$ env|grep ORA

In order to do a GUI based installation make settings as mentioned in this doc

Now go to the software location and run runinstaller

[oracle@oel6-rac01 ~]$ cd /shared_dir/
[oracle@oel6-rac01 shared_dir]$ ls
12c_db_grid  12c_OEM  OEL6  sqldeveloper
[oracle@oel6-rac01 shared_dir]$ cd 12c_db_grid/
[oracle@oel6-rac01 12c_db_grid]$ ;s
-bash: syntax error near unexpected token `;'
[oracle@oel6-rac01 12c_db_grid]$ ls
db  grid
[oracle@oel6-rac01 12c_db_grid]$ cd db/
[oracle@oel6-rac01 db]$ ls
[oracle@oel6-rac01 db]$ cd database/
[oracle@oel6-rac01 database]$ ls
install  response  rpm  runInstaller  sshsetup  stage  welcome.html
[oracle@oel6-rac01 database]$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 134757 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 4031 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-05-06_06-09-18PM. Please wait ...[oracle@oel6-rac01 database]$

Click yes

For this installation you will need for the repository database. Do a software-only installation, as we will be using the template to create the repository database.

[root@oel6-rac01 ~]# /u01/app/oraInventory/
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@oel6-rac01 ~]# /u01/app/oracle/product/
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   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.

Repository Database Creation Using Template

download and unzip the template

[oracle@oel6-rac01 12c_OEM]$ pwd
[oracle@oel6-rac01 12c_OEM]$ ls -l
total 7155780
-rwxrwxrwx. 1 root root  552714982 May  3 00:22
-rwxrwxrwx. 1 root root 1315250699 May  3 01:03
-rwxrwxrwx. 1 root root 2145473190 May  3 09:00
-rwxrwxrwx. 1 root root 2141357330 May  3 09:11
-rwxrwxrwx. 1 root root  331590923 May  3 06:13
-rwxrwxrwx. 1 root root  841114290 May  3 00:50 em13100_linux64.bin[oracle@oel6-rac01 templates]$ cd $ORACLE_HOME/assistants/dbca/templates
[oracle@oel6-rac01 templates]$ unzip /shared_dir/12c_OEM/
Archive:  /shared_dir/12c_OEM/
  inflating: set_repo_param_12.
  inflating: set_repo_param_12.
  inflating: set_repo_param_12.
  inflating: shpool_12.
[oracle@oel6-rac01 templates]$

Start the Database Configuration Assistant (DBCA) and create a new database using the template.

[oracle@oel6-rac01 templates]$ dbca

Select the template for the appropriate size of EM installation you need. In this case I’ve used the small option. Click the “Next” button.

Make sure both the “Configure Enterprise Manager (EM) Database Express” and “Register with Enterprise Manager (EM) Cloud Control” options are unchecked, then click the “Next” button.

Accepting the defaults

Cloud Control 13c Installation

make required instalaltion directories

[oracle@oel6-rac01 ~]$ mkdir -p /u01/app/oracle/middleware
[oracle@oel6-rac01 ~]$ mkdir -p /u01/app/oracle/agent

go to software location. don’t unzip the files just start the installation by running the “em13100_linux64.bin” file.

[oracle@oel6-rac01 12c_OEM]$ chmod u+x em13100_linux64.bin
[oracle@oel6-rac01 12c_OEM]$ ./em13100_linux64.bin
Launcher log file is /tmp/OraInstall2020-05-06_08-01-42PM/launcher2020-05-06_08-01-42PM.log.
Starting Oracle Universal Installer

Checking if CPU speed is above 300 MHz.   Actual 1500.251 MHz    Passed
Checking monitor: must be configured to display at least 256 colors.   Actual 16777216    Passed
Checking swap space: must be greater than 512 MB.   Actual 4031 MB    Passed
Checking if this platform requires a 64-bit JVM.   Actual 64    Passed (64-bit not required)
Checking temp space: must be greater than 300 MB.   Actual 116360 MB    Passed

Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2020-05-06_08-01-42PM
====Prereq Config Location main===
EMGCInstaller args -scratchPath
EMGCInstaller args /tmp/OraInstall2020-05-06_08-01-42PM
EMGCInstaller args -sourceType
EMGCInstaller args network
EMGCInstaller args -timestamp
EMGCInstaller args 2020-05-06_08-01-42PM
EMGCInstaller args -paramFile
EMGCInstaller args /tmp/sfx_GyKWh0/Disk1/install/linux64/oraparam.ini
EMGCInstaller args -nocleanUpOnExit
DiskLoc inside SourceLoc/shared_dir/12c_OEM
ScratchPathValue :/tmp/OraInstall2020-05-06_08-01-42PM

Click yes

Check failed for OS version message. we need to address this

You can fix this by editing the “/etc/oracle-release” and “/etc/redhat-release” files setting the version number to 6.7. Remember to switch it back once the installation is complete

[root@oel6-rac01 ~]# cp /etc/oracle-release /etc/oracle-release.orig
[root@oel6-rac01 ~]# vi /etc/oracle-release
[root@oel6-rac01 ~]# cp /etc/redhat-release /etc/redhat-release.orig
[root@oel6-rac01 ~]# vi /etc/redhat-release
[root@oel6-rac01 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.7 (Santiago)
[root@oel6-rac01 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.7

After above changes click on cancel and start again else installer will not recognize the changed setting

For rpm it is saying that

Checking for glibc-devel-2.12-1.7-i686; Not found.	Failed <<<<

But I have it installed. When I try to install glibc-devel-2.12-1.7-i686 it says not available (anyways it is 32 bit and I am doing installation on 64 bit os). So we will continue.

[root@oel6-rac01 ~]# rpm -qa|grep glibc-devel

[root@oel6-rac01 ~]# yum install glibc-devel-2.12-1.7-i686
Loaded plugins: refresh-packagekit, security, ulninfo
Setting up Install Process
No package glibc-devel-2.12-1.7-i686 available.
Error: Nothing to do

Other than that memory throwing warning as I have less memory so I am ignoring it

xpected result: 10240MB
Actual Result: 8192MB
Check complete. The overall result of this check is: Failed <<<<

For kernel parameter error

Checking for ip_local_port_range=11000 - 65000; ip_local_port_range=9000 - 65500.	Failed <<<<

I have changed below in /etc/sysctl.conf file

# oracle-rdbms-server-12cR1-preinstall setting for net.ipv4.ip_local_port_range is 9000 65500
#net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.ip_local_port_range = 11000 65000

run this to verify the value

[root@oel6-rac01 ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 4294967296
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 = 11000 65000

Enter the command /sbin/sysctl -a to confirm that the values are set correctly.

[root@oel6-rac01 ~]# /sbin/sysctl -a

Now rerun the check it should pass for kernel parameter

Click on ignore and proceed

[root@oel6-rac01 ~]# /u01/app/oracle/middleware/

Starting to execute .........

Starting to execute /u01/app/oracle/middleware/ ......
/etc exist

Creating /etc/oragchomelist file...
Finished product-specific root actions.
/etc exist
Finished execution of  /u01/app/oracle/middleware/ ......

Starting to execute /u01/app/oracle/agent/agent_13. ......
Finished product-specific root actions.
/etc exist
Finished execution of  /u01/app/oracle/agent/agent_13. ......

Once all set open the url