Oracle Software Pre-installation Checks for Oracle 19c3
As you may have already noticed, the installation of oracle on Linux is more complicated that on windows. It requires a lot of planning and some requirements have to be configured before the installations occurs. For example, you will have to configure the memory, hardware, storage, system and OS requirements.
It is your job to download and read the entire installation documentation for the oracle release you are planning to install. You will gather the pre-install requirements, document them and forward these to the sysadmins who will then configure these changes on the Linux server if it is a brand new server that is built out.
After the sysadmins configure the server and turn it over to you, it is your job to verify that all the prerequisites have been met on the server before you start the installation.
Follow the link to download and review the oracle installation guide for the oracle database 11gR2 version in its entirety and then create a guide documenting the pre-installation steps.
Submit your document to the class page.
oracle database 11gR2 quick installation guide
- Login into the server as root.
sudo su – root
- Check the RAM size.
[root@69-64-69-66 ~]# grep MemTotal /proc/meminfo
MemTotal: 7969912 kBMinimum: 1 GB of RAM
Recommended: 2 GB of RAM or more - Check the size of the swap space.
[root@69-64-69-66 ~]# grep SwapTotal /proc/meminfo
SwapTotal: 8388604 kBAvailable RAM Swap Space Required Between 1 GB and 2 GB 1.5 times the size of the RAM Between 2 GB and 16 GB Equal to the size of the RAM More than 16 GB 16 GB - Check the available RAM and swap space.
[root@69-64-69-66 ~]# free
total used free shared buff/cache available
Mem: 7969912 135732 7490052 57916 344128 7523004
Swap: 8388604 0 8388604Oracle recommends that you take multiple values for the available RAM and swap space before finalizing a value. This is because the available RAM and swap space keep changing depending on the user interactions with the computer.
- Check that the system architecture can run the software.
[root@69-64-69-66 ~]# uname -m
x86_64 - Check the amount of shared memory.
[root@69-64-69-66 ~]# df -h /dev/shm/
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.9G 0 3.9G 0% /dev/shmNote: In Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (
/dev/shm)and file descriptors. The shared memory should be sized to be at least the greater ofMEMORY_MAX_TARGETandMEMORY_TARGETfor each Oracle instance on that computer. - Check that the system architecture can run the oracle software.
[root@69-64-69-66 ~]# uname -m
x86_64Note: This command displays the processor type. Verify that the processor architecture matches the Oracle software release to install. If you do not see the expected output, then you cannot install the software on this system.
- Check the amount of disk space available in the
/tmpdirectory.[root@69-64-69-66 ~]# df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-tmp 20G 45M 19G 1% /tmpAt least 1 GB of disk space in the
/tmpdirectory recommended. - Check the amount of free disk space on the system.
[root@69-64-69-66 ~]# df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-tmp 20G 45M 19G 1% /tmp
[root@69-64-69-66 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-vol3 385G 1.1G 364G 1% /
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 57M 3.8G 2% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 20G 159M 18G 1% /boot
/dev/mapper/VolGroup00-u01 178G 61M 168G 1% /u01
/dev/mapper/VolGroup00-u02 50G 53M 47G 1% /u02
/dev/mapper/VolGroup00-u06 77G 53M 73G 1% /u06
/dev/mapper/VolGroup00-u04 39G 49M 37G 1% /u04
/dev/mapper/VolGroup00-u05 77G 53M 73G 1% /u05
/dev/mapper/VolGroup00-var 29G 222M 28G 1% /var
/dev/mapper/VolGroup00-u03 39G 49M 37G 1% /u03
/dev/mapper/VolGroup00-u07 99G 61M 94G 1% /u07
/dev/mapper/VolGroup00-tmp 20G 45M 19G 1% /tmp
/dev/mapper/VolGroup00-opt 29G 45M 28G 1% /opt
/dev/mapper/VolGroup00-u08 99G 61M 94G 1% /u08
/dev/sdc1 30G 45M 28G 1% /mnt/blockstorage
tmpfs 779M 0 779M 0% /run/user/1005
tmpfs 779M 0 779M 0% /run/user/0The following tables describe the disk space requirements for software files, and data files for each installation type on Linux x86-64:
Installation Type Requirement for Software Files (GB) Enterprise Edition 4.7 Standard Edition 4.6 Installation Type Requirement for Data Files (GB) Enterprise Edition 1.7 Standard Edition 1.5 - Check the distribution and version of Linux installed.
[root@69-64-69-66 ~]# cat /proc/version
Linux version 3.10.0-514.10.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Fri Mar 3 00:04:05 UTC 2017Centos 7 uses thesame source code as Red Hat Linux 7 (RHEL7). Compare the kernel version to that of the RHEL 7 to be sure they match.
On Red Hat Enterprise Linux 7 – 3.10.0-54.0.1.el7.x86_64 or later - Check whether the required kernel is installed.
[root@69-64-69-66 ~]# uname -r
3.10.0-514.10.2.el7.x86_64The output shows the kernel version (3.10.0) and errata level (514.10.2.el7) on the system.
- Check if the required packages are installed.
[root@69-64-69-66 yum]# rpm -q –qf ‘%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n’ binutils.x86_64 compat-libcap1.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64
binutils-2.25.1-22.base.el7(x86_64)
package compat-libcap1.x86_64 is not installed
package compat-libstdc++-33.i686 is not installed
package compat-libstdc++-33.x86_64 is not installed
package gcc.x86_64 is not installed
package gcc-c++.x86_64 is not installed
package glibc.i686 is not installed
glibc-2.17-157.el7_3.1(x86_64)
package glibc-devel.i686 is not installed
package glibc-devel.x86_64 is not installed
ksh-20120801-26.el7(x86_64)
package libaio.i686 is not installed
libaio-0.3.109-13.el7(x86_64)
package libaio-devel.i686 is not installed
package libaio-devel.x86_64 is not installed
package libgcc.i686 is not installed
libgcc-4.8.5-11.el7(x86_64)
package libstdc++.i686 is not installed
libstdc++-4.8.5-11.el7(x86_64)
package libstdc++-devel.i686 is not installed
package libstdc++-devel.x86_64 is not installed
package libXi.i686 is not installed
libXi-1.7.4-2.el7(x86_64)
package libXtst.i686 is not installed
libXtst-1.2.2-2.1.el7(x86_64)
make-3.82-23.el7(x86_64)
sysstat-10.1.5-11.el7(x86_64) - Install all missing packages.
yum install binutils.x86_64
yum install compat-libcap1.x86_64
yum install compat-libstdc++-33.i686
yum install compat-libstdc++-33.x86_64
yum install gcc.x86_64
yum install gcc-c++.x86_64
yum install glibc.i686
yum install glibc.x86_64
yum install glibc-devel.i686
yum install glibc-devel.x86_64
yum install ksh
yum install libaio.i686
yum install libaio.x86_64
yum install libaio-devel.i686
yum install libaio-devel.x86_64
yum install libgcc.i686
yum install libgcc.x86_64
yum install libstdc++.i686
yum install libstdc++.x86_64
yum install libstdc++-devel.i686
yum install libstdc++-devel.x86_64
yum install libXi.i686
yum install libXi.x86_64
yum install libXtst.i686
yum install libXtst.x86_64
yum install make.x86_64
yum install sysstat.x86_64 - Check if the oinstall group exsist
[root@69-64-69-66 ~]# more /etc/oraInst.loc
/etc/oraInst.loc: No such file or directoryIf the output of this command shows the
oinstallgroup name, then the group exists.If theoraInst.locfile exists, then the output from this command is similar to the following:inventory_loc=/u01/app/oraInventory inst_group=oinstall
- Create the create the
oinstallanddbagroups.# /usr/sbin/groupadd oinstall # /usr/sbin/groupadd dba
- Check if the
oracleuser exists and belongs to the correct groups.[root@69-64-69-66 ~]# id oracle
uid=1004(oracle) gid=500(oinstall) groups=500(oinstall),505(dba)If the
oracleuser exists, then this command displays information about the groups to which the user belongs. The output should be similar to the following, indicating thatoinstallis the primary group anddbais a secondary group.
If theoracleuser exists, but its primary group is notoinstallor it is not a member of thedbagroup, then enter the following command:# /usr/sbin/usermod -g oinstall -G dba oracle - Create the oracle account if it does not exist.
# /usr/sbin/useradd -g oinstall -G dba oracle
This command creates the
oracleuser and specifiesoinstallas the primary group anddbaas the secondary group. - Set the passwd for the oracle user
# passwd oracle
- Check the current values of the kernel parameters.
semmsl, semmns, semopm, and semmni
[root@69-64-69-66 ~]# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 32 128
kernel.sem_next_id = -1shmall, shmmax, and shmmni
[root@69-64-69-66 ~]# /sbin/sysctl -a | grep shm
kernel.shm_next_id = -1
kernel.shm_rmid_forced = 0
kernel.shmall = 18446744073692774399
kernel.shmmax = 18446744073692774399
kernel.shmmni = 4096
vm.hugetlb_shm_group = 0file-max
[root@69-64-69-66 ~]# /sbin/sysctl -a | grep file-max
fs.file-max = 787308ip_local_port_range
[root@69-64-69-66 ~]# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 32768 60999rmem_default
[root@69-64-69-66 ~]# /sbin/sysctl -a | grep rmem_default
net.core.rmem_default = 212992rmem_max
[root@69-64-69-66 ~]# /sbin/sysctl -a | grep rmem_max
net.core.rmem_max = 212992wmem_default
[root@69-64-69-66 ~]# /sbin/sysctl -a | grep wmem_default
net.core.wmem_default = 212992wmem_max
[root@69-64-69-66 ~]# /sbin/sysctl -a | grep wmem_max
net.core.wmem_max = 212992Kernel parameters and shell limit values chart:
Parameter Minimum Value File semmslsemmnssemopmsemmni25032000100 128
/proc/sys/kernel/semshmall2097152 /proc/sys/kernel/shmallshmmaxMinimum: 536870912Maximum: A value that is 1 byte less than the physical memoryRecommended: More than half the physical memory See My Oracle Support Note 567506.1 for additional information about configuring
shmmax./proc/sys/kernel/shmmaxshmmni4096 /proc/sys/kernel/shmmnifile–max6815744 /proc/sys/fs/file-maxip_local_port_rangeMinimum: 9000Maximum: 65500 /proc/sys/net/ipv4/ip_local_port_rangermem_default262144 /proc/sys/net/core/rmem_defaultrmem_max4194304 /proc/sys/net/core/rmem_maxwmem_default262144 /proc/sys/net/core/wmem_defaultwmem_max1048576 /proc/sys/net/core/wmem_maxaio-max-nr1048576Note: This value limits concurrent outstanding requests and should be set to avoid I/O subsystem failures. /proc/sys/fs/aio-max-nr - Eedit the
/etc/sysctl.conffile, if any kernel parameter is different from the recommended value.fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
- Make the current values of the kernel parameters available in the active kernel memory.
# /sbin/sysctl -p
Review the output from this command to verify that the values are correct. If the values are incorrect, edit the /etc/sysctl.conf file, then enter this command again.
- Confirm that the values are set correctly.
#/sbin/sysctl -a
- Check Resource Limits for the Oracle User.Check the soft and hard limits for the file descriptor setting.
[oracle@69-64-69-66 ~]$ id
uid=1004(oracle) gid=500(oinstall) groups=500(oinstall),505(dba)
[oracle@69-64-69-66 ~]$ ulimit -Sn
1024
[oracle@69-64-69-66 ~]$ ulimit -Hn
4096
[oracle@69-64-69-66 ~]$Check the soft and hard limits for the number of processes available to a user.
[oracle@69-64-69-66 ~]$ ulimit -Su
4096
[oracle@69-64-69-66 ~]$ ulimit -Hu
31044Check the soft limit for the stack setting
[oracle@69-64-69-66 ~]$ ulimit -Ss
8192
[oracle@69-64-69-66 ~]$ ulimit -Hs
unlimitedResource Shell Limit Resource Soft Limit Hard Limit 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 If necessary, update the resource limits in the
/etc/security/limits.confconfiguration file for the oracle user. - Check the filesystems and space on mounted on the server.
df -k
- Create the oracle directories with the right permissions.The Oracle base directory must have 3 GB of free disk space, or 4 GB of free disk space if you choose not to create a separate Oracle data file directory.
# mkdir -p /u01/app/
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app/
- Configure environment for the oracle user.
Set the default file mode creation mask (umask) to022in the shell startup file.Set theDISPLAYenvironment variable.umask 022