Oracle Installation on RHEL
As we all now before installing oracle on any Unix flavor OS we need to verify the pre requisites, Oracle has provided some RPM's to verify the pre requisites like Oracle_validated for prior 11gR2 and oracle-rdbms-server-11gR2-preinstall for 11gR2 64 bit version.
We can configure public YUM(oracle public yum) as specified in the URL. but some of the organizations doesn't allow us to use public yum or to use oracle provided packages, then we need to verify the pre requisites manually.
we can see the functionality of oracle provided packages here in this link (Oracle Packages).
If we need to verify the pre requisites manually we can use the below script to pull the required information and verify the requirements manually. copy the below script to a note pad and run it form your shell.
vi verify_pre_req.sh
------------------------------------------------------------------------------------------------------------
#!/bin/bash
echo -e "\nServerName\n" > Pre_check.log
hostname >> Pre_check.log
echo -e "\nMemory Information" >> Pre_check.log
echo -e "\nMinimum RAM required 1GB(Server), \nSwap memory as below table \n1-2GB of RAM: 1.5*RAMsize\n2-16GB of RAM: As RAM Size\n>16GB of RAM: 16GB\n" >> Pre_check.log
echo -e "Available memory" >> Pre_check.log
grep SwapTotal /proc/meminfo >> Pre_check.log
grep MemTotal /proc/meminfo >> Pre_check.log
echo -e "\nKernema and OS information" >> Pre_check.log
echo -e "\nMinimu Kernel version required for 11.2\n2.6.32-71.el6.x86_64 or later\n" >> Pre_check.log
uname -a >> Pre_check.log
echo -e "\nOS Version\n" >> Pre_check.log
cat /etc/redhat-release >> Pre_check.log
echo -e "\nDisk requirements" >> Pre_check.log
echo -e "\ntmp=1GB \nu01=10GB \n" >> Pre_check.log
echo -e "\nAvailable disk space" >> Pre_check.log
df -h >> Pre_check.log
echo -e "\npackage requirements" >> Pre_check.log
echo -e "\nMinimum package and version requirements as per below, if you have a higher version its not an issue" >> Pre_check.log
echo -e "\nbinutils-2.20.51.0.2-5.11.el6 (x86_64) \ncompat-libcap1-1.10-1 (x86_64) \ncompat-libstdc++-33-3.2.3-69.el6 (x86_64) \ncompat-libstdc++-33-3.2.3-69.el6.i686 \ngcc-4.4.4-13.el6 (x86_64) \ngcc-c++-4.4.4-13.el6 (x86_64) \nglibc-2.12-1.7.el6 (i686) \nglibc-2.12-1.7.el6 (x86_64) \nglibc-devel-2.12-1.7.el6 (x86_64) \nglibc-devel-2.12-1.7.el6.i686 \nksh \nlibgcc-4.4.4-13.el6 (i686) \nlibgcc-4.4.4-13.el6 (x86_64) \nlibstdc++-4.4.4-13.el6 (x86_64) \nlibstdc++-4.4.4-13.el6.i686 \nlibstdc++-devel-4.4.4-13.el6 (x86_64) \nlibstdc++-devel-4.4.4-13.el6.i686 \nlibaio-0.3.107-10.el6 (x86_64) \nlibaio-0.3.107-10.el6.i686 \nlibaio-devel-0.3.107-10.el6 (x86_64) \nlibaio-devel-0.3.107-10.el6.i686 \nmake-3.81-19.el6 \nsysstat-9.0.4-11.el6 (x86_64)\n" >> Pre_check.log
echo -e "\nPackages available in the server\n" >> Pre_check.log
rpm -qa unix* >> Pre_check.log
rpm -qa binutils* >> Pre_check.log
rpm -qa compat-libcap* >> Pre_check.log
rpm -qa compat-libstdc* >> Pre_check.log
rpm -qa gcc* >> Pre_check.log
rpm -qa gcc-c* >> Pre_check.log
rpm -qa glibc* >> Pre_check.log
rpm -qa libgcc* >> Pre_check.log
rpm -qa libstdc* >> Pre_check.log
rpm -qa libaio* >> Pre_check.log
rpm -qa make* >> Pre_check.log
rpm -qa sysstat* >> Pre_check.log
rpm -qa ksh* >> Pre_check.log
echo -e "\nuser and Gropus information" >> Pre_check.log
echo -e "\nGroups required dba, oinstall \nUser required oracle assigned to oinstall and dba(oinstall prmary, dba secondary)\n" >> Pre_check.log
echo -e "Avialble user and groups" >> Pre_check.log
grep dba /etc/group >> Pre_check.log
grep oinstall /etc/group >> Pre_check.log
id oracle >> Pre_check.log
echo -e "\nKernel Parameters\n" >> Pre_check.log
cat /etc/sysctl.conf >> Pre_check.log
echo -e "\nShell limits" >> Pre_check.log
echo -e "\nPage_Size limits\n" >> Pre_check.log
getconf PAGE_SIZE >> Pre_check.log
echo -e "\nSHMALL can be calculated \n(RAM_SIZE in KB * 1024 * 0.8)\PAGE_SIZE)\n" >> Pre_check.log
echo -e "\nResource limits \nOpen file descriptors(nofile) \t\t1024 \t65536 \nNumber of proccesses for a user(nproc) \t2047 \t16384 \nSize of stack segment(stack) \t\t10240 \t32768\n" >> Pre_check.log
cat /etc/security/limits.conf >> Pre_check.log
echo -e "\nStack soft limit and Hard limit as follows\n" >> Pre_check.log
ulimit -Ss >> Pre_check.log
ulimit -Hs >> Pre_check.log
As we all now before installing oracle on any Unix flavor OS we need to verify the pre requisites, Oracle has provided some RPM's to verify the pre requisites like Oracle_validated for prior 11gR2 and oracle-rdbms-server-11gR2-preinstall for 11gR2 64 bit version.
We can configure public YUM(oracle public yum) as specified in the URL. but some of the organizations doesn't allow us to use public yum or to use oracle provided packages, then we need to verify the pre requisites manually.
we can see the functionality of oracle provided packages here in this link (Oracle Packages).
If we need to verify the pre requisites manually we can use the below script to pull the required information and verify the requirements manually. copy the below script to a note pad and run it form your shell.
vi verify_pre_req.sh
------------------------------------------------------------------------------------------------------------
#!/bin/bash
echo -e "\nServerName\n" > Pre_check.log
hostname >> Pre_check.log
echo -e "\nMemory Information" >> Pre_check.log
echo -e "\nMinimum RAM required 1GB(Server), \nSwap memory as below table \n1-2GB of RAM: 1.5*RAMsize\n2-16GB of RAM: As RAM Size\n>16GB of RAM: 16GB\n" >> Pre_check.log
echo -e "Available memory" >> Pre_check.log
grep SwapTotal /proc/meminfo >> Pre_check.log
grep MemTotal /proc/meminfo >> Pre_check.log
echo -e "\nKernema and OS information" >> Pre_check.log
echo -e "\nMinimu Kernel version required for 11.2\n2.6.32-71.el6.x86_64 or later\n" >> Pre_check.log
uname -a >> Pre_check.log
echo -e "\nOS Version\n" >> Pre_check.log
cat /etc/redhat-release >> Pre_check.log
echo -e "\nDisk requirements" >> Pre_check.log
echo -e "\ntmp=1GB \nu01=10GB \n" >> Pre_check.log
echo -e "\nAvailable disk space" >> Pre_check.log
df -h >> Pre_check.log
echo -e "\npackage requirements" >> Pre_check.log
echo -e "\nMinimum package and version requirements as per below, if you have a higher version its not an issue" >> Pre_check.log
echo -e "\nbinutils-2.20.51.0.2-5.11.el6 (x86_64) \ncompat-libcap1-1.10-1 (x86_64) \ncompat-libstdc++-33-3.2.3-69.el6 (x86_64) \ncompat-libstdc++-33-3.2.3-69.el6.i686 \ngcc-4.4.4-13.el6 (x86_64) \ngcc-c++-4.4.4-13.el6 (x86_64) \nglibc-2.12-1.7.el6 (i686) \nglibc-2.12-1.7.el6 (x86_64) \nglibc-devel-2.12-1.7.el6 (x86_64) \nglibc-devel-2.12-1.7.el6.i686 \nksh \nlibgcc-4.4.4-13.el6 (i686) \nlibgcc-4.4.4-13.el6 (x86_64) \nlibstdc++-4.4.4-13.el6 (x86_64) \nlibstdc++-4.4.4-13.el6.i686 \nlibstdc++-devel-4.4.4-13.el6 (x86_64) \nlibstdc++-devel-4.4.4-13.el6.i686 \nlibaio-0.3.107-10.el6 (x86_64) \nlibaio-0.3.107-10.el6.i686 \nlibaio-devel-0.3.107-10.el6 (x86_64) \nlibaio-devel-0.3.107-10.el6.i686 \nmake-3.81-19.el6 \nsysstat-9.0.4-11.el6 (x86_64)\n" >> Pre_check.log
echo -e "\nPackages available in the server\n" >> Pre_check.log
rpm -qa unix* >> Pre_check.log
rpm -qa binutils* >> Pre_check.log
rpm -qa compat-libcap* >> Pre_check.log
rpm -qa compat-libstdc* >> Pre_check.log
rpm -qa gcc* >> Pre_check.log
rpm -qa gcc-c* >> Pre_check.log
rpm -qa glibc* >> Pre_check.log
rpm -qa libgcc* >> Pre_check.log
rpm -qa libstdc* >> Pre_check.log
rpm -qa libaio* >> Pre_check.log
rpm -qa make* >> Pre_check.log
rpm -qa sysstat* >> Pre_check.log
rpm -qa ksh* >> Pre_check.log
echo -e "\nuser and Gropus information" >> Pre_check.log
echo -e "\nGroups required dba, oinstall \nUser required oracle assigned to oinstall and dba(oinstall prmary, dba secondary)\n" >> Pre_check.log
echo -e "Avialble user and groups" >> Pre_check.log
grep dba /etc/group >> Pre_check.log
grep oinstall /etc/group >> Pre_check.log
id oracle >> Pre_check.log
echo -e "\nKernel Parameters\n" >> Pre_check.log
cat /etc/sysctl.conf >> Pre_check.log
echo -e "\nShell limits" >> Pre_check.log
echo -e "\nPage_Size limits\n" >> Pre_check.log
getconf PAGE_SIZE >> Pre_check.log
echo -e "\nSHMALL can be calculated \n(RAM_SIZE in KB * 1024 * 0.8)\PAGE_SIZE)\n" >> Pre_check.log
echo -e "\nResource limits \nOpen file descriptors(nofile) \t\t1024 \t65536 \nNumber of proccesses for a user(nproc) \t2047 \t16384 \nSize of stack segment(stack) \t\t10240 \t32768\n" >> Pre_check.log
cat /etc/security/limits.conf >> Pre_check.log
echo -e "\nStack soft limit and Hard limit as follows\n" >> Pre_check.log
ulimit -Ss >> Pre_check.log
ulimit -Hs >> Pre_check.log
------------------------------------------------------------------------------------------------------------
chmod +x verify_pre_req.sh
sh verify_pre_req.sh
cat Pre_check.log
Thanks,
Mohan Gosu.