Quick start on Oracle8i & Solaris

The oracle documentation for installs is horrendous. So is the install
proceedure. There are a lot of steps that oracle could have automated, but
didn't. So here's a very simple checklist of how to get oracle running on
solaris. (There are also a few random oracle tips at
the bottom)

This page assumes you want an oracle install on a SINGLE DISK, with minimum
memory, to just play around with oracle and learn the basics.

[A "real" installation of oracle would distribute data, indexes, and logs
to separate disks. Which CAN be done after doing an initial install as
detailed on this page. But
details on tuning would make this page way longer than it already is.]

WARNING!!!
I strongly advise that you dont try to run oracle with less than 256 megs
of RAM.
Oracle took a page from microsoft documentation when it claimed you only
need 128megs to run it.

That creates the basic oracle account, and the top level dir.
Use the oinstall group for folks you want to install
additional oracle software. Use the dba group for folks you
want to have DBA SQL access to the database (when locally logged on)

Now you need to fill out the .profile for the oracle account.
In ~oracle/.profile, put

export ORACLE_BASE ORACLE_HOME ORACLE_SID DISPLAY LD_LIBRARY_PATH PATH
ORACLE_BASE=$HOME
# change 8.1.5 if you are installing a different release of oracle!!
ORACLE_HOME=$ORACLE_BASE/software/8.1.5
LD_LIBRARY_PATH=/usr/lib:/usr/dt/lib:/usr/openwin/lib:$ORACLE_HOME/lib
PATH=/usr/bin:/usr/dt/bin:/usr/openwin/bin:$ORACLE_HOME/bin
# This is where you pick the name of your database!!!
# Make it 8 letters or less
ORACLE_SID=ORCLTST

Random file permissions

Oracle will unfortunately make you stop halfway through the install and run
a dynamically generated "root.sh" script. Multiple times, actually.
If you want to test ahead of time that you have created the accounts correctly (A Good Idea),
you can do part of the usual script by hand now:

(Note: root.sh SHOULD make the above soft-link, but doesnt. So make it!)

Another thing the root scripts will do, is install three special utility
scripts in /usr/local/bin (or whereever you tell it to):

oraenv - set ENV vars for sh derivatives

coraenv - set ENV vars for csh derivatives

dbhome - give you the location to set $ORACLE_HOME to

Reboot

Yes, REBOOT!!!
This is to let the changes in /etc/system take effect.

Run the install

Log in under CDE/X/openwin or whathaveyou as oracle. Insert the main oracle
cd, and 'cd' to /cdrom/cdrom0. Run './runInstaller'.
If this doesnt work, you have the "wrong" cdrom. Switch to the OTHER oracle
software cdrom. (A problem with the oracle-distributed solaris x86 box set)

You should then basically be able to accept the default to all the
questions, and much, much later, have oracle installed.

More file permissions

You probably also want to allow ALL folks to see and link to the oracle
libraries! Start with

chmod 0755 $ORACLE_HOME/lib

Run the same chmod command on any other lib directories as needed.

Auto-starting oracle

Oracle does NOT create a boot-time auto-start script. Here's an easy way to
make one. First of all, you must edit /var/opt/oracle/oratab
and change 'N' to 'Y' for the database you want to autostart. Then create
the following file as /etc/init.d/oracle

[This item under construction/research]
"filesystemio_options=set all" in init.ora, for oracle8.1.7 if using
ufs+forcedirectio. Gives you asyncIO on the filesystem. (I think).
See also "disk_async_io=true".
Supposedly, true is the default in 8.1.7

GUI tools under UNIX

Or as a simpler (but more memory-intensive) alternative, try
DB Visualizer,
(previously at
www.minq.se)
which is written in java, and pretty much always works.
(whereas you may or may not have trouble getting other third-party stuff to
talk to oracle across a network)
Note that if you specifically want to use the oracle jdbc drivers,
configure the classpath for $ORACLE_HOME/jdbc/lib/classes_12.zip