September 7, 2010

No nonsense installation of Oracle Enterprise Linux 5.5 32-bit

This is the quickest and most straightforward way to install Oracle Enterprise Linux (OEL) 5.5 32-bit to satisfy most Oracle 11g products, such as the Oracle Database 11g and Oracle Fusion Middleware 11g.

We use these these instructions when setting up internal VMs for development/sandboxing purposes.

1. Download the following iso files:
        Enterprise Linux 5.5 CD #1
        Enterprise Linux 5.5 CD #2
        Enterprise Linux 5.5 CD #3
        Enterprise Linux 5.5 CD #4

    The download link on the Oracle E-Delivery web site is:

    The operating system installation will take approximately 2791 MB of disk space.

2. Boot up the first CD, and choose the following settings:
        SWAP:                 1 GB
        / (root partition):    5 GB

3. Check 'System clock uses UTC'

4. Choose 'Customize now'

5. Choose the following package groups:

        Desktop Environments:
        GNOME Desktop Environment
        KDE Desktop Environment

        Authoring and Publishing
        Engineering and Scientific
        Graphical Internet
        Sound and Video
        Text-based Internet

        Development Libraries
        Development Tools
        Legacy Software Development
        X Software Development

        FTP Server
        Legacy Network Server
        Mail Server
        Printing Support
        Server Configuration Tools
        Web Server
        Windows File Server

        Base System:
        Administration Tools
        Legacy Software Support
        System Tools
        X Window System

6. Set Firewall to 'Disabled'

7. Set SELinux Setting to 'Enforcing'

8. When installation is complete, apply all the following RPMs from the installation media (if not already installed). This will satisfy all RPM prerequisites of both the Database 11g and Fusion Middleware 11g:

    rpm -ivh binutils-
    rpm -ivh compat-db-4.2.52-5.1.i386.rpm
    rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm
    rpm -ivh elfutils-libelf-0.137-3.el5.i386.rpm
    rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpm
    rpm -ivh elfutils-libelf-devel-static-0.137-3.el5.i386.rpm
    rpm -ivh gcc-4.1.2-48.el5.i386.rpm
    rpm -ivh gcc-c++-4.1.2-48.el5.i386.rpm
    rpm -ivh glibc-2.5-49.i386.rpm
    rpm -ivh glibc-common-2.5-49.i386.rpm
    rpm -ivh glibc-devel-2.5-49.i386.rpm
    rpm -ivh glibc-headers-2.5-49.i386.rpm
    rpm -ivh ksh-20100202-1.el5.i386.rpm
    rpm -ivh libaio-0.3.106-5.i386.rpm
    rpm -ivh libaio-devel-0.3.106-5.i386.rpm
    rpm -ivh libgcc-4.1.2-48.el5.i386.rpm
    rpm -ivh libgomp-4.4.0-6.el5.i386.rpm
    rpm -ivh libstdc++-4.1.2-48.el5.i386.rpm
    rpm -ivh libstdc++-devel-4.1.2-48.el5.i386.rpm
    rpm -ivh make-3.81-3.el5.i386.rpm
    rpm -ivh sysstat-7.0.2-3.el5.i386.rpm
    rpm -ivh unixODBC-2.2.11-7.1.i386.rpm
    rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm

9. Create the appropriate account:

    groupadd oinstall
    groupadd dba
    useradd -c "Oracle software owner" -g oinstall -G dba oracle
    passwd oracle

10. Edit /etc/bashrc and modify the prompt accordingly (this is my personal preference):

    #[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
    [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="\u@\h:\$PWD> "

All remaining steps are required mostly if installing the Oracle Database, but there is no harm applying it to the Oracle Fusion Middleware server.

11. Add the following to the end of /etc/sysctl.conf:

    # semaphores: semmsl, semmns, semopm, semmni
    kernel.shmmni = 4096
    kernel.sem = 256 32000 100 128
    fs.file-max = 6815744
    fs.aio-max-nr = 1048576
    kernel.hostname   =
    kernel.domainname =
    net.ipv4.ip_local_port_range = 9000 65500
    kernel.msgmax = 8192
    kernel.msgmnb = 65535
    kernel.msgmni = 2878

12. Add the following to the end of /etc/security/limits.conf (make sure to use 'tab' as the delimiter):

    oracle  soft    nofile  4096
    oracle  hard    nofile  65536
    oracle  soft    nproc   2047
    oracle  hard    nproc   16384

13. Add the following to the end of /etc/pam.d/login:

    session    required     /lib/security/

14. Add the following to the end of /etc/profile:

    if [ $USER = "oracle" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
        ulimit -u 16384 -n 65536

That's it.

1 comment: