ORACLE 11g r2 INSTALL ON RHAT 6 x86-64 Applies to: Oracle Server - Enterprise Edition - Version 11.2.0.3 to 11.2.0.3 [Release 11.2] Oracle Server - Standard Edition - Version 11.2.0.3 to 11.2.0.3 [Release 11.2] Linux x86-64 Purpose This note explains the requirements that need to be met for a successful installation of Oracle 11gR2 RDBMS release 11.2.0.3 (or higher 11.2.0.x version) on Red Hat Enterprise Linux 6.0 (or higher 6.x version), 64-bit (x86-64). It is NOT the purpose of this NOTE to repeat every "how-to" step that is presented in the 11gR2 Installation Guide manual. For example this NOTE does not include how to create the Linux OS account named "oracle", nor does it cover how to set environment variables. Both are adequately covered in Chapter 2 "Oracle Database Preinstallation Requirements" of the 11gR2 Installation Guide manual. You can download the 11.2.0.3 software from My Oracle Support (patch 10404530) Scope This procedure is meant for those planning/installing Oracle 11gR2 RDBMS release 11.2.0.3.0 (or higher 11.2.0.x version) on Red Hat Enterprise Linux 6.0 (or higher 6.x version) on the 64-bit (x8664) platform. Since it is the expressed goal to keep Oracle Linux (OL) functionally IDENTICAL to RHEL, this NOTE is also completely applicable to 64-bit (x86-64) OL 6.0 (or higher 6.x version). This procedure is not meant for those planning/installing Grid Infrastructure (GI) or any other Oracle products. Details Requirements for installing Oracle 11gR2 RDBMS release 11.2.0.3 64-bit on RHEL6 or OL6 64-bit (x86_64) I. Hardware: =========== 1. Minimum Hardware Requirements a.) At least 1.0 GB (1024MB) of physical RAM b.) Swap disk space proportional to the system's physical memory as follows: RAM Between 1 GB and 2 GB Swap Space 1.5 times the size of RAM Between 2 GB and 16 GB More than 16 GB Equal to the size of RAM 16 GB NOTE: The above recommendations (from the 11.2 Database installation guide) are MINIMUM recommendations for installations. Further RAM and swap space may be required to tune/improve RDBMS performance. c.) 1.0 GB (1024MB) of disk space (and less than 2TB of disk space) in the /tmp directory. d.) approximately 4.4 GB of local disk space for the database software. e.) approximately 1.7 GB of disk space for a preconfigured database that uses file system storage (optional). 2. Oracle Database is supported on ext2, ext3 and ext4 file systems (see Note:236826.1 for further information) II. Software: ============ 1. As is specified in section 1.3.2 of the Oracle Database Installation Guide for 11gR2 on Linux (part number E24321-02), Oracle recommends that you install the Linux operating system with the default software packages (RPMs) and do not customize the RPMs during installation. For additional information on "default-RPMs", please see Note 376183.1, "Defining a "default RPMs" installation of the RHEL OS" or Note 401167.1, "Defining a "default RPMs" installation of the Oracle Enterprise Linux (OEL) OS". 2. Red Hat Enterprise Linux Server 6.0 (or higher 6.x version) or Oracle Linux 6.0 (or higher 6.x version) NOTE: RHEL6 servers must be running kernel 2.6.32-71.el6 (x86_64) or higher. OL6 servers must also be running kernel 2.6.32-71.el6 (x86_64) or higher 2.6 version or Unbreakable Enterprise Kernel 1 (UEK1, kernel version 2.6.32-100.28.5) or Unbreakable Enterprise Kernel 2 (UEK2, kernel version 2.6.39). 3. Required OS Components (per Release Notes, and Install Guide) a.) The exact version number details of this list are based upon 64-bit (x86_64) RHEL 6.0. When a higher "update" level is used, the RPM release numbers (such as 4.4.4-13) may be slightly different. Since updates of RHEL 6 are certified, this is fine so long as you are still using 64-bit Linux (x86_64) RHEL 6 RPMs. b.) Some of the Install Guide requirements will already be present from the "default-RPMs" foundation of Linux that you started with: 1.) binutils-2.20.51.0.2-5.11.el6 (x86_64) 2.) compat-libstdc++-33-3.2.3-69.el6 (x86_64) 3.) glibc-2.12-1.7.el6 (x86_64) 4.) ksh-20100621-12.el6 (x86_64) 5.) libaio-0.3.107-10.el6 (x86_64) 6.) libgcc-4.4.4-13.el6 (x86_64) 7.) libstdc++-4.4.4-13.el6 (x86_64) 8.) make-3.81-19.el6 (x86_64) c.) The remaining Install Guide requirements will have to be installed: 1.) compat-libcap1-1.10-1 (x86_64) 2.) gcc-4.4.4-13.el6 (x86_64) 3.) gcc-c++-4.4.4-13.el6 (x86_64) 4.) glibc-devel-2.12-1.7.el6 (x86_64) 5.) libaio-devel-0.3.107-10.el6 (x86_64) 6.) libstdc++-devel-4.4.4-13.el6 (x86_64) 7.) sysstat-9.0.4-11.el6 (x86_64) d.) Customers wishing to install the 11.2.0.3 32-bit Client software should also install these packages: 1.) compat-libstdc++-33-3.2.3-69.el6 (i686) 2.) glibc-2.12-1.7.el6 (i686) 3.) glibc-devel-2.12-1.7.el6 (i686) 4.) libaio-0.3.107-10.el6 (i686) 5.) libaio-devel-0.3.107-10.el6 (i686) 6.) libgcc-4.4.4-13.el6 (i686) 7.) libstdc++-4.4.4-13.el6 (i686) 8.) libstdc++-devel-4.4.4-13.el6 (i686) 4. Additional Required OS Components (per the runInstaller OUI) a.) intentionally blank 5. Additional Required OS Components (per this NOTE) a.) Please do not rush, skip, or minimize this critical step. This list is based upon a "defaultRPMs" installation of 64-bit (x86_64) RHEL 6. Additional RPMs (beyond anything known to Oracle) may be needed if a "less-than-default-RPMs" installation of 64-bit (x86_64) RHEL Server 6 is performed. For more information, please refer to Note 376183.1, "Defining a "default RPMs" installation of the RHEL OS" or Note 401167.1, "Defining a "default RPMs" installation of the Oracle Enterprise Linux (OEL) OS". b.) intentionally blank 6. Oracle Global Customer Support has noticed a recent trend with install problems that originates from installing too many RPMs. For example: a.) installing your own JDK version (prior to execute the Oracle Software runInstaller) is not needed on Linux, and is not recommended on Linux. A pre-existing JDK often interferes with the correct JDK that the Linux Oracle Software runInstaller will place and use. b.) installing more than the required version of the gcc / g++ RPMs often leads to accidentally using (aka enabling or activating) the incorrect one. If you have multiple RDBMS versions installed on the same Linux machine, then you will likely have to manage multiple versions of gcc /g++ . For more information, please see Note 444084.1, "Multiple gcc / g++ Versions in Linux" 7. All of the RPMs in section II. are on the Red Hat Enterprise Linux 6 64-bit (x86_64) distribution media. III. Environment: ================ 1. Modify your kernel settings in /etc/sysctl.conf (RedHat) as follows. If the current value for any parameter is higher than the value listed in this table, do not change the value of that parameter. Range values (such as net.ipv4.ip_local_port_range) must match exactly. kernel.shmall = physical RAM size / pagesize For most systems, this will be the value 2097152. See Note 301830.1 for more information. kernel.shmmax = 1/2 of physical RAM. This would be the value 2147483648 for a system with 4GB of physical RAM. See Note:567506.1 for more information. kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 512 x processes (for example 6815744 for 13312 processes) fs.aio-max-nr = 1048576 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 2. To activate these new settings into the running kernel space, run the "sysctl -p" command as root. 3. Set Shell Limits for the oracle User. Assuming that the "oracle" Unix user will perform the installation, do the following: a.) Add the following settings to /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 b.) Verify the latest version of PAM is loaded, then add or edit the following line in the /etc/pam.d/login file, if it does not already exist: session required pam_limits.so c.) Verify the current ulimits, and raise if needed. This can be done many ways...adding the following lines to /etc/profile is the recommended method: if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -u 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 4. The gcc-4.4.4 and gcc-c++-4.4.4 RPM items above will ensure that the correct gcc / g++ versions are installed. It is also required that you ensure that these correct gcc / g++ versions are active, and in-use. Ensure that the commands "gcc --version" and "g++ --version" each return "4.4.4". 5. The hostname command should return the fully qualified hostname as shown below: % hostname hostname.domainname 6. If any Java packages are installed on the system, unset the Java environment variables, for example JAVA_HOME. 7. The oracle account that is used to install Oracle 11.2.0.3, should not have the Oracle install related variables set by default. For example setting ORACLE_HOME, PATH, LD_LIBRARY_PATH to include Oracle binaries in .profile, .login file and /etc/profile.d should be completely avoided. a.) Setting $ORACLE_BASE (not $ORACLE_HOME) is recommended, since it eases a few prompts in the OUI runInstaller tool. b.) Following the successful install, it is recommended to set $ORACLE_HOME, and to set $PATH to include $ORACLE_HOME/bin at the beginning of the $PATH string. 8. By default, RHEL 6 x86_64 Linux is installed with SELinux as "enforcing". This is fine for the 11gR2 installation process. However, to subsequently run "sqlplus", switch SELinux to the "Permissive" mode. See NOTE 454196.1, "./sqlplus: error on libnnz11.so: cannot restore segment prot after reloc" for more details. UPDATE: Internal testing suggests that there is no problem running "sqlplus" with SELinux in "enforcing" mode on RHEL6/OL6. The problem only affects RHEL5/OL5. 9. Before trying to install 11.2.0.3 64-bit on RHEL 6 x86_64, it is recommended to review Note 1454982.1 "Installing 11.2.0.3 64-bit (x86-64) on RHEL6 Reports That Packages "elfutils-libelfdevel-0.97" and "pdksh-5.2.14" Are Missing (PRVF-7532)" and implement a minor change to the 11.2.0.3 media. No change is required before installing 11.2.0.3 64-bit on OL 6 x86_64. 10. Log in as Oracle user and start the installation as follows: ./runInstaller a.) It is best practice not to use any form of "su" to start the runInstaller, in order to avoid potential display-related problems. b.) When performing the 11.2.0.3 installation, make sure to use the "runInstaller" version that comes with 11.2.0.3 software. c.) When performing any subsequent 11.2.0.x patchset, make sure to use the "runInstaller" version that comes with the patchset. ADDITIONAL NOTES ---------------1. Supported distributions of the 32-bit (x86) Linux OS can run on on AMD64/EM64T and Intel Processor Chips that adhere to the x86_64 architecture a.) Oracle 32-bit Database Server running on AMD64/EM64T with 32-bit OS is supported, but is NOT covered by this NOTE. b.) Oracle 32-bit Database Server running on AMD64/EM64T with 64-bit OS is not certified and is not supported. c.) Oracle 32-bit Database Client running on AMD64/EM64T with 64-bit OS is expected to be supported, but is NOT covered by this NOTE. 2. Asynchronous I/O on ext2 and ext3 file systems is supported if your scsi/fc driver supports that functionality. Note : Asynchronous I/O on Ext4 file system is supported with Oracle 10g onwards on OEL5.6 and later. Reference : Oracle Linux, Filesystem & I/O Type Supportability (Note 279069.1) 3. No extra patch is required for the DIRECTIO support for x86_64. 4. No LD_ASSUME_KERNEL value should be used with the 11gR2 product. 5. The following rpm command can be used to distinguish between a 32-bit or 64-bit package. # rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep glibcdevel glibc-devel-2.12-1.7(x86_64) glibc-devel-2.12-1.7(i686) NOTE AGGIUNTIVE NOTE [ID 454196.1] Applies to: Oracle Fusion Middleware - Version: 11.1.1.0.0 and later [Release: Oracle11g and later ] Oracle Server - Standard Edition - Version: 11.1.0.6 and later [Release: 11.1 and later] Oracle Server - Enterprise Edition - Version: 11.1.0.6 and later [Release: 11.1 and later] Linux x86 IBM: Linux on System z Red Hat Advanced Server HP OpenVMS Alpha Red Hat Enterprise Linux Advanced Server x86-64 (AMD Opteron Architecture) Oracle Enterprise Linux 4.0 IBM: Linux on POWER Systems Red Hat Enterprise Linux Advanced Server Itanium Linux x86-64 Red Hat Enterprise Linux Workstation Oracle Application Server 10g Enterprise Edition - Version: 11.1.1.0.0 Oracle Server Enterprise Edition - Version: 11.1.0.6 to 11.2.0.99 RHEL 5 and OEL 5 only. RHEL 4 and OEL 4 are not affected. SLES is not affected. This is because of the more aggressive way that SELinux policies are enforced in RHEL 5 and OEL 5. Symptoms Immediately after a successful RDBMS installation (perhaps even including a sample DB instance creation), sqlplus will not start: ./sqlplus / as sysdba ./sqlplus: error while loading shared libraries: $ORACLE_HOME/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied This can occur on any Oracle application and can display against any shared library. This same error message has also been observed with the "opmn" product when running commands such as "webcached" and "opmnctl". The "Solution" below also worked when this same error was seen with other products. Changes SELinux is running in "enforcing" mode. Cause You are encountering unpublished Bug 6140224 SQLPLUS FAILS TO LOAD LIBNNZ11.SO WITH SELINUX ENABLED ON EL5/RHEL5 Oracle Developement is actively working on this compiler version compatibility issue (ICC compilers that are used for several libraries, such as LIBNNZ10.SO and LIBNNZ11.SO) in the RHEL 5 and OEL 5 environments. Red Hat's resolution to this in https://bugzilla.redhat.com/show_bug.cgi?id=512375 and is included within RHEL5.5 Oracle's resolution to this for 11.2.0.1 (both x86 and x86_64 ) is patch 9215184 Oracle's resolution to this is included within 11.2.0.2 Alternatively, please use the work-around presented below. Solution A potential solution is to change the default context of the affected oracle libraries to textrel_shlib_t: /usr/sbin/semanage fcontext -a -t textrel_shlib_t $ORACLE_HOME/lib/libnnz11.so /usr/sbin/semanage fcontext -a -t textrel_shlib_t $ORACLE_HOME/lib/libnque11.so /usr/sbin/semanage fcontext -a -t textrel_shlib_t $ORACLE_HOME/lib/libclntsh.so.11.1 This only sets up rules for labelling and does not actually apply those rules. These context assignments should be applied with the "/sbin/restorecon {filename}" command. Please contact your Linux OS support provider for additional details on configuring SELinux. When finished, you can then verify that the context change took place by re-trying sqlplus. Although this approach does have the benefit of leaving SELinux enabled and "enforcing" on the remainder of the system, it also presumes that the Customer can identify all of the affected oracle libraries that are involved in the compiler version compatibility issue. Since this is not a wise presumption, Oracle Development has instead recommended the following work-around: Switch SELinux from the default "Enforcing" mode that it is running in, to the "Permissive" mode. Commands, as root: ====================== getenforce (returns "Enforcing") setenforce 0 getenforce (returns "Permissive") This allows SELinux to continue running, and logging denial messages, but SELinux will not actually deny any operations. Once Development has resolved this issue, you can (and should) return SELinux to the default "Enforcing" mode as follows: Commands, as root: ====================== setenforce 1 getenforce (returns "Enforcing") The commands for the work-around above are immediate, and will remain in effect until the next reboot. Please also ensure that SELinux "Permissive" enforcing is set at boot time by adding "enforcing=0" to the kernel boot line. An example of setting the SELinux mode to permissive from GRUB could be as follows: title Red Hat Enterprise Linux ES (2.6.18-8.EL) root (hd0,0) kernel /vmlinuz-2.6.18-8.EL ro root=/dev/VolGroup00/LogVol00 rhgb quiet enforcing=0 initrd /initrd-2.6.18-8.EL.img Although not recommended by Oracle Global Software Support nor Oracle Development, SELinux could also be completely disabled if desired. For additional guidance, please see Document 457458.1, "How to Disable or set SELinux to Permissive mode" NOTE [ID 401167.1] The correct choice for a subsequent Oracle RDBMS installation is "Workstation". The preselected choice of "Personal Desktop" lacks nearly 200 RPMs, including sufficient kernel flexibility to support the gcc component that will be required during the Oracle RDBMS installation process. The "Server" choice lacks more than 300 RPMs, including X-Windows functionality. The "Custom" choice is an open-ended OS installation process, intended to give OEL it's maximum configurability for all circumstances. All Oracle development, coding, testing, documentation, certification and support experience for Oracle on OEL is based upon a "default-RPMs" installation (as defined below) of the "Workstation" installation type. If you intend to use your OEL OS installation for a subsequent Oracle RDBMS installation, you must ensure that you select "Workstation" if you are offered the "Installation Types" screen. Definition: a "default RPMs" installation of the OEL OS ========================================== During the CD-ROM installation process of the OEL 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 OEL installation screen is "Install default software packages" or 'default RPMs'. The screen in OEL 5.0 and beyond is slightly different in appearance, but exactly analogous. To view that OEL Server 5 screen, click here. To view that OEL Server 6 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 1 (11.1) for Linux Part Number B32002-04 Chapter 1, "Overview of Oracle Database Installation" section 1.2.1, "Completing a Default Linux Installation" (applicable to 9iR2, 10gR1, 10gR2, and 11gR1 software) -- ORACLE Validated Configurations (http://www.oracle.com/technology/tech/linux/validatedconfigurations/index.html and Note 437743.1) -- Note 728346.1, "Linux OS Installation with Reduced Set of Packages for Running Oracle Database Server" Example, observed indicators that a "default installation" of OEL is missing ================================================ Example #1 =========== When installing a required RPM, such as glibc-devel-2.3.4-2.9.i386.rpm, a Customer 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 The missing files (such as libICE.so.6 and libz.so.1) indicate that RPMs such as xorg-x11-libs6.8.2-1.EL.13.37, and zlib-1.2.1.2-1.2 are missing. Since these RPMs are normally installed during a "default-RPMs" installation, this proves that a that a "default installation" of OEL is missing. 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 the Customer's discretion. Subtractions from the "default" RPM packages of the distribution may result in "Failed dependencies" such as these that must be resolved. Example #2: =========== During the process of installing an RPM listed in a Oracle Installation Pre-Requisites metalink note (compat-db-4.0.14-5.1.i386.rpm) an error occurs that file libtcl8.3.so is missing. Since the RPM that provides this missing file is normally installed during a "default-RPMs" installation, this proves that a that a "default installation" of OEL is missing. Example #3: =========== 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 Since the RPM that provides this missing file is normally installed during a "default-RPMs" installation, this proves that a that a "default installation" of OEL is missing. Example #4: ============= The install process of 64-bit 10.2.0.1 on OEL 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 RPMs that provide each of these files (xorg-x11-deprecated-libs-6.8.2-1.xxx.x86_64.rpm and xorg-x11-deprecated-libs-6.8.21.xxx.i386.rpm) are absent. Since these RPMs are normally installed during a "default-RPMs" installation, this proves that a that a "default installation" of OEL is missing. Example #5: ============== 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 #6: ============== 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 relinking 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 OEL 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. 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 1 (11.1) for Linux Part Number B32002-04 Chapter 1, "Overview of Oracle Database Installation" section 1.2.1, "Completing a Default Linux Installation" (applicable to 9iR2, 10gR1, 10gR2, and 11gR1 software) -- ORACLE Validated Configurations (http://www.oracle.com/technology/tech/linux/validatedconfigurations/index.html and 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 OEL 5 u2 "default-RPMs" installation -------------------------------%packages .@office .@editors .@text-internet .@gnome-desktop .@dialup .@core .@base .@games .@java .@legacy-software-support .@base-x .@graphics .@printing .@sound-and-video .@admin-tools .@graphical-internet emacs kexec-tools squashfs-tools device-mapper-multipath xorg-x11-utils xorg-x11-server-Xnest libsane-hpaio system-config-kickstart -sysreport "%packages" section of /root/anaconda-ks.cfg file for a 64-bit OEL 5 u0 "default-RPMs" installation (usually, update levels (such as .1, .2, or .3) have identical %packages sections. x86_64 OEL 5.0 is listed here because it is significantly different) -------------------------------%packages .@admin-tools .@base .@base-x .@core .@dialup .@editors .@games .@gnome-desktop .@graphical-internet .@graphics .@java .@office .@printing .@sound-and-video .@text-internet "%packages" section of /root/anaconda-ks-cfg file for a 64-bit OEL 4 U6 (and above) "defaultRPMs" installation ---------------------------%packages .@ admin-tools .@ text-internet .@ gnome-desktop .@ dialup .@ compat-arch-support .@ smb-server .@ base-x .@ web-server .@ printing .@ server-cfg kernel (This "kernel" line may instead read "kernel-smp", based upon the number and type of CPUs in your Linux system.) e2fsprogs "%packages" section of /root/anaconda-ks.cfg file for a 32-bit x86 OEL 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 OEL 5.0 media was first used to install Linux.*** %packages .@dialup Unfortunately, due to a known v 5.0 RHEL/OEL bug, this %packages section for the OEL 5.0 product is incomplete. The bug has been corrected in OEL Server 5.1 . This means that in order to accurately evaluate the "default-RPMs" status of OEL Server 5.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-defaultRPMs" installation of OEL Server 5.0 is present. Alternative “1+” – shows that OEL 5.1 or greater media was first used to install Linux.*** (for example, this listing is also accurate for OEL Server 5.2 and greater) %packages .@office .@admin-tools .@editors .@text-internet .@gnome-desktop .@dialup .@core .@base .@games .@java .@base-x .@graphics .@printing .@sound-and-video .@graphical-internet system-config-kickstart kexec-tools squashfs-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. Deselecting 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 a “/etc/redhat-release” version greater than 5.0 "%packages" section of /root/anaconda-ks-cfg file for a 64-bit OEL 4 U5 "default-RPMs" installation (usually, update levels (such as update 4 or update 5) have identical %packages sections. x86_64 OEL 4 U5 is listed here because it is significantly different) ---------------------------%packages .@ admin-tools .@ text-internet .@ gnome-desktop .@ dialup .@ smb-server .@ base-x .@ web-server .@ printing .@ server-cfg kernel (This "kernel" line may instead read "kernel-smp", 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 OEL 4 U4 "workstation defaultRPMs" installation (usually, update levels (such as update 4 or update 5) have identical %packages sections. x86_64 OEL 4 U4 is listed here because it is significantly different) ---------------------------%packages .@ office .@ admin-tools .@ editors .@ text-internet .@ gnome-desktop .@ dialup .@ games .@ base-x .@ graphics .@ printing .@ sound-and-video .@ graphical-internet e2fsprogs kernel-smp (This "kernel-smp" line may instead read "kernel", based upon the number and type of CPUs in your Linux system.) "%packages" section of /root/anaconda-ks-cfg file for a 32-bit OEL 4 U7 "workstation defaultRPMs" installation. (usually, update levels (such as update 6 or update 7) have identical %packages sections. x86 OEL 4 U7 is listed here because it is significantly different) ---------------------------%packages .@ admin-tools .@ text-internet .@ gnome-desktop .@ dialup .@ compat-arch-support .@ smb-server .@ base-x .@ web-server .@ printing .@ server-cfg e2fsprogs kernel-smp grub "%packages" section of /root/anaconda-ks-cfg file for a 32-bit OEL 4 U6 "workstation defaultRPMs" installation (update levels (such as update 4 or update 5) have identical %packages sections.) ---------------------------%packages .@ office .@ admin-tools .@ editors .@ emacs .@ gnome-software-development .@ text-internet .@ x-software-development .@ gnome-desktop .@ dialup .@ games .@ emacs .@ base-x .@ graphics .@ printing .@ sound-and-video .@ development-tools .@ graphical-internet kernel-smp-devel e2fsprogs kernel-devel kernel-smp grub Please understand that this document does NOT state (for example) that Games (@games) are 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 OEL is based upon this "foundation" of a "default-RPMs" installation of OEL AS/ES. In the same way that you would not expect the wood framing for a tudor-style house to fit on a ranchstyle concrete foundation, please do not expect the Oracle RDBMS software to successfully install upon a "less-than-default-RPMs" foundation of OEL 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 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" installations ======================================================= Since the exact listing of RPMs that are installed on a particular system during a "default-RPMs" installation of OEL AS/ES is a function of the hardware, and update level of the OEL OS, a complete RPM listing of a "default-RPMs" installation cannot be provided. Several example RPM command outputs are instead provided for an example "default RPMs" installation: (These outputs are from a 32-bit OEL 5.0 "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 libXp libXpm-3.5.5-3 $ rpm -qa | grep compat java-1.4.2-gcj-compat-1.4.2.0-40jpp.112 $ rpm -qa | grep libstdc libstdc++-4.1.1-52.el5 $ rpm -qa | grep X11 libX11-1.0.3-8.el5 $ rpm -qa | grep make make-3.81-1.1 $ rpm -qa | grep setarch setarch-2.0-1.1 NOTE [ID 376183.1] 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" Fix 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. To view that RHEL Server 6 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/validatedconfigurations/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.21.EL.13.6.x86_64.rpm) is present, the RPM that provides this file in the 32-bit architecture (xorgx11-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.21.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