Friday, December 7, 2012

OEL6 and oracle-rdbms-server-11gR2-preinstall

This used to be called oracle-validated but it got changed to oracle-rdbms-server-11gR2-preinstall as it sounded better perhaps ?

This RPM is very useful as it allows you to bypass all the usual timewasting in getting simple Linux basic system setup done to allow the Oracle RDBS ( whoops RDBMS)  database be installed.

1. Oracle Public YUM Repositories are now free access, as is basic OEL itself.

2. OEL6 comes preconfigured with access to the public repositories ( or you can build your own ! )

3.  This is a little more difficult in OEL5 as you have to configure up the public YUM repos yourself  but they ARE available

Therefore if your machine has HTTP access to the internet you can set it  up REALLY easily.

Let's have a look at this.

Assumptions :

1.  Clean install of OEL6
2.  yum list has been done ( i.e. the repo has correctly populated with the updated list of packages etc. )


Finding the rpm 

[root@oel6cleanzero ~]# yum list|grep oracle

oracle-logos.noarch                       60.0.11-9.el6               @anaconda-                                                    OracleLinuxServer-201206261930.x86_64/6.3
oraclelinux-release.x86_64                6:6Server-3.0.2             @anaconda-                                                    OracleLinuxServer-201206261930.x86_64/6.3
oraclelinux-release-notes.x86_64          6Server-7                   @anaconda-                                                    OracleLinuxServer-201206261930.x86_64/6.3
oracle-rdbms-server-11gR2-preinstall.x86_64
oracleasm-support.x86_64                  2.1.5-1.el6                 ol6_latest
[root@oel6cleanzero ~]# yum list|grep oracle
oracle-logos.noarch                       60.0.11-9.el6               @anaconda-OracleLinuxServer-201206261930.x86_64/6.3
oraclelinux-release.x86_64                6:6Server-3.0.2             @anaconda-OracleLinuxServer-201206261930.x86_64/6.3
oraclelinux-release-notes.x86_64          6Server-7                   @anaconda-OracleLinuxServer-201206261930.x86_64/6.3
oracle-rdbms-server-11gR2-preinstall.x86_64
oracleasm-support.x86_64                  2.1.5-1.el6                 ol6_latest

There it is at the end ! 

Let's install it ....  use the -y flag to answer yes to any prompts 

 yum -y install oracle-rdbms-server-11gR2-preinstall.x86_64

Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el6 will be installed
--> Processing Dependency: gcc-c++ for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: gcc for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: libaio-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: libstdc++-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: glibc-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: compat-libstdc++-33 for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: ksh for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: compat-libcap1 for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Running transaction check
---> Package compat-libcap1.x86_64 0:1.10-1 will be installed
---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 will be installed
---> Package gcc.x86_64 0:4.4.6-4.el6 will be installed
--> Processing Dependency: cpp = 4.4.6-4.el6 for package: gcc-4.4.6-4.el6.x86_64
--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.6-4.el6.x86_64
---> Package gcc-c++.x86_64 0:4.4.6-4.el6 will be installed
--> Processing Dependency: libmpfr.so.1()(64bit) for package: gcc-c++-4.4.6-4.el6.x86_64
---> Package glibc-devel.x86_64 0:2.12-1.80.el6_3.6 will be installed
--> Processing Dependency: glibc-headers = 2.12-1.80.el6_3.6 for package: glibc-devel-2.12-1.80.el6_3.6.x86_64
--> Processing Dependency: glibc = 2.12-1.80.el6_3.6 for package: glibc-devel-2.12-1.80.el6_3.6.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.80.el6_3.6.x86_64
---> Package ksh.x86_64 0:20100621-16.el6 will be installed
---> Package libaio-devel.x86_64 0:0.3.107-10.el6 will be installed
---> Package libstdc++-devel.x86_64 0:4.4.6-4.el6 will be installed
--> Running transaction check
---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
--> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
--> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
---> Package cpp.x86_64 0:4.4.6-4.el6 will be installed
---> Package glibc.x86_64 0:2.12-1.80.el6 will be updated
--> Processing Dependency: glibc = 2.12-1.80.el6 for package: glibc-common-2.12-1.80.el6.x86_64
---> Package glibc.x86_64 0:2.12-1.80.el6_3.6 will be an update
---> Package glibc-headers.x86_64 0:2.12-1.80.el6_3.6 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.80.el6_3.6.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.80.el6_3.6.x86_64
---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
--> Running transaction check
---> Package glibc-common.x86_64 0:2.12-1.80.el6 will be updated
---> Package glibc-common.x86_64 0:2.12-1.80.el6_3.6 will be an update
---> Package kernel-uek-headers.x86_64 0:2.6.32-300.39.1.el6uek will be installed
---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================
 Package                                         Arch              Version                              Repository             Size
====================================================================================================================================
Installing:
 oracle-rdbms-server-11gR2-preinstall            x86_64            1.0-6.el6                            ol6_latest             15 k
Installing for dependencies:
 cloog-ppl                                       x86_64            0.15.7-1.2.el6                       ol6_latest             93 k
 compat-libcap1                                  x86_64            1.10-1                               ol6_latest             17 k
 compat-libstdc++-33                             x86_64            3.2.3-69.el6                         ol6_latest            183 k
 cpp                                             x86_64            4.4.6-4.el6                          ol6_latest            3.7 M
 gcc                                             x86_64            4.4.6-4.el6                          ol6_latest             10 M
 gcc-c++                                         x86_64            4.4.6-4.el6                          ol6_latest            4.7 M
 glibc-devel                                     x86_64            2.12-1.80.el6_3.6                    ol6_latest            970 k
 glibc-headers                                   x86_64            2.12-1.80.el6_3.6                    ol6_latest            600 k
 kernel-uek-headers                              x86_64            2.6.32-300.39.1.el6uek               ol6_latest            716 k
 ksh                                             x86_64            20100621-16.el6                      ol6_latest            684 k
 libaio-devel                                    x86_64            0.3.107-10.el6                       ol6_latest             13 k
 libstdc++-devel                                 x86_64            4.4.6-4.el6                          ol6_latest            1.5 M
 mpfr                                            x86_64            2.4.1-6.el6                          ol6_latest            156 k
 ppl                                             x86_64            0.10.2-11.el6                        ol6_latest            1.3 M
Updating for dependencies:
 glibc                                           x86_64            2.12-1.80.el6_3.6                    ol6_latest            3.8 M
 glibc-common                                    x86_64            2.12-1.80.el6_3.6                    ol6_latest             14 M

Transaction Summary
====================================================================================================================================
Install      15 Package(s)
Upgrade       2 Package(s)

Total download size: 43 M
Downloading Packages:
(1/17): cloog-ppl-0.15.7-1.2.el6.x86_64.rpm                                                                  |  93 kB     00:00
(2/17): compat-libcap1-1.10-1.x86_64.rpm                                                                     |  17 kB     00:00
(3/17): compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm                                                          | 183 kB     00:01
(4/17): cpp-4.4.6-4.el6.x86_64.rpm                                                                           | 3.7 MB     00:08
(5/17): gcc-4.4.6-4.el6.x86_64.rpm                                                                           |  10 MB     00:29
(6/17): gcc-c++-4.4.6-4.el6.x86_64.rpm                                                                       | 4.7 MB     00:10
(7/17): glibc-2.12-1.80.el6_3.6.x86_64.rpm                                                                   | 3.8 MB     00:09
(8/17): glibc-common-2.12-1.80.el6_3.6.x86_64.rpm                                                            |  14 MB     00:51
(9/17): glibc-devel-2.12-1.80.el6_3.6.x86_64.rpm                                                             | 970 kB     00:02
(10/17): glibc-headers-2.12-1.80.el6_3.6.x86_64.rpm                                                          | 600 kB     00:01
(11/17): kernel-uek-headers-2.6.32-300.39.1.el6uek.x86_64.rpm                                                | 716 kB     00:01
(12/17): ksh-20100621-16.el6.x86_64.rpm                                                                      | 684 kB     00:01
(13/17): libaio-devel-0.3.107-10.el6.x86_64.rpm                                                              |  13 kB     00:00
(14/17): libstdc++-devel-4.4.6-4.el6.x86_64.rpm                                                              | 1.5 MB     00:03
(15/17): mpfr-2.4.1-6.el6.x86_64.rpm                                                                         | 156 kB     00:00
(16/17): oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64.rpm                                           |  15 kB     00:00
(17/17): ppl-0.10.2-11.el6.x86_64.rpm                                                                        | 1.3 MB     00:02
------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                               320 kB/s |  43 MB     02:16
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Retrieving key from http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
Importing GPG key 0xEC551F03:
 Userid: "Oracle OSS group (Open Source Software group) "
 From  : http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libstdc++-devel-4.4.6-4.el6.x86_64                                                                              1/19
  Updating   : glibc-2.12-1.80.el6_3.6.x86_64                                                                                  2/19
  Updating   : glibc-common-2.12-1.80.el6_3.6.x86_64                                                                           3/19
  Installing : mpfr-2.4.1-6.el6.x86_64                                                                                         4/19
  Installing : cpp-4.4.6-4.el6.x86_64                                                                                          5/19
  Installing : compat-libcap1-1.10-1.x86_64                                                                                    6/19
  Installing : ksh-20100621-16.el6.x86_64                                                                                      7/19
  Installing : compat-libstdc++-33-3.2.3-69.el6.x86_64                                                                         8/19
  Installing : ppl-0.10.2-11.el6.x86_64                                                                                        9/19
  Installing : cloog-ppl-0.15.7-1.2.el6.x86_64                                                                                10/19
  Installing : kernel-uek-headers-2.6.32-300.39.1.el6uek.x86_64                                                               11/19
  Installing : glibc-headers-2.12-1.80.el6_3.6.x86_64                                                                         12/19
  Installing : glibc-devel-2.12-1.80.el6_3.6.x86_64                                                                           13/19
  Installing : gcc-4.4.6-4.el6.x86_64                                                                                         14/19
  Installing : gcc-c++-4.4.6-4.el6.x86_64                                                                                     15/19
  Installing : libaio-devel-0.3.107-10.el6.x86_64                                                                             16/19
  Installing : oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64                                                          17/19
  Cleanup    : glibc-2.12-1.80.el6.x86_64                                                                                     18/19
  Cleanup    : glibc-common-2.12-1.80.el6.x86_64                                                                              19/19
  Verifying  : compat-libcap1-1.10-1.x86_64                                                                                    1/19
  Verifying  : ksh-20100621-16.el6.x86_64                                                                                      2/19
  Verifying  : glibc-common-2.12-1.80.el6_3.6.x86_64                                                                           3/19
  Verifying  : gcc-4.4.6-4.el6.x86_64                                                                                          4/19
  Verifying  : libaio-devel-0.3.107-10.el6.x86_64                                                                              5/19
  Verifying  : oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64                                                           6/19
  Verifying  : gcc-c++-4.4.6-4.el6.x86_64                                                                                      7/19
  Verifying  : glibc-headers-2.12-1.80.el6_3.6.x86_64                                                                          8/19
  Verifying  : libstdc++-devel-4.4.6-4.el6.x86_64                                                                              9/19
  Verifying  : compat-libstdc++-33-3.2.3-69.el6.x86_64                                                                        10/19
  Verifying  : glibc-2.12-1.80.el6_3.6.x86_64                                                                                 11/19
  Verifying  : mpfr-2.4.1-6.el6.x86_64                                                                                        12/19
  Verifying  : kernel-uek-headers-2.6.32-300.39.1.el6uek.x86_64                                                               13/19
  Verifying  : cpp-4.4.6-4.el6.x86_64                                                                                         14/19
  Verifying  : glibc-devel-2.12-1.80.el6_3.6.x86_64                                                                           15/19
  Verifying  : ppl-0.10.2-11.el6.x86_64                                                                                       16/19
  Verifying  : cloog-ppl-0.15.7-1.2.el6.x86_64                                                                                17/19
  Verifying  : glibc-2.12-1.80.el6.x86_64                                                                                     18/19
  Verifying  : glibc-common-2.12-1.80.el6.x86_64                                                                              19/19

Installed:
  oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el6

Dependency Installed:
  cloog-ppl.x86_64 0:0.15.7-1.2.el6                                     compat-libcap1.x86_64 0:1.10-1
  compat-libstdc++-33.x86_64 0:3.2.3-69.el6                             cpp.x86_64 0:4.4.6-4.el6
  gcc.x86_64 0:4.4.6-4.el6                                              gcc-c++.x86_64 0:4.4.6-4.el6
  glibc-devel.x86_64 0:2.12-1.80.el6_3.6                                glibc-headers.x86_64 0:2.12-1.80.el6_3.6
  kernel-uek-headers.x86_64 0:2.6.32-300.39.1.el6uek                    ksh.x86_64 0:20100621-16.el6
  libaio-devel.x86_64 0:0.3.107-10.el6                                  libstdc++-devel.x86_64 0:4.4.6-4.el6
  mpfr.x86_64 0:2.4.1-6.el6                                             ppl.x86_64 0:0.10.2-11.el6

Dependency Updated:
  glibc.x86_64 0:2.12-1.80.el6_3.6                              glibc-common.x86_64 0:2.12-1.80.el6_3.6


As we can see it has installed all the prerequisites and dependencies needed to install Oracle Database on Enterprise Linux 6. 

But it has done other stuff too ... let's look at that ! 

It logs all its work in 
/var/log/oracle-rdbms-server-11gR2-preinstall
-bash: l: command not found
[root@oel6cleanzero oracle-rdbms-server-11gR2-preinstall]# ls -lrt
total 8
drwxr-xr-x. 3 root root 4096 Dec  5 11:11 backup
drwx------. 2 root root 4096 Dec  5 11:11 results
[root@oel6cleanzero oracle-rdbms-server-11gR2-preinstall]#

Every file it amends is backed up in the backup directory and the what it does is logged in the results directory. 
Lets look in the results directory and we see one file orakernel.log 

Adding group oinstall with gid 54321
Adding group dba
Adding user oracle with user id 54321, initial login group oinstall, supplementary group dba and  home directory /home/oracle
Changing ownership of /home/oracle to oracle:oinstall
Please set password for oracle user
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
Creating oracle user passed

Verifying  kernel parameters as per Oracle recommendations...
fs.file-max             6815744
kernel.sem              250 32000 100 128
kernel.shmmni           4096
kernel.shmall           1073741824
kernel.shmmax           4398046511104
net.core.rmem_default           262144
net.core.rmem_max               4194304
net.core.wmem_default           262144
net.core.wmem_max               1048576
fs.aio-max-nr           1048576
net.ipv4.ip_local_port_range            9000 65500
Setting kernel parameters as per oracle recommendations...
Altered file /etc/sysctl.conf
Original file backed up at /etc/sysctl.conf.orabackup
Verifying & setting of kernel parameters passed

Verifying oracle user OS limits as per Oracle recommendations...
oracle  soft    nofile          1024
oracle  hard    nofile          65536
oracle  soft    nproc           2047
oracle  hard    nproc           16384
oracle  soft    stack           10240
oracle  hard    stack           32768
Setting oracle user OS limits as per Oracle recommendations...
Altered file /etc/security/limits.conf
Original file backed up at /etc/security/limits.conf.orabackup
Verifying & setting of user limits passed

Verifying kernel boot parameters as per Oracle recommendations...
old boot params: kernel /vmlinuz-2.6.39-200.24.1.el6uek.x86_64 ro root=/dev/mapper/vg_oel6cleanzero-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_LVM_LV=vg_oel6cleanzero/lv_root rd_NO_MD rd_LVM_LV=vg_oel6cleanzero/lv_swap SYSFONT=latarcyrheb-sun16  rd_NO_DM rhgb quiet, new boot params: kernel /vmlinuz-2.6.39-200.24.1.el6uek.x86_64 ro root=/dev/mapper/vg_oel6cleanzero-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_LVM_LV=vg_oel6cleanzero/lv_root rd_NO_MD rd_LVM_LV=vg_oel6cleanzero/lv_swap SYSFONT=latarcyrheb-sun16  rd_NO_DM rhgb quiet numa=off

old boot params: kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_oel6cleanzero-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_LVM_LV=vg_oel6cleanzero/lv_root rd_NO_MD rd_LVM_LV=vg_oel6cleanzero/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_DM rhgb quiet, new boot params: kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_oel6cleanzero-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_LVM_LV=vg_oel6cleanzero/lv_root rd_NO_MD rd_LVM_LV=vg_oel6cleanzero/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_DM rhgb quiet numa=off

Setting kernel boot parameters as per Oracle recommendations...
Boot parameters will be effected on next reboot
Altered file /boot/grub/grub.conf
Original file backed up at /boot/grub/grub.conf.orabackup
Verifying & setting of boot parameters passed

Taking a backup of old config files under /var/log/oracle-rdbms-server-11gR2-preinstall/backup/Dec-05-2012-11-11-05


So what has it done : 

  1. Added required prerequisite Oracle RPMs to allow Oracle database install OK 
  2. Added Oracle users and groups ( dba,oinstall etc )  . there is no password set on the Oracle user so no password login can happen 
  3. Sets up kernel sysctl and limits.conf ( always fiddly ) 
  4. Changes the kernel to boot numa off 
  5. also modprobes the kernel for flow control if needed. 
So when we are done we are more or less good to install oracle straight away ! Massive timesaver 

Note this doesn't apply to RAC but you will be doing stringent hardware checks anyway 

Also I don't think this works for RHEL but it's worth a try to mess about with

Hope this helps ( did a little unconference about it at UKOUG 2012 ! ) 






No comments: