Setting up Oracle 8i

tested on Redhat Linux 6.2 (not RHEL…)

Introduction

we’re assuming a running Redhat 6.2 host, with at least 425MB of RAM (8i Enterprise), twice the swap space and eventually a quite large /u01/ mount point. You’ll need the following:

Download

get Oracle 8i from there

Index of /linux/apps/oracle/8.1.7 http://openstorage.gunadarma.ac.id/linux/apps/oracle/8.1.7/

and some old JDK from there

Java SE 1.2 Downloads http://java.sun.com/products/archive/j2se/1.2.2_017/index.html https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html https://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase12-419414.html

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 zootfix2/RedHat/RPMS/
#cd /mnt/cdrom/RedHat/RPMS/

rpm --ignorearch -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

send those tarballs through FTP to the server as oracle user. note this is jdk 1.2.2 and not 1.1.8.

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

check that transfers went fine

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

bb6cee85bd78c91cfd4d02224b99adc5  linux81701.tar
31b43e0da46d0d7f2b04d2d78f21a8cc  jdk-1_2_2_017-linux-i586.tar.gz

Java 1.2

still from the root shell, go to oracle’s homedir and install Java

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

Oracle installation

connect as oracle user and proceed with the Oracle installation

cd ~/
vi .bashrc

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

send the Oracle tarballs through FTP (there’s nothing else anyway)

on the RH62 server

vi /etc/inetd.conf

ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  in.ftpd -l -a

service inet reload

from your workstation

ftp x.x.x.ORACLE
oracle
PASSWORD
bin
put jdk-1_2_2_017-linux-i586.tar.gz
put linux81701.tar

extract the Oracle 8i archive and install

back to the server and as oracle user

rsh -l oracle SERVER-ADDRESS

cd ~/
tar xf linux81701.tar
rm -f linux81701.tar
cd Disk1/
export DISPLAY=WORKSTATION-ADDRESS: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

we are avoiding the installation of a starter database, as it shows some errors regarding /usr/X11R6/lib/libXt.so.6. therefore we choose Minimal.

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. you will see a few errors but it seems the root.sh script works anyway

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

Patching

apply Oracle patches

as oracle user

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

cd $ORACLE_HOME/bin/
mv oidadmin oidadmin.dist
cp ~/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

enable at boot-time

vi /etc/rc.d/rc.local

su - oracle -c "/u01/ora8i/bin/lsnrctl start"

DBA

running the database assistant

Launch the database assistant

cd ~/
export DISPLAY=192.168.227.1:0
dbassist

Note password defaults

SYS default password: change_on_install
SYSTEM default password: manager 

manually

database creation

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

create a user for the db to be accessed remotely

create user pierre identified by cleartext123;
grant create session to pierre;  

SQL*Plus

see sqlplus

Troubleshooting

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.

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

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;

Additional notes

x11 connection issues

troubleshoot remote X as root

tcpdump -i eth0 dst host x.x.x.CLIENT and src port not login

prepare modern workstation as an old-school X server

vi /etc/X11/xinit/xserverrc

exec /usr/bin/X -listen tcp "$@"

vi /etc/lightdm/lightdm.conf.d/70-linuxmint.conf

[Seat:*]
autologin-guest=false
autologin-user=ubuntu
autologin-user-timeout=0
autologin-session=lightdm-autologin
xserver-allow-tcp=true
xserver-command=X -listen tcp

service lightdm restart

re-login, check and allow

netstat -nltp
iptables -I INPUT -p tcp --dport 6000 -j ACCEPT

then check from rsh

export DISPLAY=x.x.x.x:0.0
xclock

and if getting

Xlib: connection to "x.x.x.x:0.0" refused by server
Xlib: No protocol specified

Error: Can't open display: x.x.x.x:0.0

allow remote hosts

xhost +

from scratch

if you ever need to restart from scratch again and assuming no database is running

as oracle user

cd ~/
ps auxfw
lsnrctl stop
rm -rf admin/ doc/ jre/ ora8i/ oraInventory/ oui/

TODO

parallel server

if you want a custom installation (this doesn’t install the starter database either). yes, a 8i database can run on a cluster

installation type : custom 

--> and eventually add oracle parallel server
--> add oracle8i for unix documentation
JRE to be installed: /u01/jre/1.1.8

slackware

Oracle 8.1.7 for Linux Slackware 7.1 Installation successful in spite of hard-coded https://community.oracle.com/tech/developers/discussion/41188/oracle-8-1-7-for-linux-slackware-7-1-installation-successful-in-spite-of-hard-coded

freebsd

Oracle 8i on FreeBSD 5.1 https://lists.freebsd.org/pipermail/freebsd-questions/2004-October/062958.html

Default Oracle 8i on FreeBSD https://web.archive.org/web/20130522045237/http://www.justskins.com/forums/oracle-8i-on-freebsd-123877.html

Oracle 8i on FreeBSD - Oracle Server https://web.archive.org/web/20190413103344/http://www.justskins.com/forums/oracle-8i-on-freebsd-123877.html

Installing Oracle9i on FreeBSD http://www.shadowcom.net/freebsd-oracle9i/

oracle 7

Oracle for LINUX and FreeBSD FAQ http://www.blacksheepnetworks.com/security/resources/oracle/faqlinux.htm

Oracle on FreeBSD https://web.archive.org/web/20021004080757/http://twister.pp.ru/ora-fbsd/

Resources

My Oracle Support https://support.oracle.com/

Oracle Software Delivery Cloud https://edelivery.oracle.com/

Oracle8 i 8.1.7 Documentation https://www.oracle.com/technetwork/documentation/oracle8i-085806.html

Oracle8 i Release 8.1.6 Documentation https://www.oracle.com/technetwork/apps-tech/oracle8i-arch-816-101029.html

Oracle8i release 3 (8.1.7) on RedHat 9 http://www.orafaq.com/wiki/Oracle8i_release_3_(8.1.7)_on_RedHat_9

tutorials from the past

Installing and Configuring Oracle on the Linux Platform https://web.archive.org/web/20161219072242/http://www.dbspecialists.com/files/presentations/oracle817linux.html

Install Oracle8i on Red Hat Linux 7.1 - 7.2 https://web.archive.org/web/20170624022335/http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/LINUX_2.shtml

Oracle https://web.archive.org/web/20150902195825/http://uw714doc.sco.com/en/LX_uw/LKP_oracle.html

Quick start on Oracle8i & Solaris http://www.bolthole.com/solaris/oracle.html

Oracle 8i on Linux RH7.X Installation HOWTO http://www.faqs.org/docs/Linux-HOWTO/Oracle8-on-RH7X-HOWTO.html

Short Guide to install Oracle 8.1.7 on SUN Solaris 2.6, 7, 8 http://www.akadia.com/services/ora_sol_install.html

Installing Oracle 8i Database on Gentoo install_oracle8_gentoo.doc http://bugs.gentoo.org/attachment.cgi?id=28976

(dead and no archive found) http://alife.tw/ITTools/oracle-install_KevinNotes.htm

\3. Installing Oracle 8i, version 8.1.7 http://tldp.org/HOWTO/Oracle8-on-RH7X-HOWTO-3.html

在Redhat 9上安装 Oracle 817心得 http://wenku.it168.com/d_000076940.shtml

INSTALL ORACLE8I https://web.archive.org/web/20161102124219/http://www.brnic.eu:80/install-oracle8i/

Installing Oracle 8.1.7 - ADU style http://www.aduni.org/courses/web/courseware/handouts/Oracle_Installation_Instructions.html

(gone and no archive found) https://bbs.aliyun.com/simple/t393855.html

Catégories // Oracle http://www.davidgis.fr/blog/index.php?Compilation-de-l-extension-oci8-oracle-avec-php

Oracle 8.1.7.0.1 for RedHat Linux 6.2 http://www.ccl.net/pub/chemistry/software/UNIX/oracle/RH6.2/

Install oracle 8.1.7.0.4 on Redhat Advanced server 2.1 http://www.itpub.net/thread-143652-1-1.html

x11

How to make X.org listen tcp port to remote connections? [duplicate] https://askubuntu.com/questions/615139/how-to-make-x-org-listen-tcp-port-to-remote-connections

How to make X.org listen to remote connections on port 6000? https://askubuntu.com/questions/34657/how-to-make-x-org-listen-to-remote-connections-on-port-6000/34663

Ubuntu 16.04 LTS - how is the X server started? https://askubuntu.com/questions/937097/ubuntu-16-04-lts-how-is-the-x-server-started/937100

dba

Oracle Users https://docs.oracle.com/cd/F49540_01/DOC/server.815/a67772/users.htm#776