this is obsolete doc -- see http://doc.nethence.com/ instead

Oracle 8i installation (Redhat 6.2) 

 

http://pbraun.nethence.com/doc/sysutils_linux/redhat62.html 

http://pbraun.nethence.com/oracle/oracle8i.html 

 

 

Introduction 

We're assuming a running Redhat 6.2 host (http://pbraun.nethence.com/doc/sysutils_linux/redhat62.html), with at least 425MB of RAM (8i Enterprise) and twice the swap space. 

 

You'll need the following: 

- Redhat 6.2 cdrom, iso or nfs share for additional packages 

- Oracle 8.1.7 cdrom, iso or archive 

- Sun JDK 1.2.2 for linux (not 1.1.8) 

 

 

Requirements 

Needed system specifications: 

- at least 425MB of RAM 

- at least twice the swap space (at least 850MB) 

- recommended quite large /u01 mount point 

 

 

System preparation 

Create the Oracle groups and users so we can connect through telnet (assuming /u01/ already exists), 

cd ~/
groupadd oinstall
groupadd dba
useradd -d /u01 -g oinstall -G dba oracle
passwd oracle

fix the permissions, 

cd /
chown oracle:oinstall u01/
chown oracle:oinstall u01/.bash*
chmod 750 u01/
chmod 640 u01/.bash*

 

Install X libs, make, and egcs, 

cd /mnt/cdrom/RedHat/RPMS/
rpm -ivh \
XFree86-3.3.6-20.i386.rpm \
XFree86-libs-3.3.6-20.i386.rpm \
XFree86-xfs-3.3.6-20.i386.rpm \
make-3.78.1-4.i386.rpm \
egcs-1.1.2-30.i386.rpm \
cpp-1.1.2-30.i386.rpm \
glibc-devel-2.1.3-15.i386.rpm \
kernel-headers-2.2.14-5.0.i386.rpm

and check for needed executables, 

which xclock
which make
which ar
which ld
which nm
which gcc

 

Connect to the server as 'oracle' user through FTP and send those to e.g. ~/tp/, 

jdk-1_2_2_017-linux-i586.tar.gz
linux81701.tar

Note. jdk 1.2.2 (http://java.sun.com/products/archive/j2se/1.2.2_017/index.html) not 1.1.8 

 

Still from the root shell, go to oracle's homedir and install Java, 

cd ~oracle/tp/
tar xzf jdk-1_2_2_017-linux-i586.tar.gz
cd /usr/local/
ln -s jdk1.2.2 java

 

 

Oracle installation 

Connect as oracle user and proceed with the Oracle installation, 

cd ~/
vi .bashrc

add, 

unset USERNAME
ORACLE_BASE=/u01
JAVA_HOME=/usr/local/java
LC_ALL=C
LANG=C
NLS_LANG=American_America.UTF8
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORACLE_BASE JAVA_HOME LC_ALL LANG NLS_LANG ORA_NLS33

 

ORACLE_HOME=/u01/ora8i
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_HOME PATH

apply (bash_profile loads bashrc) and check, 

source .bash_profile
echo $NLS_LANG

 

Extract the Oracle 8i archive and install, 

cd ~/tp/
tar xf linux81701.tar
rm -f linux81701.tar
cd Disk1/
export DISPLAY=192.168.227.1:0
xclock
./runInstaller

proceed e.g., 

dest path: /u01/ora8i
unix group name: oinstall

execute the root script as root, 

cd /u01/ora8i/
./orainstRoot.sh

press Retry to continue, 

Oracle8i Enterprise Edition
installation type: minimal
JDK home: /usr/local/java
install starter database: no

when done a popup will ask you to execute the final root script, 

cd /usr/local/bin/
ln -s /bin/sed
cd /u01/ora8i/
./root.sh

Note. you will see a few errors but it seems the 'root.sh' script works anyway 

Note. if you want a custom installation (doesn't install the starter database either), 

  Installation type : custom 

  . eventually add oracle parallel server (yes, a 8i database can run on a cluster)
  . add oracle8i for unix documentation
JRE to be installed: /u01/jre/1.1.8

 

 

Patching 

As oracle user, apply Oracle patches, 

cd $ORACLE_HOME/network/lib/
ll libnldapj8.so
cp ~/tp/Disk1/patch/bug1542738/libnldapj8.so ./
chmod 644 libnldapj8.so

 

cd $ORACLE_HOME/bin/
mv oidadmin oidadmin.dist
cp ~/tp/Disk1/patch/bug1542738/oidadmin ./
chmod 755 oidadmin

 

 

Enabling the listener 

If you made a custom installation, you need to configure the listener yourself, otherwise OUI made if for you. In the former case, start the network assistant, 

netasst

and configure a listener, 

Listeners > +
Listening locations > add address
tcp/ip
oracle8i.example.net
port 1521

 

Anyway you can now start the listener, 

netstat -an --inet | grep 1521
lsnrctl start
netstat -an --inet | grep 1521

 

 

Running the database assistant 

Launch the database assistant, 

cd ~/
export DISPLAY=192.168.227.1:0
dbassist

Note. SYS default password: change_on_install 

Note. SYSTEM default password: manager 

 

Note. if you get one of those errors, 

SIGSEGV received at befffa34 in /usr/X11R6/lib/libXt.so.6. Processing terminated
SIGSEGV  befffa34 /usr/X11R6/lib/libXt.so.6. Error
SIGSEGV received befff9e0 in /lib/libc.so.6 Error

make sure you're using the 1.2.2 jdk instead of 1.1.8 

 

Note. if you get the jnls error, 

JNLS Exception:oracle.ntpg.jnls.JNLSException Unable to find any National Character Sets.

make sure you're using the 1.2.2 jdk instead of 1.1.8 

 

Note. if you get the libc error, 

SIGSEGV received at befff9e0 in /lib/libc.so.6. Processing terminated

make sure LC_ALL and LANG are defined (as shown above with our .bashrc examples). 

 

Note. no need to change /usr/local/java/bin/jre:THREADS_TYPE=native_threads 

Note. no need for LD_ASSUME_KERNEL=2.2.5 

 

 

Ready to go 

Connect to your database, 

export ORACLE_SID=dbname
sqlplus /nolog
connect / as sysdba
show sga;

 

 

Miscellaneous 

Note. if you ever need to restart from scratch again, as oracle user, 

cd ~/
# (assuming no database is running)
lsnrctl stop
rm -rf *

 

 

References 

http://www.dbspecialists.com/files/presentations/oracle817linux.html 

http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/LINUX_2.shtml 

http://uw714doc.sco.com/en/LX_uw/LKP_oracle.html 

http://www.bolthole.com/solaris/oracle.html 

http://www.faqs.org/docs/Linux-HOWTO/Oracle8-on-RH7X-HOWTO.html 

http://www.akadia.com/services/ora_sol_install.html 

http://bugs.gentoo.org/attachment.cgi?id=28976 

http://alife.tw/ITTools/oracle-install_KevinNotes.htm