1. Oracle Database 11g Release 1 (11.1) Installation on Enterprise Linux 4.5 and 5.0

Oracle Database 11g Release 1 (11.1) Installation on Enterprise Linux 4.5 and 5.0

Introduction

This article provides a complete, step-by-step guide for installing Oracle Database 11g Release 1 (11.1) on Enterprise Linux 4.5 and 5.0. The instructions also work for the original Red Hat Enterprise Linux 4 and 5 distributions, as well as any clones such as CentOS 4 and 5.

The guide is based on a server installation with:

  • A minimum of 2 GB swap space

  • Secure Linux (SELinux) disabled

  • Oracle's recommended default server installation

Note: Oracle recommends a default server installation, but for these installations, the following package groups must be installed.


Required Package Groups

Oracle Enterprise Linux 4.5

  • X Window System

  • GNOME Desktop Environment

  • Editors

  • Graphical Internet

  • Server Configuration Tools

  • Development Tools

  • Administration Tools

  • System Tools

Oracle Enterprise Linux 5.0

  • GNOME Desktop Environment

  • Editors

  • Graphical Internet

  • Text-based Internet

  • Development Libraries

  • Development Tools

  • Server Configuration Tools

  • Administration Tools

  • Base

  • System Tools

  • X Window System

Note: Alternative installations may require more packages to be loaded, in addition to the ones listed below.


Overview of the Installation Process

#PhaseDescription
1Download SoftwareObtain the Oracle 11g installation media
2Unpack FilesExtract the installation files
3Hosts FileConfigure the server's hostname
4Set Kernel ParametersConfigure kernel and user limits
5SetupInstall packages, create groups/users, set environment
6InstallationRun the Oracle Universal Installer (OUI)
7Post InstallationConfigure automatic startup

Phase 1: Download Software

Download the following software:

  • Oracle Database 11g Release 1 (11.1) Software


Phase 2: Unpack Files

Unzip the downloaded files:

bash
unzip linux_11gR1_database.zip

Result: You should now have a single directory called database containing the installation files.


Phase 3: Configure the Hosts File

The /etc/hosts file must contain a fully qualified name for the server.

Format:

text
<IP-address>  <fully-qualified-machine-name>  <machine-name>

Example:

text
127.0.0.1       localhost localhost.localdomain
192.168.0.215   oel45.localdomain  oel45

Important: The hostname must be resolvable both forward and backward. Verify with hostname and ping oel45.localdomain.


Phase 4: Set Kernel Parameters

Oracle recommends the following minimum parameter settings:

bash
kernel.shmall = 2097152
kernel.shmmax = 2147483648   # Smallest of -> (Half the size of physical memory) or (4GB - 1 byte)
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536          # 512 * PROCESSES
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

Verify Current Values

bash
/sbin/sysctl -a | grep <param-name>

Apply Kernel Parameters

For Enterprise Linux 4.5, append the following to /etc/sysctl.conf:

bash
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

For Enterprise Linux 5.0, append the following to /etc/sysctl.conf:

bash
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

Apply the changes:

bash
/sbin/sysctl -p

Configure User Limits

Add the following lines to /etc/security/limits.conf:

bash
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536

Add the following line to /etc/pam.d/login (if it does not already exist):

bash
session    required     pam_limits.so

Disable SELinux

Edit /etc/selinux/config and set:

text
SELINUX=disabled

Alternatively, use the GUI tool: Applications → System Settings → Security Level → SELinux tab → Disable.

Note: If SELinux is disabled after installation, the server will need a reboot for the change to take effect.


Phase 5: Setup

Step 1: Install Required Packages

For Enterprise Linux 4.5:

bash
# From Enterprise Linux 4 Disk 1
cd /media/cdrom/Enterprise/RPMS
rpm -Uvh binutils-2.*
rpm -Uvh elfutils-libelf-0.*
rpm -Uvh glibc-2.*
rpm -Uvh glibc-common-2.*
rpm -Uvh libgcc-3.*
rpm -Uvh libstdc++-3.*
rpm -Uvh compat-libstdc++-33*
rpm -Uvh make-3.*
rpm -Uvh unixODBC-2.*
cd /
eject

# From Enterprise Linux 4 Disk 2
cd /media/cdrom/Enterprise/RPMS
rpm -Uvh glibc-devel-2.*
rpm -Uvh gcc-3.*
rpm -Uvh gcc-c++-3.*
rpm -Uvh libstdc++-devel-3.*
cd /
eject

# From Enterprise Linux 4 Disk 3
cd /media/cdrom/Enterprise/RPMS
rpm -Uvh libaio-0.*
rpm -Uvh libaio-devel-0.*
rpm -Uvh sysstat-5.*
cd /
eject

# From Enterprise Linux 4 Disk 4
cd /media/cdrom/Enterprise/RPMS
rpm -Uvh elfutils-libelf-devel-0.*
rpm -Uvh unixODBC-devel-2.*
cd /
eject

For Enterprise Linux 5.0:

bash
# From Enterprise Linux 5 Disk 1
cd /media/cdrom/Server
rpm -Uvh binutils-2.*
rpm -Uvh elfutils-libelf-0.*
rpm -Uvh glibc-2.*
rpm -Uvh glibc-common-2.*
rpm -Uvh libaio-0.*
rpm -Uvh libgcc-4.*
rpm -Uvh libstdc++-4.*
rpm -Uvh make-3.*
cd /
eject

# From Enterprise Linux 5 Disk 2
cd /media/cdrom/Server
rpm -Uvh compat-libstdc++-33*
rpm -Uvh elfutils-libelf-devel-0.*
rpm -Uvh glibc-devel-2.*
rpm -Uvh gcc-4.*
rpm -Uvh gcc-c++-4.*
rpm -Uvh libaio-devel-0.*
rpm -Uvh libstdc++-devel-4.*
rpm -Uvh unixODBC-2.*
rpm -Uvh unixODBC-devel-2.*
cd /
eject

# From Enterprise Linux 5 Disk 3
cd /media/cdrom/Server
rpm -Uvh sysstat-7.*
cd /
eject

Step 2: Create Groups and Users

bash
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin

useradd -g oinstall -G dba,oper,asmadmin oracle
passwd oracle

Note: The asmadmin group is not used in this installation since ASM is not being configured.

Step 3: Create Oracle Directories

bash
mkdir -p /u01/app/oracle/product/11.1.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

Step 4: Configure X11 Access

Log in as root and issue:

bash
xhost +<machine-name>

Step 5: Configure the Oracle Environment

Log in as the oracle user and add the following lines to the end of .bash_profile:

bash
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=oel45.localdomain; export ORACLE_HOSTNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1; export ORACLE_HOME
ORACLE_SID=DB11G; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

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

Phase 6: Installation

Step 1: Log In as Oracle User

bash
su - oracle

If using X emulation, set the DISPLAY variable:

bash
DISPLAY=<machine-name>:0.0; export DISPLAY

Step 2: Start the Oracle Universal Installer

bash
cd database
./runInstaller

Step 3: Follow the Installation Screens

During the installation, enter the appropriate ORACLE_HOME and name, then continue. The installation progresses through the following screens:

#ScreenPurpose
1Select Installation MethodChoose between Basic and Advanced installation
2Specify Inventory Directory and CredentialsSet the oraInventory location and group
3Select Installation TypeChoose Enterprise, Standard, or Personal Edition
4Install LocationSpecify the ORACLE_HOME and ORACLE_BASE
5Product-Specific Prerequisite ChecksVerify all prerequisites are met
6Select Configuration OptionChoose to create a database or install software only
7Select Database ConfigurationChoose the database template
8Specify Database Configuration OptionsSet the global database name and SID
9Specify Database Configuration DetailsConfigure memory, character set, and security
10Select Database Management OptionChoose between Grid Control and Database Control
11Specify Database Storage OptionChoose between File System and ASM
12Specify Backup and Recovery OptionsEnable or disable automatic backups
13Specify Database Schema PasswordsSet passwords for SYS, SYSTEM, etc.
14Oracle Configuration Manager RegistrationOptionally register with My Oracle Support
15SummaryReview all installation settings
16InstallBegin the installation
17Configuration AssistantsRun post-installation configuration
18Database Configuration AssistantCreate and configure the database
19Database Configuration Assistant SummaryReview the database configuration
20Execute Configuration ScriptsRun the required root scripts
21End of InstallationInstallation complete
22OEM Database Control LoginLog in to Enterprise Manager
23OEM Database ControlManage the database via Enterprise Manager

Phase 7: Post Installation

Edit the /etc/oratab file and set the restart flag for each instance to Y:

text
DB11G:/u01/app/oracle/product/11.1.0/db_1:Y

Purpose: The Y flag enables automatic startup of the database when the server boots, using the dbstart utility.


The Complete Installation Flow

text
┌─────────────────────────────────────────────────────────────────┐
│  1. DOWNLOAD SOFTWARE                                           │
│     Oracle Database 11g Release 1 (11.1) Software               │
└──────────────────────────┬──────────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────────┐
│  2. UNPACK FILES                                                │
│     unzip linux_11gR1_database.zip                              │
└──────────────────────────┬──────────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────────┐
│  3. HOSTS FILE                                                  │
│     Configure /etc/hosts with FQDN                              │
└──────────────────────────┬──────────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────────┐
│  4. SET KERNEL PARAMETERS                                       │
│     /etc/sysctl.conf, /etc/security/limits.conf, SELinux        │
└──────────────────────────┬──────────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────────┐
│  5. SETUP                                                       │
│     Install packages, create groups/users, set environment      │
└──────────────────────────┬──────────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────────┐
│  6. INSTALLATION                                                │
│     ./runInstaller (interactive)                                │
│     Follow installation screens                                 │
│     Run root scripts                                            │
└──────────────────────────┬──────────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────────┐
│  7. POST INSTALLATION                                           │
│     Edit /etc/oratab and set the restart flag to Y              │
└─────────────────────────────────────────────────────────────────┘

Key Configuration Files

FilePurpose
/etc/hostsHostname resolution
/etc/sysctl.confKernel parameters
/etc/security/limits.confUser limits
/etc/pam.d/loginPAM limits configuration
/etc/selinux/configSELinux mode
/home/oracle/.bash_profileOracle environment variables
/etc/oratabDatabase startup configuration

Best Practices

PracticeDescription
Use a Certified OSUse a certified OS version for production
Use Separate Mount PointsMount /u01 on a separate disk
Configure the FirewallInstead of disabling, configure ports (1521, etc.)
Set Secure PasswordsUse strong passwords for SYS, SYSTEM, and other schemas
Patch Before Creating DBApply the latest patches before creating the database
Test the InstallationVerify connectivity and basic operations after installation
Document ConfigurationKeep a record of all parameters and settings
Enable Automatic StartupConfigure /etc/oratab for automatic startup

Troubleshooting Common Issues

IssuePossible CauseSolution
Prerequisite check failsMissing packagesInstall required packages via rpm
Installer won't startDISPLAY not setSet the DISPLAY variable or use X emulation
Root script failsWrong permissionsRun as root and verify paths
Database won't startWrong ORACLE_HOMEVerify environment variables
Memory errorsInsufficient memoryIncrease server memory or reduce SGA
Firewall blocks connectionsFirewall enabledConfigure or disable the firewall
SELinux blocks installationSELinux enabledDisable SELinux and reboot
Kernel parameter errorsWrong sysctl valuesVerify and correct /etc/sysctl.conf

Summary

Installing Oracle Database 11g Release 1 (11.1) on Enterprise Linux 4.5 and 5.0 involves the following key phases:

  1. Download Software: Obtain the Oracle 11g installation media

  2. Unpack Files: Extract the installation files

  3. Hosts File: Configure the server's hostname

  4. Set Kernel Parameters: Configure kernel parameters, user limits, and SELinux

  5. Setup: Install packages, create groups/users, set environment

  6. Installation: Run the Oracle Universal Installer (OUI)

  7. Post Installation: Configure automatic startup via /etc/oratab

Key Points to Remember

  • Oracle Database 11g Release 1 requires specific kernel parameters and user limits

  • SELinux should be disabled during installation

  • The required packages must be installed from the OS installation media

  • The oracle user must be created with the correct groups

  • The environment variables must be set in .bash_profile

  • The Oracle Universal Installer guides you through the installation

  • The root scripts must be run after the installer completes

  • The /etc/oratab file controls automatic startup

Why This Matters

Proper installation and configuration of Oracle Database 11g Release 1 is essential for:

  • Reliable Performance: Correct kernel parameters and user limits ensure optimal database performance

  • Security: Proper user/group setup and SELinux configuration protect the database

  • Manageability: Environment scripts and automatic startup simplify administration

  • Scalability: A well-configured database can handle growing workloads

  • Compatibility: Correct setup ensures compatibility with Oracle E-Business Suite and other applications

By following this guide, you can successfully install Oracle Database 11g Release 1 on Enterprise Linux 4.5 and 5.0, providing a solid foundation for your Oracle applications.


References

  • Oracle Database Documentation: Database Installation Guide for Linux

  • Oracle Database Documentation: Database Administrator's Reference

  • My Oracle Support: Oracle Database 11g Release 1 Certification Matrix

  • Red Hat Enterprise Linux Documentation: RHEL 4 and 5 Installation Guide

  • Related Articles: Oracle Universal Installations (OUI) Silent Installations, Database Configuration Assistant (DBCA): Creating Databases in Silent Mode

No comments:

Post a Comment