mirror of https://github.com/tLDP/LDP
523 lines
14 KiB
Plaintext
523 lines
14 KiB
Plaintext
<!doctype linuxdoc system>
|
|
|
|
<article>
|
|
|
|
<title>Oracle 8i on Linux RH7.X Installation HOWTO
|
|
<author>Krastio Atanassov <tt/<st201789@educ.di.unito.it>/ ,
|
|
and Luca Roversi <tt/<roversi@di.unito.it>/
|
|
<date>v0.1, 2002-07-15
|
|
|
|
<abstract>
|
|
Following this HOWTO you should be able to get "Oracle 8i, version 8.1.7,
|
|
Enterprise Edition for Linux" installed on a RedHat 7.X distribution
|
|
(and, we hope, on distributions based/derived from it.) You will
|
|
also have some few hints at how to create a database.
|
|
We decide to write this notes because we did not manage to get through the
|
|
installation, simply following the already existing
|
|
"Oracle 8 for Linux" HOWTOs,
|
|
and Oracle documentation and we found people on the net experiencing our
|
|
problems.
|
|
</abstract>
|
|
|
|
<toc>
|
|
|
|
<sect>Introduction
|
|
|
|
<sect1>What's in here?
|
|
<p>
|
|
A sequence of steps that brought us to let Oracle 8i,
|
|
and Linux RedHat 7.2 working together.
|
|
|
|
<sect1>Who is this HOWTO for?
|
|
<p>
|
|
This document is for people who want to install Oracle 8i
|
|
version 8.1.7 Enterprise edition on Linux RedHat 7.2. At the time Luca
|
|
Roversi tried to combine the twos, he could only find people on the net who was
|
|
wandering why previous HOWTOs could not lead them to a successful installation.
|
|
|
|
We have not yet realized the points where this HOWTO substantially differs from
|
|
previous HOWTOs on the same subject; however, it lists operations that seems to
|
|
be correct.
|
|
|
|
<sect1>Current versions of this document
|
|
<p>
|
|
The web site where this document can be found is:
|
|
<url name="author's web site"
|
|
url="http://www.di.unito.it/~rover/LOCAL-HOWTOS/">
|
|
|
|
<sect1>Disclaimer
|
|
<p>
|
|
You get what you pay for. We offer no warranty of any kind, implied or
|
|
otherwise. May be we shall help you where we can, but, legally, you are
|
|
on your own.
|
|
|
|
<sect1>Credits and Thanks
|
|
<p>
|
|
This HOWTO has been written by Krastio Atanassov and Luca Roversi.
|
|
The very first version could not have been created without the initial
|
|
support the second author obtained from various mailing lists.
|
|
|
|
Also, the very first revision was written exploiting
|
|
Stephen Darlington's <tt/<stephen@zx81.org.uk>/
|
|
"Oracle for Linux Installation HOWTO" sgml source as a template.
|
|
|
|
We welcome any constructive feedback on this HOWTO and any general
|
|
Linux or Oracle issues. Email us at
|
|
<url url="mailto:st201789@educ.di.unito.it" name="st201789@educ.di.unito.it">
|
|
or/and
|
|
<url url="mailto:roversi@di.unito.it" name="roversi@di.unito.it">.
|
|
|
|
<sect1>License
|
|
<p>
|
|
This document is copyright 2002 Krastio Atanassov and Luca Roversi.
|
|
|
|
<p>
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
under the terms of the
|
|
<url url="http://www.gnu.org/copyleft/fdl.html"
|
|
name="GNU Free Documentation License">, Version 1.1 or any
|
|
later version published by the Free Software Foundation.
|
|
|
|
<sect>Starting off
|
|
<sect1>Prerequisites
|
|
<p>
|
|
At least 800M free on your hard disk. Type:
|
|
|
|
<verb>
|
|
bash$ df -h
|
|
Filesystem Size Used Avail Use% Mounted on
|
|
/dev/hda2 5.3G 3.6G 1.4G 72% /
|
|
</verb>
|
|
|
|
and read the field Avail.
|
|
|
|
<sect2>Hardware
|
|
<p>
|
|
The steps we are going to describe allow to have Oracle 8i, version 8.1.7
|
|
running on:
|
|
<itemize>
|
|
<item>
|
|
a laptop Toshiba Satellite 2800-100 with 128Mb RAM and a 600 Mhz Intel Celeron;
|
|
<item>
|
|
others ....
|
|
</itemize>
|
|
|
|
In any case, never underestimate Oracle's system prerequisites.
|
|
|
|
<sect1>Linux setup
|
|
|
|
<sect2>Distribution
|
|
<p>
|
|
We focus on a Linux RedHat 7.2 distribution, since we had problems
|
|
with it and we wanted to use it. The steps we are going to describe should work
|
|
on any Red Hat 7.2 based Linux distribution.
|
|
|
|
<sect2>Distribution Setup
|
|
<p>
|
|
We assume you have your Linux RedHat 7.2 box installed and working in a
|
|
reasonable way for you. In any case, 'base' packages, X Windows (the
|
|
installation routine is a Java GUI) and the development tools
|
|
regardless of whether you intend doing any coding or not is what you need.
|
|
|
|
<sect2>Setting users and groups
|
|
<p>
|
|
Login as root:
|
|
|
|
<tt>
|
|
$ su - root
|
|
</tt>
|
|
|
|
and type whatever password you decided root must have.
|
|
|
|
Create groups:
|
|
|
|
<verb>
|
|
bash# groupadd oinstall
|
|
bash# groupadd dba
|
|
bash# groupadd oper
|
|
</verb>
|
|
|
|
Create oracle user and set its password:
|
|
|
|
<verb>
|
|
bash# useradd oracle -g oinstall -G dba,oper
|
|
bash# passwd oracle (to change password)
|
|
</verb>
|
|
|
|
<sect2>Installing the right Java Virtual Machine
|
|
<p>
|
|
The only Java Virtual Machine compatible with Oracle 8i, version 8.1.7, is:
|
|
<url
|
|
url="ftp://sunsite.dk/mirrors/java-linux/JDK-1.1.8/i386/v3/jdk118_v3-glibc-2.1.3.tar.bz2">.
|
|
<newline>
|
|
Do not think: "newer versions will be less
|
|
buggy", as the installer probably won't work. And don't think.
|
|
|
|
Once downloaded it, move it:
|
|
|
|
<tt>
|
|
bash# mv jdk118_v3-glibc-2.1.3.tar.bz2 /usr/local
|
|
</tt>
|
|
|
|
untar it:
|
|
|
|
<tt>
|
|
bash# tar xvIf jdk118_v3-glibc-2.1.3.tar.bz2
|
|
</tt>
|
|
|
|
and create a symbolic link to the folder the command here above has just
|
|
created:
|
|
|
|
<tt>
|
|
bash# ln -s /usr/local/jdk118_v3 /usr/local/java
|
|
</tt>
|
|
|
|
<sect2>Kernel parameters
|
|
<p>
|
|
Oracle documentation suggests that you make changes to the Linux kernel
|
|
so you can get more shared memory.
|
|
If you decide to follow that way, keep the instructions in the Oracle
|
|
documentation and the <url name="Linux Kernel HOWTO"
|
|
url="http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html"> at hand to build your
|
|
new kernel.
|
|
|
|
<p>
|
|
In fact, the required changes can be made by setting some parameter in a
|
|
suitable initialization file. Just follow some steps:
|
|
<itemize>
|
|
<item>
|
|
<verb>
|
|
bash# cd /etc
|
|
</verb>
|
|
and create a new file <tt>rc.config</tt>, if it does not exists.
|
|
Inside <tt>rc.config</tt> copy the following four lines:
|
|
<verb>
|
|
cd /proc/sys/kernel
|
|
echo 250 32000 100 128 > sem
|
|
echo 4294967295 > shmmax
|
|
echo 4096 > shmmni
|
|
</verb>
|
|
|
|
<item>
|
|
Edit the file <tt>/etc/rc</tt> and add the line:
|
|
<verb>
|
|
/etc/rc.config
|
|
</verb>
|
|
</itemize>
|
|
|
|
<p>
|
|
In any case, if you want just to start playing with Oracle 8i, version 8.1.7,
|
|
Linux RedHat 7.2 default settings can work fine, and you do not need to set
|
|
any kernel parameter, as just described.
|
|
|
|
<sect2>Setting up some libraries
|
|
<p>
|
|
There may be some compatibility problems between Oracle 8i and gcc versions >=
|
|
2.1. If you experience them, download these rpms:
|
|
|
|
<url url="http://www.pawprint.net/linux/compat-egcs-6.2-1.1.2.14.i386.rpm" name="compat-egcs-6.2-1.1.2.14.i386.rpm"><newline>
|
|
<url url="http://www.pawprint.net/linux/compat-glibc-6.2-2.1.3.2.i386.rpm" name="compat-glibc-6.2-2.1.3.2.i386.rpm"><newline>
|
|
<url url="http://www.pawprint.net/linux/compat-libs-6.2-3.i386.rpm" name="compat-libs-6.2-3.i386.rpm"><newline>
|
|
|
|
install them, as usual, by:
|
|
<verb>
|
|
$ rpm -Uvh compat-egcs-6.2-1.1.2.14.i386.rpm compat-glibc-6.2-2.1.3.2.i386.rpm compat-libs-6.2-3.i386.rpm
|
|
</verb>
|
|
and, finally set a symbolic link because there is a small installation bug in
|
|
one of the packages just installed:
|
|
<verb>
|
|
bash# ln -s /bin/id /usr/bin/id
|
|
</verb>
|
|
|
|
<sect2>Final step
|
|
<p>
|
|
Reboot your machine and keep reading...
|
|
|
|
|
|
<sect>Installing Oracle 8i, version 8.1.7
|
|
|
|
<sect1>Setting up oracle's shell
|
|
<p>
|
|
Login as oracle user, edit the file <tt>.bash_profile</tt> and copy
|
|
the following lines into it:
|
|
<verb>
|
|
# +------------------------------------------------------------+
|
|
# | FILE : .bash_profile |
|
|
# +------------------------------------------------------------+
|
|
|
|
umask 022
|
|
EDITOR=vi; export EDITOR
|
|
TERM=xterm; export TERM
|
|
TMPDIR=/tmp; export TMPDIR
|
|
|
|
# +--------------------------+
|
|
# | SETUP ORACLE ENVIRONMENT |
|
|
# +--------------------------+
|
|
|
|
export ORACLE_SID=O817DB
|
|
export ORACLE_BASE=/u01/app/oracle
|
|
export ORACLE_HOME=/u01/app/oracle/product/8.1.7
|
|
|
|
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
|
|
export TNS_ADMIN=$ORACLE_HOME/network/admin
|
|
|
|
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
|
|
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
|
|
|
|
export ORACLE_OWNER=oracle
|
|
export ORACLE_TERM=xterm
|
|
|
|
# +--------------------------+
|
|
# | LINUX STUFF |
|
|
# +--------------------------+
|
|
|
|
export LD_ASSUME_KERNEL=2.2.5
|
|
source /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
|
|
|
|
# +--------------------------+
|
|
# | SETUP SEARCH PATH |
|
|
# +--------------------------+
|
|
|
|
PATH=$ORACLE_HOME/bin:/opt/bin:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/java/bin:.
|
|
export PATH
|
|
|
|
# +--------------------------+
|
|
# | SETUP JAVA ENVIRONMENT |
|
|
# +--------------------------+
|
|
|
|
export JAVA_HOME=/usr/local/java
|
|
|
|
export CLASSPATH=/u01/app/oracle/product/8.1.7/jdbc/lib/classes12.zip:/u01/app/oracle/product/8.1.7/JRE:/u01/app/oracle/product/8.1.7/jlib:/u01/app/oracle/product/8.1.7/rdbms/jlib:/u01/app/oracle/product/8.1.7/network/jlib:.
|
|
|
|
# +-------------+
|
|
# | "GREETINGS" |
|
|
# +-------------+
|
|
echo ".bash_profile executed"
|
|
</verb>
|
|
|
|
Save the new version of <tt>.bash_profile</tt> and re-read it, by issuing:
|
|
<verb>
|
|
bash$ source .bash_profile
|
|
</verb>
|
|
|
|
Finally, if you have not any window manager running, it is time to let it
|
|
running.
|
|
|
|
<sect1>Starting the installer
|
|
<p>
|
|
We shall work under the hypothesis that you want to install cdrom Oracle
|
|
distribution. Mount the cdrom with:
|
|
<verb>
|
|
bash$ mount /mnt/cdrom
|
|
</verb>
|
|
and move to the directory that contains the installer:
|
|
<verb>
|
|
bash$ cd /mnt/cdrom/install/linux
|
|
</verb>
|
|
Then, launch the installer by:
|
|
<verb>
|
|
bash$ ./runInstaller
|
|
</verb>
|
|
and follow the steps on the GUI it should appear:
|
|
<enum>
|
|
<item>
|
|
after a first click on <tt>NEXT</tt> verify that the proposed path is:
|
|
<verb>
|
|
/u01/app/oracle/product/8.1.7
|
|
</verb>
|
|
and click <tt>NEXT</tt> again;
|
|
<item>
|
|
fill in the filed <tt>Unix Group Name</tt> with the value:
|
|
<verb>
|
|
oinstall
|
|
</verb>
|
|
If, for any reasons, this is not your first attempt to install Oracle, you will
|
|
not be prompted for the <tt>Unix Group Name</tt>. In this case jump to step 4,
|
|
below.
|
|
<item>
|
|
A pop-up window will ask you to run a script as root user, so, open a terminal
|
|
emulator and type in:
|
|
<verb>
|
|
bash$ su
|
|
bash# cd $ORACLE_HOME
|
|
bash# ./orainstRoot.sh
|
|
</verb>
|
|
When you're done click <tt>Retry</tt> on the pop-up window.
|
|
|
|
<item>
|
|
You are now given the option of what to install. Choose
|
|
<tt>Oracle Enterprise Edition</tt>, and
|
|
click <tt>Next</tt>.
|
|
|
|
<p>
|
|
It should now allow you to choose what you install with much
|
|
finer granularity. Unless you're particularly constrained by disk
|
|
space or know exactly what you need, choose
|
|
<tt>Typical</tt> and click <tt>Next</tt>.
|
|
|
|
<item>
|
|
When it asks you the <tt>Global database name</tt>, if you do not have any
|
|
particular needs you can type in <tt>oracle.localdomain</tt>.
|
|
Also, verify that the values of <tt>SID</tt> is set to:
|
|
<verb>
|
|
O817DB
|
|
</verb>
|
|
Then, click <tt>Next</tt>.
|
|
|
|
<item>
|
|
The next step is to set the location of the database. Type in:
|
|
<verb>
|
|
/u01
|
|
</verb>
|
|
and click <tt>Next</tt>.
|
|
|
|
<item>
|
|
Finally, you are asked to indicate the location where you put java.
|
|
If you followed our suggestions the path is already:
|
|
<verb>
|
|
/usr/local/java
|
|
</verb>
|
|
Since it is fine, click <tt>Next</tt>, and, then <tt>Install</tt>.
|
|
|
|
<item>
|
|
The installation completes by a pop-up windows that asks you to run a
|
|
script as root. If you closed the previously opened terminal open one
|
|
again and type:
|
|
<verb>
|
|
bash$ su
|
|
bash# cd $ORACLE_HOME
|
|
bash# ./root.sh
|
|
</verb>
|
|
|
|
After the script completes, click <tt>OK</tt> on the pop-up window.
|
|
|
|
<item>
|
|
<tt>Oracle Net8 Configuration</tt> starts.
|
|
Choose <tt>Perform typical configuration</tt>
|
|
and click <tt>Next</tt>.
|
|
|
|
<item>
|
|
The configuration tool that starts is the
|
|
<tt>Database Configuration Assistant</tt>.
|
|
|
|
<p>
|
|
It may signal errors like:
|
|
<verb>
|
|
ORA-03114: not connected to ORACLE
|
|
</verb>
|
|
The temporary solution is to just click on <tt>Abort</tt>.
|
|
These kinds of errors will be recovered in a few!!
|
|
|
|
<p>
|
|
When the <tt>Database Configuration Assistant</tt> concludes its tasks, just
|
|
click on <tt>Next</tt> and the installation concludes.
|
|
|
|
<p>
|
|
If you needed to click on <tt>Abort</tt>, you must:
|
|
<itemize>
|
|
<item>
|
|
Download the patch:
|
|
<url
|
|
url="http://www.pawprint.net/linux/glibc-2.1.3-stubs.tar.gz"
|
|
name="glibc-2.1.3-stubs.tar.gz">
|
|
<item>
|
|
move it into ORACLE_HOME by:
|
|
<verb>
|
|
bash$ mv ./glibc-2.1.3-stubs.tar.gz $ORACLE_HOME
|
|
</verb>
|
|
and let ORACLE_HOME your working directory:
|
|
<verb>
|
|
bash$ cd $ORACLE_HOME
|
|
</verb>
|
|
<item>
|
|
uncompress and untar the patch:
|
|
<verb>
|
|
bash$ gunzip glibc-2.1.3-stubs.tar.gz
|
|
bash$ tar xvf glibc-2.1.3-stubs.tar
|
|
</verb>
|
|
<item>
|
|
run the patch script:
|
|
<verb>
|
|
bash$ ./setup_stubs.sh
|
|
</verb>
|
|
When it stops you are done!
|
|
</itemize>
|
|
</enum>
|
|
|
|
<sect>Creating a database
|
|
<p>
|
|
We just typed:
|
|
<verb>
|
|
bash$ dbassist
|
|
</verb>
|
|
and we played around with the default options. This allowed us to generate an
|
|
instance of Oracle 8i we could use for teaching purposes, during an
|
|
undergraduate course on the foundational principles of data bases. If you need
|
|
more professional-oriented instances, consult other HOWTOs or read Oracle
|
|
documentation.
|
|
|
|
<p>
|
|
In any case, at this point, what you should be able to do is to let
|
|
interactive Oracle sql interpreter SQL*Plus run, by issuing:
|
|
<verb>
|
|
bash$ sqlplus
|
|
</verb>
|
|
and by choosing one of the following two default account/passwd pairs
|
|
that Oracle creates by default. The first pair is:
|
|
<verb>
|
|
user-name:sys
|
|
password:change_on_install
|
|
</verb>
|
|
while the second is:
|
|
<verb>
|
|
user-name:system
|
|
password:manager
|
|
</verb>
|
|
|
|
<p>
|
|
However, if you, just for example, want to connect from/to another machine
|
|
we address you to other HOWTOs; for example, Stephen Darlington's
|
|
"Oracle for Linux Installation HOWTO" covers this
|
|
subjects and gives other useful hints in its final sections.
|
|
|
|
<sect>Final Words
|
|
<p>
|
|
Our goal was to write a short list of steps to have Oracle 8i, version 8.1.7,
|
|
running on RedHat 7.2. We think we have gotten to our goal, so we stop here.
|
|
|
|
<p>
|
|
We think that it would be nice merge all HOWTOs, related to some Oracle
|
|
installation on some Linux distribution could be very helpful. This is not in
|
|
our coming projects. Any volunteer?
|
|
|
|
<sect1>Some Internet Resources
|
|
<p>
|
|
To conclude, we have copied here, with some minor changes, the list of
|
|
Internet resources Stephen Darlington's "Oracle for Linux Installation HOWTO"
|
|
lists, just for easy of use:
|
|
<itemize>
|
|
|
|
<item><url name="Oracle Technet"
|
|
url="http://technet.oracle.com">. This is Oracle's public and free
|
|
support website. Lot's of very useful information there.
|
|
|
|
<item><url name="Oracle Metalink"
|
|
url="http://support.oracle.com">. Oracle's private (you need a support
|
|
contract) support website. Only slightly more useful than Technet!
|
|
|
|
<item><url name="Oracle Fans"
|
|
url="http://www.orafans.com">. Editorials and support forums. No
|
|
official connection to Oracle.
|
|
|
|
<item><url name="OraFaq" url="http://www.orafaq.org">. A site full of
|
|
questions and answers regarding Oracle on all platforms.
|
|
|
|
<item>Oracle Linux mailing list (Send a mail to <url
|
|
url="mailto:ListGuru@fatcity.com" name="ListGuru@fatcity.com"> with
|
|
the words 'SUBSCRIBE ORACLE-LINUX-L' in the body.
|
|
|
|
</itemize>
|
|
|
|
</article>
|
|
|