Friday, September 12, 2008

Oracle Database 11g Release 1 (11.1) Installation On Fedora 7 (F7)

This article describes the installation of Oracle Database 11g Release 1 (11.1) on Fedora 7 (F7). The article is based on a server installation with a minimum of 2G swap, secure Linux disabled and the following package groups installed:
  • GNOME Desktop Environment
  • Editors
  • Graphical Internet
  • Development Libraries
  • Development Tools
  • Server Configuration Tools
  • Administration Tools
  • Base
  • System Tools
  • X Window System

An example of this type of Linux installation can be seen here. Alternative installations may require more packages to be loaded, in addition to the ones listed below.

Download Software

Download the following software:

Unpack Files

Unzip the files:
unzip linux_11gR1_database.zip
You should now have a single directory called "database" containing installation files.

Hosts File

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

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

Set Kernel Parameters

Oracle recommend the following minimum parameter settings:

kernel.shmall = 2097152
kernel.shmmax = 2147483648 # Smallest of -> (Half the size of the 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
The current values can be tested using the following command:

/sbin/sysctl -a  grep <param-name>
For Fedora 7, the following lines should be appended to the "/etc/sysctl.conf" file.

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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
Run the following command to change the current kernel parameters:
/sbin/sysctl -p
Add the following lines to the /etc/security/limits.conf file:

oracle              soft    nproc   2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Add the following line to the /etc/pam.d/login file, if it does not already exist:
session    required     /lib/security/pam_limits.so
session required pam_limits.so
Disable secure linux by editing the /etc/selinux/config file, making sure the SELINUX flag is set as follows:

SELINUX=disabled
Alternatively, this alteration can be done using the GUI tool (System > Administration > Firewall and SELinux). Click on the SELinux tab and disable the feature.

Setup

Install the following packages:

# From Fedora 7 DVD
cd /media/cdrom/Fedora
rpm -Uvh binutils-2.*
rpm -Uvh elfutils-libelf-0.*
rpm -Uvh glibc-2.*
rpm -Uvh glibc-common-2.*
rpm -Uvh libgcc-4.*
rpm -Uvh libstdc++-4.*
rpm -Uvh make-3.*
rpm -Uvh elfutils-libelf-devel-0.*
rpm -Uvh glibc-devel-2.*
rpm -Uvh gcc-4.*
rpm -Uvh gcc-c++-4.*
rpm -Uvh libstdc++-devel-4.*
rpm -Uvh unixODBC-2.*
cd /
eject

# Not available on Fedora 7 DVD, but available from standard yum repository.
yum install libaio libaio-devel
yum install unixODBC-devel
yum install sysstat
Create the new groups and users:
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin

useradd -g oinstall -G dba,oper,asmadmin oracle
passwd oracle
Note. We are not going to use th "asmadmin" group, since this installation will not use ASM.

Create the directories in which the Oracle software will be installed:
mkdir -p /u01/app/oracle/product/11.1.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01
Login as root and issue the following command:
xhost +<machine-name>
Edit the /etc/redhat-release file replacing the current release information (Fedora release 7 (Moonshine)) with the following:

redhat release 5
Login as the oracle user and add the following lines at the end of the .bash_profile file:

# 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

Installation

Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:

DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the database directory:

./runInstaller
During the installation enter the appropriate ORACLE_HOME and name then continue installation. Some of the prerequisite checks will not complete due to this not being a supported Linux distribution. Check each of these prerequisites to set them to "User Verified" then you can proceed. For a more detailed look at the installation process, click on the links below to see screen shots of each stage.
  1. Select Installation Method
  2. Specify Inventory Directory and Credentials
  3. Select Installation Type
  4. Install Location
  5. Product-Specific Prerequisite Checks
  6. Select Configuration Option
  7. Select Database Configuration
  8. Specify Database Configuration Options
  9. Specify Database Configuration Details
  10. Select Database Management Option
  11. Specify Database Storage Option
  12. Specify Backup and Recovery Options
  13. Specify Database Schema Passwords
  14. Oracle Configuration Manager Registration
  15. Summary
  16. Install
  17. Configuration Assistants
  18. Database Configuration Assistant
  19. DatabaseConfiguration Assistant Summary
  20. Execute Configuration Scripts
  21. End of Installation
  22. OEM Database Control Login
  23. OEM Database Control


Post Installation

Edit the /etc/redhat-release file restoring the original release information:

Fedora release 7 (Moonshine)
Edit the /etc/oratab file setting the restart flag for each instance to 'Y':

DB11G:/u01/app/oracle/product/11.1.0/db_1:Y
For more information see:


Hope this helps. Regards Tim...

No comments: