Defining a "default RPMs" installation of the RHEL OS [ID 376183.1] | |||||
Modified 10-OCT-2011 Type HOWTO Status PUBLISHED |
In this Document
Applies to:
Oracle Server - Enterprise Edition - Version: 9.2.0.4 to 11.2.0.2 - Release: 9.2 to 11.2
Linux x86
IBM: Linux on System z
Red Hat Advanced Server
Red Hat Enterprise Linux Advanced Server x86-64 (AMD Opteron Architecture)
Red Hat Enterprise Linux Advanced Server Itanium
Linux x86-64
Red Hat Enterprise Linux Workstation
Linux Itanium
Goal
This document will explain the RDBMS installation symptoms that might be observed when Linux OS RPMs that are expected to be present from the initial OS installation are in-fact absent.
After defining a "default RPMs" installation of the RHEL OS, the document begins with several example RDBMS installation symptoms that have been observed, each of which indicate that a "default installation" of RHEL is missing. This document then continues with a strategy to verify the exact RPM groupings and the individual RPMs that were selected at OS install time. Finally, the document concludes with example RPM command outputs for a "default RPMs" installation.
Although the details that are used to explain the concept of a "default-RPMs" installation of RHEL AS/ES in this document are from a 64-bit RHEL 4 U1 installation, the principles of this note apply to all certified Linux distributions. The equivalent NOTE for the SLES OS is:
NOTE 386391.1 "Defining a "default RPMs" installation of the SLES OS"
The equivalent NOTE for the Oracle Enterprise Linux (OEL) is:
NOTE 401167.1 "Defining a "default RPMs" installation of the OEL OS"
Solution
Definition: a "default RPMs" installation of the RHEL OS
=============================================
During the CD-ROM installation process of the RHEL Operating System, a "Package Installation" screen is encountered about 3/4 of the way through the installation setup interaction process. The pre-selected answer on this RHEL installation screen is "Install default software packages" or 'default RPMs'.
(This screen in RHEL Server 5.0 and beyond is slightly different in appearance, but exactly analogous. To view that RHEL Server 5 screen, click here.)
There is also a "Customize software" selection, that allows the addition of RPM groupings such as "Development Libraries" or "Legacy Library Support". The ADDITION of such RPM groupings is NOT an issue.
However, de-selecting any "default RPM" groupings or individual RPMs can result in failed RDBMS installation attempts. Oracle recommends that you install the Linux operating system with the default software packages (RPMs). Do not customize the RPMs during installation. This installation includes most required packages, and helps to limit manual checks of package dependencies. If you choose to customize the RPMs during installation, see the following alternatives:
-- Oracle Database Installation Guide
11g Release x (11.x) for Linux
Chapter 1, "Overview of Oracle Database Installation"
section 1.2.2, "Completing a Default Linux Installation" (applicable to 9iR2, 10gR1, 10gR2, and 11gR1 software)
section 1.3.2, "Completing a Default Linux Installation" (applicable to 11gR2 software)
-- ORACLE Validated Configurations (http://www.oracle.com/technology/tech/linux/validated-configurations/index.html)
-- NOTE 728346.1, "Linux OS Installation with Reduced Set of Packages for Running Oracle Database Server"
Examples (observed indicators that a "default installation" of RHEL is missing )
============================================================
Example #1
===========
When installing a required RPM, such as glibc-devel-2.3.4-2.9.i386.rpm, you may encounter "Failed dependencies", such as the following:
rpm -ivh glibc-devel-2.3.4-2.9.i386.rpm
warning: glibc-devel-2.3.4-2.9.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e error: Failed dependencies: libICE.so.6 is needed by glibc-devel-2.3.4-2.9.i386 libSM.so.6 is needed by glibc-devel-2.3.4-2.9.i386 libX11.so.6 is needed by glibc-devel-2.3.4-2.9.i386 libXext.so.6 is needed by glibc-devel-2.3.4-2.9.i386 libXi.so.6 is needed by glibc-devel-2.3.4-2.9.i386 libXpm.so.4 is needed by glibc-devel-2.3.4-2.9.i386 libasound.so.2 is needed by glibc-devel-2.3.4-2.9.i386 libaudiofile.so.0 is needed by glibc-devel-2.3.4-2.9.i386 libdb.so.2 is needed by glibc-devel-2.3.4-2.9.i386 libdb.so.2(GLIBC_2.0) is needed by glibc-devel-2.3.4-2.9.i386 libesd.so.0 is needed by glibc-devel-2.3.4-2.9.i386 libgdk-1.2.so.0 is needed by glibc-devel-2.3.4-2.9.i386 libgdk_imlib.so.1 is needed by glibc-devel-2.3.4-2.9.i386 libglib-1.2.so.0 is needed by glibc-devel-2.3.4-2.9.i386 libgmodule-1.2.so.0 is needed by glibc-devel-2.3.4-2.9.i386 libgtk-1.2.so.0 is needed by glibc-devel-2.3.4-2.9.i386 libjpeg.so.62 is needed by glibc-devel-2.3.4-2.9.i386 libpng.so.2 is needed by glibc-devel-2.3.4-2.9.i386 libz.so.1 is needed by glibc-devel-2.3.4-2.9.i386
Although this is a contrived, specific example, "Failed dependencies" of this sort MUST be resolved. Do not use a "--nodeps" parameter. The easiest way to avoid "Failed dependencies" errors of this type is to ensure that the initial build of the Linux system includes at least the "default" RPM packages of the distribution.
Additions beyond the "default" RPMs can be made at your discretion. Subtractions from the "default" RPM packages of the distribution may result in "Failed dependencies" such as these that must be resolved.
Example #2:
============
The "runInstaller" (or OUI) RDBMS installation program may suddenly end, without any indicative logging or error messages. This specific response was observed from the RDBMS version 9.2.0.7 runInstaller, immediately after successfully completing a 9iR2 base install with the 9.2.0.4 runInstaller.
Example #3:
===========
During the process of installing an RPM listed in a Oracle Installation Pre-Requisites My Oracle Support (MOS) note (compat-db-4.0.14-5.1.i386.rpm) an error occurs that file libtcl8.3.so is missing.
Example #4:
===========
Relink oracle is giving error:
ld: crtbegin.o: No such file: No such file or directory
make: *** [/iisl/oracle/app/oracle/product/10.2.0/ora10gdb/rdbms/lib/oracle] Error 1
Example #5:
=============
The install process of 64-bit 10.2.0.1 on RHEL 4 x86_64 gives an error stating that the file "libXp.so.6" is missing. And indeed, both the expected /usr/X11R6/lib64/libXp.so.6 and the expected /usr/X11R6/lib/libXp.so.6 files are missing. The RPM that provides this file in the 32-bit architecture (xorg-x11-depreciated-libs-6.8.2-1.EL.13.6.i386.rpm) is absent. The RPM that provides this file in the 64-bit architecture (xorg-x11-depreciated-libs-6.8.2-1.EL.13.6.x86_64.rpm) is also absent. Since both of these RPMs are normally installed during a "default-RPMs" installation, this proves that a that a "default installation" of RHEL is missing.
Example #6:
=============
The install process of 64-bit 10.2.0.1 on RHEL 4 x86_64 gives an error stating that the file "libXp.so.6" is missing. But, it is there, located at /usr/X11R6/lib64/libXp.so.6. The problem in this case is that the 32-bit architecture file is also required in /usr/X11R6/lib/libXp.so.6, and is missing. Although the RPM that provides this file in the 64-bit architecture (xorg-x11-depreciated-libs-6.8.2-1.EL.13.6.x86_64.rpm) is present, the RPM that provides this file in the 32-bit architecture (xorg-x11-depreciated-libs-6.8.2-1.EL.13.6.i386.rpm) is absent. Since both of these RPMs are normally installed during a "default-RPMs" installation, this proves that a "default installation" of RHEL is missing.
Example #7:
=============
A 10gR2 install on zLinux (aka s390x) fails when installing on RHEL4u3. The included JVM is failing with some unresolved objects. The 31-bit version of the xorg-x11-deprecated-libs-6.8.2-1.EL.13.25 RPM was found to be missing. Since both the 64-bit and the 31-bit ARCH are installed by "default-RPMs", this proves that a "default installation" of RHEL is missing.
Example #8:
==============
While installing 10.2.0.1 x86-64 on a RHEL 4.0 Linux x86-64 server, the following errors occur during the relink phase:
INFO: /usr/bin/ld: cannot find -lgcc_s_32
INFO: collect2: ld returned 1 exit status
The following packages were found to be missing:
libgcc-3.4.3-22.1.i386.rpm
compat-libstdc++-33-3.2.3-47.fc4.i386.rpm
Since both of these RPMs are normally installed during a "default-RPMs" installation, this proves that a "default installation" of RHEL is missing.
Note 340622.1, "Oracle10gR2 10.2.0.1 (Linux X86-64) Will Not Install On RHEL 4.0 x86-64"
Example #9:
==============
An experienced DBA was contacted by the users at his new job. They had a familiar database instance problem. From his previous employments, he knew just what query to run for the users to give them the information that they needed to correct the problem. However, when the experienced DBA ran the query, it crashed the DB instance.
It was determined that the organization that had previously been hired to install Linux on these RAC nodes had NOT performed a "default-RPMs". Once the exact same Oracle RDBMS installation and the exact same DB instance was placed upon onto a "default-RPMs" Linux installation, the exact same query performed as expected.
Example #10:
==============
A 10.2.0.1 RDBMS install, and even a 10.2.0.3 patchset upgrade had been completed successfully. When a subsequent Oracle CPU patchset was attempted, a known and documented re-linking error occurred. However, when the known, documented solution was attempted, it did not correct the re-linking error. Oracle Support was able to determine that the known, documented solution did not work for this customer because a usual, foundational, Linux library was missing - a library that would have been present if a "default-RPMs" installation had been performed.
How to review the exact RPM groupings and the individual RPMs that were selected at install time
======================================================================
During every RHEL install of every type, the file /root/anaconda-ks.cfg is created, leaving a record of how the system was initially created. This file is not updated during subsequent RPM installation or updates, but rather is intended as record of initial system creation.
The "%packages" section of the /root/anaconda-ks.cfg file should read AT LEAST as follows. The ADDITION of RPM groupings or packages is NOT an issue, so long as the correct version of gcc is actually in use. For more details, see:
Note 444084.1, "Multiple gcc / g++ Versions in Linux"
However, de-selecting any "default RPM" groupings or individual RPMs can result in failed RDBMS installation attempts. Oracle recommends that you install the Linux operating system with the default software packages (RPMs). Do not customize the RPMs during installation. This installation includes most required packages, and helps to limit manual checks of package dependencies. If you choose to customize the RPMs during installation, see the following alternatives:
-- Oracle Database Installation Guide
11g Release x (11.x) for Linux
Chapter 1, "Overview of Oracle Database Installation"
section 1.2.2, "Completing a Default Linux Installation" (applicable to 9iR2, 10gR1, 10gR2, and 11gR1 software)
section 1.3.2, "Completing a Default Linux Installation" (applicable to 11gR2 software)
-- ORACLE Validated Configurations (http://www.oracle.com/technology/tech/linux/validated-configurations/index.html)
-- NOTE 728346.1, "Linux OS Installation with Reduced Set of Packages for Running Oracle Database Server"
"%packages" section of /root/anaconda-ks.cfg file for a 64-bit x86_64 RHEL 3 "default-RPMs" installation
%packages
.@ smb-server .@ base-x .@ web-server .@ printing .@ text-internet .@ gnome-desktop .@ dialup .@ admin-tools .@ server-cfg .@ graphical-internet .@ compat-arch-support kernel
"%packages" section of /root/anaconda-ks.cfg file for a 64-bit x86_64 RHEL 4 "default-RPMs" installation
%packages
.@ admin-tools .@ text-internet .@ gnome-desktop .@ dialup .@ compat-arch-support .@ smb-server .@ base-x .@ web-server .@ printing .@ server-cfgkernel-smp (This "kernel-smp" line may instead read "kernel", based upon the number and type of CPUs in your Linux system.)e2fsprogs
"%packages" section of /root/anaconda-ks.cfg file for a 64-bit x86_64 RHEL 5.x "default-RPMs" installation
-----------------------------------------------------------------------------------------------------
Two acceptable (valid) alternative indications of a "default-RPMs" Linux foundation may exist. They are equivalent. All details must be present from either alternative "0", or alternative "1" as follows:
Alternative "0" shows that RHEL 5.0 media was first used to install Linux.***
%packages
.@dialup
additionally, due to a known v 5.0 RHEL bug, this %packages section for the RHEL 5.0 product is incomplete. This means that in order to accurately evaluate the "default-RPMs" status of alternative "0", you must ALSO compare individual RPM command outputs, as explained below in the section "Example RPM command outputs". Run these same commands. Compare outputs. Any missing RPMs indicate that a "less-than-default-RPMs" installation of RHEL Server 5.0 is present.
Alternative "1" shows that RHEL 5.1 or greater media was first used to install Linux.***
(for example, this listing is also accurate for RHEL Server 5.2 and greater)
%packages
.@office .@editors .@text-internet .@gnome-desktop .@dialup .@core .@base .@games .@java .@base-x .@graphics .@printing .@sound-and-video .@admin-tools .@graphical-internet kexec-tools device-mapper-multipath xorg-x11-utils xorg-x11-server-Xnest libsane-hpaio -sysreport
All Other Alternatives - The ADDITION of RPM groupings or packages is NOT an issue. De-selecting any "default RPM" groupings or individual RPMs can result in failed RDBMS installation attempts, and as such, is not recommended by Oracle Support Services.
*** Note that the use of automatic update routines such as up2date and RedHat Network may result in an /etc/redhat-release version greater than 5.0
"%packages" section of /root/anaconda-ks.cfg file for a 32-bit x86 RHEL 3 "default-RPMs" installation
%packages
.@ smb-server .@ base-x .@ web-server .@ printing .@ text-internet .@ gnome-desktop .@ dialup .@ admin-tools .@ server-cfg .@ graphical-internet .@ compat-arch-support kernel kernel-smp grub
"%packages" section of /root/anaconda-ks.cfg file for a 32-bit x86 RHEL 4 "default-RPMs" installation
%packages
.@ admin-tools .@ text-internet .@ gnome-desktop .@ dialup .@ compat-arch-support .@ smb-server .@ base-x .@ web-server .@ printing .@ server-cfg e2fsprogs grub kernel
"%packages" section of /root/anaconda-ks.cfg file for a 32-bit x86 RHEL 5.x "default-RPMs" installation
-----------------------------------------------------------------------------------------------------------
Two acceptable (valid) alternative indications of a "default-RPMs" Linux foundation may exist. They are equivalent. All details must be present from either alternative "0", or alternative "1" as follows:
Alternative "0" shows that RHEL 5.0 media was first used to install Linux.***
%packages
.@dialup
Additionally, due to a known v 5.0 RHEL bug, this %packages section for the RHEL 5.0 product is incomplete. This means that in order to accurately evaluate the "default-RPMs" status of alternative "0", you must ALSO compare individual RPM command outputs, as explained below in the section "Example RPM command outputs". Run these same commands. Compare outputs. Any missing RPMs indicate that a "less-than-default-RPMs" installation of RHEL Server 5.0 is present.
Alternative "1" shows that RHEL 5.1 or greater media was first used to install Linux.***
(for example, this listing is also accurate for RHEL Server 5.2 and greater)
%packages
.@office .@editors .@text-internet .@gnome-desktop .@dialup .@core .@base .@games .@java .@base-x .@graphics .@printing .@sound-and-video .@admin-tools .@graphical-internet kexec-tools device-mapper-multipath xorg-x11-utils xorg-x11-server-Xnest libsane-hpaio -sysreport
All Other Alternatives - The ADDITION of RPM groupings or packages is NOT an issue. De-selecting any "default RPM" groupings or individual RPMs can result in failed RDBMS installation attempts, and as such, is not recommended by Oracle Support Services.
*** Note that the use of automatic update routines such as up2date and RedHat Network may result in an /etc/redhat-release version greater than 5.0.
"%packages" section of /root/anaconda-ks.cfg file for a 64-bit s390x (aka zLinux) RHEL 4 "default-RPMs" installation
%packages
.@ admin-tools .@ text-internet .@ gnome-desktop .@ dialup .@ compat-arch-support .@ smb-server .@ base-x .@ web-server .@ printing .@ server-cfg e2fsprogs s390utils lvm2 kernel (This "kernel" line may instead read "kernel-smp", based upon the number and type of CPUs in your Linux system.)
Please understand that this document does NOT state (for example) that Samba (@ smb-server) is required to run Oracle. What this NOTE is stating is that a "default-RPMs" installation is strongly recommended, and that a "default-RPMs" installation will result in a "/root/anaconda-ks.cfg" file as shown.
All Oracle development, coding, testing, documentation, certification and support experience for Oracle on RHEL is based upon this "foundation" of a "default-RPMs" installation of RHEL AS/ES. In the same way that you would not expect the wood framing for a tudor-style house to fit on a ranch-style concrete foundation, please do not expect the Oracle RDBMS software to successfully install upon a "less-than-default-RPMs" foundation of RHEL AS/ES.
At this point, a common question is Why can't I just fix the wrong foundation of Linux that I already have? Why do I have to re-install Linux? Or continuing the analogy above, Why can't I just go down to the local hardware store, rent a jackhammer, buy a couple of bags of instant concrete, and MAKE it fit?
The answer is 'experience'. In the experience of Oracle Global Support, you will continue to experience an infinite series of installation or patching or instructions not working or GUI tool or stability problems until you re-build this system. Customers who have tried to just fix it invariably spend days and in some cases even weeks of frustration before they just do the strongly recommended thing and re-install a "default-RPMs" foundation of Linux.
You would not allow your concrete contractor to try to MAKE your brand-new tudor-style house fit onto his ranch-style foundation. In the same way, do not allow yourself to try to MAKE your brand-new Oracle RDBMS installation fit onto the Linux choice of a "less-than-default-RPMs" installation. To do so would lead you towards a potentially infinite series of problems.
Example RPM command outputs for a "default RPMs" installation
=======================================================
Since the exact listing of RPMs that are installed on a particular system during a "default-RPMs" installation of RHEL AS/ES is a function of the hardware, and update level of the RHEL OS, a complete RPM listing of a "default-RPMs" installation cannot be provided. Several example RPM command outputs are instead provided below for an example "default RPMs" installation.
The output of these same commands on your RHEL system should read AT LEAST as follows. The ADDITION of packages is NOT an issue, so long as the correct version of gcc is actually in use. For more details, see:
Note 444084.1, "Multiple gcc / g++ Versions in Linux"
However, de-selecting any "default RPM" groupings or individual RPMs can result in failed RDBMS installation attempts. Oracle recommends that you install the Linux operating system with the default software packages (RPMs). Do not customize the RPMs during installation. This installation includes most required packages, and helps to limit manual checks of package dependencies. If you choose to customize the RPMs during installation, see the following alternatives:
-- Oracle Database Installation Guide
11g Release x (11.x) for Linux
Chapter 1, "Overview of Oracle Database Installation"
section 1.2.2, "Completing a Default Linux Installation" (applicable to 9iR2, 10gR1, 10gR2, and 11gR1 software)
section 1.3.2, "Completing a Default Linux Installation" (applicable to 11gR2 software)
-- ORACLE Validated Configurations (http://www.oracle.com/technology/tech/linux/validated-configurations/index.html)
-- NOTE 728346.1, "Linux OS Installation with Reduced Set of Packages for Running Oracle Database Server"
These outputs are from a 64-bit RHEL 5 "default-RPMs" installation. Exact RPM version numbers may be slightly higher on your system.
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep gcc
libgcc-4.1.1-52.el5 (x86_64) libgcc-4.1.1-52.el5 (i386)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libaio
libaio-0.3.106-3.2 (x86_64) libaio-0.3.106-3.2 (i386)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep glibc
glibc-2.5-12 (i686) glibc-common-2.5-12 (x86_64) glibc-2.5-12 (x86_64)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep head
readahead-1.3-7.el5 (x86_64) kernel-headers-2.6.18-8.el5 (x86_64)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libXp
libXpm-3.5.5-3 (x86_64)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep compat
java-1.4.2-gcj-compat-1.4.2.0-40jpp.112 (x86_64)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libstdc
libstdc++-4.1.1-52.el5 (x86_64) libstdc++-4.1.1-52.el5 (i386)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep X11
libX11-1.0.3-8.el5 (x86_64) libX11-1.0.3-8.el5 (i386)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep make
make-3.81-1.1 (x86_64)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep setarch
setarch-2.0-1.1 (x86_64)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep "(i686)"
glibc-2.5-12 (i686) openssl-0.9.8b-8.3.el5 (i686)
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep -c "(i386)"
143
Note: any number less than 143 indicates that normal, usual, expected, 32-bit RPMs are missing on this 64-bit RHEL 5 installation.
These outputs are from a 32-bit RHEL 5 "default-RPMs" installation. Exact RPM version numbers may be slighly higher on your system.
$ rpm -qa | grep gcc
libgcc-4.1.1-52.el5
$ rpm -qa | grep libaio libaio-0.3.106-3.2
$ rpm -qa | grep glibc glibc-2.5-12 glibc-common-2.5-12
$ rpm -qa | grep head kernel-headers-2.6.18-8.el5 readahead-1.3-7.el5
$ rpm -qa | grep libXplibXpm-3.5.5-3
$ rpm -qa | grep compatjava-1.4.2-gcj-compat-1.4.2.0-40jpp.112
$ rpm -qa | grep libstdclibstdc++-4.1.1-52.el5
$ rpm -qa | grep X11libX11-1.0.3-8.el5
$ rpm -qa | grep makemake-3.81-1.1
$ rpm -qa | grep setarchsetarch-2.0-1.1
$ rpm -qa | grep "(i686)"
References
NOTE:340622.1 - Oracle10gR2 10.2.0.1 (Linux X86-64) Will Not Install On RHEL 4.0 x86-64
NOTE:386391.1 - Defining a "default RPMs" installation of the SLES OS
NOTE:401167.1 - Defining a "default RPMs" installation of the Oracle Enterprise Linux (OEL) OS
NOTE:444084.1 - Multiple gcc / g++ Versions in Linux
NOTE:728346.1 - Linux OS Installation with Reduced Set of Packages for Running Oracle Database Server
NOTE:851598.1 - Master Note of Linux OS Requirements for Database Server
![]() |
![]() |
This comment has been removed by a blog administrator.
ReplyDelete