Installation of Oracle 10g Release 2 (10.2.0.1.0) on Fedora Core Linux 2, 3, 4, 5, 6 and 7


This paper (HOWTO) describes step-by-step installation of Oracle 10gR2 database software on Fedora core 2, 3 and 4. Note that Fedora Core distribution is not certified by Oracle Corporation.
This article does not cover database creation process, and ASM Instance creation process.

This paper covers following steps:

Pre-Instalation Tasks

1. Create oracle User Account

Login as root and create te user oracle which belongs to dba group.
su -
# groupadd dba
# useradd -g dba oracle

2. Setting System parameters
Edit the /etc/sysctl.conf and add following lines:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
Note: You need reboot system or execute "sysctl -p" command to apply above settings.

Edit the /etc/pam.d/login file and add following line:
session required /lib/security/pam_limits.so

Edit the /etc/security/limits.conf file and add following lines:
oracle    soft  nproc  2047
oracle    hard  nproc  16384
oracle    soft  nofile  1024
oracle    hard  nofile  65536

This step is important for Fedora Core 4 only:
Edit /etc/selinux/config and change value of SELINUX variable to "disabled".
SELINUX=disabled
Note: You need reboot computer to apply above settings.

3. Creating oracle directories
# mkdir /opt/oracle
# mkdir /opt/oracle/10gR2
# chown -R oracle:dba /opt/oracle

4. Setting Oracle Enviroment
Edit the /home/oracle/.bash_profile file and add following lines:
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/10gR2
ORACLE_SID=MY_ORACLE
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

Save the .bash_profile and execute following commands for load new enviroment:
cd /home/oracle
. .bash_profile

Download & Install

1. Download and install required .rpm packages

Some additional packages are required for succesful instalation of Oracle software. To check wheter required packages are installed on your operating system use following command:
rpm -q binutils gcc glibc glibc-headers glibc-kernheaders glibc-devel compat-libstdc++ cpp compat-gcc make compat-db compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel openmotif openmotif21 setarch pdksh libaio libaio-devel
Note: Since FC4 pdksh package was renamed to ksh.

If some package is not installed then install it from installation media or download it from following locations:
Fedora Core 2
Fedora Core 3
Fedora Core 4
Fedora Core 5
Fedora Core 6
Fedora Core 7


Install the required packages using the rpm command:
# rpm -ivh binutils-2.15.94.0.2.2-2.i386.rpm \
compat-libgcc-296-2.96-132.fc4.i386.rpm \
compat-libstdc++-296-2.96-132.fc4.i386.rpm \
compat-libstdc++-33-3.2.3-47.fc4.i386.rpm \
cpp-4.0.0-8.i386.rpm \
gcc-4.0.0-8.i386.rpm \
gcc-c++-4.0.0-8.i386.rpm \
glibc-2.3.5-10.i386.rpm \
glibc-common-2.3.5-10.i386.rpm \
glibc-devel-2.3.5-10.i386.rpm \
glibc-headers-2.3.5-10.i386.rpm \
glibc-kernheaders-2.4-9.1.94.i386.rpm \
ksh-20050202-1.i386.rpm \
libaio-0.3.104-2.i386.rpm \
libaio-devel-0.3.104-2.i386.rpm \
libgcc-4.0.0-8.i386.rpm \
libstdc++-4.0.0-8.i386.rpm \
libstdc++-devel-4.0.0-8.i386.rpm \
make-3.80-7.i386.rpm \
openmotif-2.2.3-10.i386.rpm \
openmotif21-2.1.30-14.i386.rpm \
setarch-1.7-3.i386.rpm \
xorg-x11-deprecated-libs-6.8.2-31.i386.rpm


2. Download the Oracle 10g release 2 (10.2.0.1.0) software from Oracle website.
Extract the files using following command:
unzip 10201_database_linux32.zip

3. Start the Oracle software installation process.

Now the system is prepared for Oracle software installation. To start the installation process execute the following commands:
cd db/Disk1/
./runInstaller

Post-Instalation Tasks

1. Use this step when you will be not running RAC or ASM instance.
su -
# /etc/init.d/init.cssd disable
# /etc/init.d/init.cssd stop


2. (Optional) You may consider to use rlwrap for comfortable work with sqlplus. RPM package for Fedora Core (x86) distribution you can download here.
su -
# rpm -ivh rlwrap-0.24.fedora.i386.rpm
# exit
echo "alias sqlplus='rlwrap sqlplus'" >> /home/oracle/.bash_profile
. /home/oracle/.bash_profile


Common Installation Errors

DISPLAY not set. Please set the DISPLAY and try again.
Solution: Execute "export DISPLAY=:0.0" when you perform installtion on local machine or "export DISPLAY=:0.0 when you perform installation on remote machine connected over SSH". Don't forget to execute "xhost +" command on client machine.

Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2005-07-07_09-40-45AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred.. java.lang.UnsatisfiedLinkError: /tmp/OraInstall2005-07-07_09-40-45AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
Solution: Install the xorg-x11-deprecated-libs RPM package (<=FC4) or libXp package (FC5 and later).

... cannot restore segment prot after reloc: Permission denied
Solution 1: Modify /etc/selinux/config and change value of SELINUX to "disabled" and reboot computer.
Solution 2: Download selinux-policy-targeted-1.25.2-4.noarch.rpm from FC4 location and upgrade existing package.

error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
Solution: Install libaio and libaio-devel packages. If packages already installed and error still occurs try execute "ldconfig" as root.

sed: -e expression #1, char 7: unterminated `s' command error in $ORACLE_HOME/install/make.log
Solution: There is probably bug in bash (FC5 only). Download and install bash package from FC4. I have prepared this p ackage (builded from FC4 src.rpm) for FC5 - Download.
Install it using "rpm -ivh bash-3.0-31.i386.rpm --force".

Check complete. The overall result of this check is: Failed <<<<
Solution: Install missing package or set check system parameters (See reason of failure).


Comments, suggestions, questions, errors (also grammatical :) )? Feel free to contact me.