Install Oracle9i(9.2.0.4) on Fedora Core 3
I. Prepare the files
1. Download ship_9204_linux_disk1.cpio.gz, ship_9204_linux_disk2.cpio.gz ship_9204_linux_disk3.cpio.gz from www.oracle.com to your local disks.Unzip them all.
gunzip ship_9204_linux_disk1.cpio.gz
gunzip ship_9204_linux_disk2.cpio.gz
gunzip ship_9204_linux_disk3.cpio.gz
cpio -idmv < ship_9204_linux_disk1.cpio
cpio -idmv < ship_9204_linux_disk2.cpio
cpio -idmv < ship_9204_linux_disk3.cpio
there will be three new sub-directories named Disk1,Disk2,Disk3 in the directory.
2. Copy compat-gcc-7.3-2.96.128.i386.rpm, compat-gcc-c++-7.3-2.96.128.i386.rpm, compat-libstdc++-7.3-2.96.128.i386.rpm, compat-libstdc++-devel-7.3-2.96.128.i386.rpm from Red Hat EL AS3 installation CDs to a temporary directory.
3. Make a script file named rhel3_pre_install.sh with the following content:
#!/bin/bash
USER=`whoami`
if [ $USER != root ]; then
echo "Must be root to run this script, please login as root and re-try"
exit
fi
# see if libcwait.so is already being loaded
if [ -f "/etc/ld.so.preload" ] && [ -n "`grep libcwait /etc/ld.so.preload`" ]; then
echo "Patch has already been applied"
exit
else
echo "Applying patch..."
fi
cat << EOF |
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
pid_t
__libc_wait (int *status)
{
int res;
asm volatile ("pushl %%ebx\n\t"
"movl %2, %%ebx\n\t"
"movl %1, %%eax\n\t"
"int \ $0x80\n\t"
"popl %%ebx"
: "=a" (res)
: "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S" (0));
return res;
}
EOF
gcc -O2 -shared -fpic -xc - -o /etc/libcwait.so
echo "/etc/libcwait.so" >>/etc/ld.so.preload
echo "Patch successfully applied"
Change the file property to executable. Open a terminal, do it as ‘root’ user.
sh rhel3_pre_install.sh
II. Prepare the system
1. Check if the following rpms have been installed.
rpm –qa | grep compat-db
rpm –qa | grep openmotif
rpm –qa | grep setarch
make sure they are installed exactly.
2. Install the four rpms copy out from RHEL AS3.Do the following command in the directory which contains them.
rpm –Uvh com*rpm --force
check them by rpm –qa | grep compat
make sure they are installed exactly.
3. Change the gcc to oracle required
mv /usr/bin/gcc /usr/bin/gcc34
mv /usr/bin/g++ /usr/bin/g++34
ln -s /usr/bin/gcc296 /usr/bin/gcc
ln -s /usr/bin/g++296 /usr/bin/g++
4. Modify /etc/sysctl.conf, add the following content:
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
If you have more then 2G ram, you can set kernel.shmmax = 2147483648
5. Modify /etc/security/limits.conf, add the following content:
oracle soft nofile 65536
oracle hard nofile65536
oracle soft nproc 16384
oracle hard nproc 16384
then, restart the computer.
III. Prepare the user and the directories
1. Add user and groups
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
2. Make directories
mkdir -p /opt/ora9/product/9.2
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chown -R oracle.oinstall /opt/ora9
chmod 755 /var/opt/oracle
3. Change X unlimited to anyone
xhost +
4. set the ‘root’ user’s environment
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
5. open a new terminal
su – oracle
modify the .bashrc, add the following content:
#oracle 9i
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH= $ORACLE_HOME/bin: $ORACLE_HOME/Apache/Apache/bin: $PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9
export ORACLE_TERM=vt100
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib: $LD_LIBRARY_PATH
# change this NLS settings to suit your country:
# example:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
export LANG=en_US
export LC=en_US
then refresh the environment: source .bashrc
check if them take effect. set | more
6.logout and relogin as ‘oracle’.
IV. Finish the installation.
Change the current directory to which you download the oracle9i installation files.
./Disk1/runInstaller
Good luck!