Oracle 8i | Oracle 9i | Oracle 10g | Oracle 11g | Oracle 12c | Miscellaneous | PL/SQL | SQL | Oracle RAC | Oracle Apps | Linux

Oracle9i (9.2.0.1.0) Installation on RedHat 9.0 Linux

This article is intended as a brief guide to installing Oracle9i (9.2.0.1.0) on RedHat 9.0 Linux. For additional information and platform variations read the Installation Guide for UNIX Systems.

Download Software

Download Sun's Java Development Kit (JDK 1.3.1) if you can still find it.

Download the Oracle installation files from Oracle Technology Network.

Unpack Files

First unzip the files.

gunzip lnx_920_disk1.cpio.gz
gunzip lnx_920_disk2.cpio.gz
gunzip lnx_920_disk3.cpio.gz

Next unpack the contents of the files.

cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio

You should now have three directories (Disk1, Disk2 and Disk3) containing installation files.

Some sources suggest loading the following compatibility libraries but I've not found this to be necessary.

compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm

These files can be found in the RPMS directories of CD1 and CD2 of the RedHat installation media.

Set Kernel Parameters

The following table contains minimum kernel settings. If the current settings exceed these figures then do not alter them.

Parameter Minimum Setting
SEMMNI 100
SEMMNS 256
SEMOPM 100
SEMMSL 100
SHMMAX 2147483648
SHMMIN 1
SHMMNI 100
SHMSEG 4096
SHMVMX 32767

The current semaphore settings can be viewed using the following command.

cat /proc/sys/kernel/sem

250 32000 32 128

The values listed are for the SEMMSL, SEMMNS, SEMOPM, and SEMMNI parameters. The adjusted values can be set using this.

# echo SEMMSL_value SEMMNS_value SEMOPM_value SEMMNI_value > /proc/sys/kernel/sem
echo 250 32000 100 128 > /proc/sys/kernel/sem

The shared memory settings can be viewed using the following command.

cat shared_memory_parameter

The values can be set using this.

echo 2147483648 >  /proc/sys/kernel/shmmax

Set the File Handles, Sockets and Process limit using this.

echo 65536 > /proc/sys/fs/file-max
ulimit -n 65536
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
ulimit -u 16384

The necessary parameter changes can be combined in a script and run during system startup.

echo 250 32000 100 128 > /proc/sys/kernel/sem
echo 65536 > /proc/sys/fs/file-max
ulimit -n 65536
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
ulimit -u 16384

Alternatively the following lines can be added to the "/etc/sysctl.conf" file.

kernel.shmmax = 2147483648
kernel.shmmni = 128
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

In addition the following lines can be added to the "/etc/security/limits.conf" file.

oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

Adding lines into these files requires a reboot before they take effect.

Setup

Install the Java development kit.

tar -xvjf j2sdk-1.3.1-FCS-linux-i386.tar.bz2 -C /usr/local/

Create the new groups and users.

groupadd oinstall
groupadd dba
groupadd oper
groupadd apache

useradd -g oinstall -G dba oracle
passwd oracle

useradd -g oinstall -G apache apache
passwd apache

Create the directories in which the Oracle software will be installed.

mkdir -p /u01/app/oracle/product/9.2.0.1.0
chown -R oracle.oinstall /u01

Login as root and issue the following command.

xhost +<machine-name>

Login as the oracle user and add the following lines at the end of the ".bash_profile" file.

# Oracle 9i
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/9.2.0.1.0; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:$PATH:/usr/local/java131/bin; export PATH
ORACLE_OWNER=oracle; export ORACLE_OWNER
ORACLE_SID=TSH1; export ORACLE_SID

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

LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL
THREADS_FLAG=native; export THREADS_FLAG
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

Save the ".bash_profile" file and re-login as the oracle user. Make sure the ".bash_profile" ran correctly by issuing the following command.

set | more

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 Disk1 directory.

./runInstaller

Continue with the installation as normal.

The installation will produce two errors.

Ignore the first error as we will fix this in the post installation step.

When the second error occurs open up a new console, login as the oracle user and execute the following commands.

cd $ORACLE_HOME/install
tail make.log

You will see a line like this.

gcc -o ctxhx -L/u01/app/oracle/product/9.2.0.1.0/ctx/lib/ -L/u01/app/oracle/product/9.2.0.1.0/lib/
-L/u01/app/oracle/product/9.2.0.1.0/lib/stubs/ /u01/app/oracle/product/9.2.0.1.0/ctx/lib/ctxhx.o
-L/u01/app/oracle/product/9.2.0.1.0/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
-lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/u01/app/oracle/product/9.2.0.1.0/ctx/lib -lnls9
-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9

Copy this line, add -ldl at the end and run it in the "$ORACLE_HOME/bin" directory.

cd $ORACLE_HOME/bin
gcc -o ctxhx -L/u01/app/oracle/product/9.2.0.1.0/ctx/lib/ -L/u01/app/oracle/product/9.2.0.1.0/lib/
-L/u01/app/oracle/product/9.2.0.1.0/lib/stubs/ /u01/app/oracle/product/9.2.0.1.0/ctx/lib/ctxhx.o
-L/u01/app/oracle/product/9.2.0.1.0/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
-lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/u01/app/oracle/product/9.2.0.1.0/ctx/lib -lnls9
-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -ldl

Once this is complete click the ignore button on the error dialog and continue with the installation.

During the configuration steps you may be informed that the agent failed to start. Ignore this error as we will fix it in the post installation step.

Post Installation

Open up a console, login as the oracle user and execute these lines.

cd $ORACLE_HOME/network/lib
make -f ins_net_client.mk install

Then edit the "$ORACLE_HOME/ctx/lib/ins_ctx.mk" file, changing lines 13-14.

# From this

ctxhx: $(CTXHXOBJ)
$(LINK) $(CTXHXOBJ) $(INSO_LINK)

# To this

ctxhx: $(CTXHXOBJ)
$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)

The execute the following command.

make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install

The agent can now be started using this.

/u01/app/oracle/product/9.2.0.1.0/bin/agentctl start

Edit the "/etc/oratab" file setting the restart flag for each instance to 'Y'.

TSH1:/u01/app/oracle/product/9.2.0.1.0:Y

For more information see:

Hope this helps. Regards Tim...

Back to the Top.