Missing oracle validated RPM for RHEL6?

I have used oracle-validated RPM a lot on Red Hat 5 (RHEL5) and Oracle Enterprice Linix 5 installations. And found it very handy!

With Oracle announcing support for RHEL6/OEL6, world discovered 2 bad things:

  • Oracle does not support ASMLib on RHEL6.
  • Oracle replaced oracle-validated RPM with oracle-rdbms-server-11gR2-preinstall RPM, and new version of the RPM requires kernel-uek to be installed, which is not available on RHEL. In short – oracle-validated/oracle-rdbms-server-11gR2-preinstall is not supported in RHEL6.

You will be surprised but both of those are supported in OEL6. J

Not sure if that 2 facts suppose to make OEL6 more marketable/attractive. Maybe for DBAs. But in 99% of cases DBAs have little to say in choosing OS platform, and you guess what – most SAs still prefer RHEL, and I see why. At least the ones I worked with recently.

I created short bash script what would at least verify RPMs oracle need:

[oracle@mylinux ~]$ cat rhel6_x86_64_validate.sh

#!/bin/bash

array=(
binutils-2.20.51.0.2-5.11.el6.x86_64
compat-libcap1-1.10-1.x86_64
compat-libstdc++-33-3.2.3-69.el6.x86_64
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6.x86_64
gcc-c++-4.4.4-13.el6.x86_64
glibc-2.12-1.7.el6.i686
glibc-2.12-1.7.el6.x86_64
glibc-devel-2.12-1.7.el6.x86_64
glibc-devel-2.12-1.7.el6.i686
ksh.x86_64
libgcc-4.4.4-13.el6.i686
libgcc-4.4.4-13.el6.x86_64
libstdc++-4.4.4-13.el6.x86_64
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6.x86_64
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6.x86_64
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6.x86_64
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6.x86_64
sysstat-9.0.4-11.el6.x86_64
)

len=${#array[*]}
i=0
line='-------------------------------------------------------------------'
while [[ $i -lt $len ]]; do
req_pkg="^${array[$i]%%.*}"
req_arch="${array[$i]##*.}"
req_arch="${req_arch/6/.}"; req_arch="${req_arch/3/.}$"
curr_rpm=`rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" | grep ${req_pkg} | grep ${req_arch}`;
if [ $(expr "${curr_rpm%%.*}" \>= "${req_pkg}") -eq 1 ]; then result1=pass; else result1=failed; fi
printf "%s %s [$result1]\n" ${array[$i]} ${line:${#array[$i]}}
echo $curr_rpm;
let i++;
done

This is for RHEL6 x86_64, but if need it for any other rpm based linux just replace list in “array=()” with list of required RPMs from oracle documentation. should be exactly copy/paste from documentation.

Save this script in any file (rhel6_x86_64_validate.sh in my case). chmod 700. And run without arguments:

[oracle@mylinux ~]$ ./rhel6_x86_64_validate.sh
binutils-2.20.51.0.2-5.11.el6.x86_64 ------------------------------- [pass]
binutils-2.20.51.0.2-5.34.el6.x86_64
compat-libcap1-1.10-1.x86_64 --------------------------------------- [failed]

compat-libstdc++-33-3.2.3-69.el6.x86_64 ---------------------------- [pass]
compat-libstdc++-33-3.2.3-69.el6.x86_64
compat-libstdc++-33-3.2.3-69.el6.i686 ------------------------------ [pass]
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6.x86_64 -------------------------------------------- [pass]
gcc-4.4.6-4.el6.x86_64
gcc-c++-4.4.4-13.el6.x86_64 ---------------------------------------- [pass]
gcc-c++-4.4.6-4.el6.x86_64
glibc-2.12-1.7.el6.i686 -------------------------------------------- [pass]
glibc-2.12-1.80.el6_3.5.i686
glibc-2.12-1.7.el6.x86_64 ------------------------------------------ [pass]
...
[oracle@mylinux ~]$

If package is missing or older version script would spot it out.

This version will also install the RPM for you. (It has to be run as root, and have yum default repo configured).
Remove “.doc” from file name when download script:

rhel6_x86_64_validate_and_install_rpm.sh

 

Also Note from: http://docs.oracle.com/cd/E11882_01/install.112/e24325/toc.htm#BHCGAEJA

Note:
Starting with Oracle Database 11g Release 2 (11.2.0.2), all 32-bit packages, except for gcc-32bit-4.3, listed in this section are no longer required for installing a database on Linux x86-64. Only the 64-bit packages are required. However, for any Oracle Database 11g release before 11.2.0.2, both the 32-bit and 64-bit packages listed in this section are required.
However, when you install the 32-bit client binaries on 64-bit ports, the installer checks for the existence of 32-bit packages.

 

Here is also one nice blog on how to quickly rebuild oracle-rdbms-server-11gR2-preinstall to remove UEK dependency: http://flashdba.com/install-cookbooks/using-oracle-preinstall-rpm-with-red-hat-6/

 
Check us out on http://avmconsulting.net

Enter your email address to follow this blog and receive notifications of new posts by email.

Advertisements
This entry was posted in Linux, Uncategorized and tagged , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s