<firstname.lastname@example.org>, and Luca Roversi
A sequence of steps that brought us to let Oracle 8i, and Linux RedHat 7.2 working together.
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.
The web site where this document can be found is: author's web site
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.
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
"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 email@example.com or/and firstname.lastname@example.org.
This document is copyright 2002 Krastio Atanassov and Luca Roversi.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation.
At least 800M free on your hard disk. Type:
bash$ df -h Filesystem Size Used Avail Use% Mounted on /dev/hda2 5.3G 3.6G 1.4G 72% /
and read the field Avail.
The steps we are going to describe allow to have Oracle 8i, version 8.1.7 running on:
In any case, never underestimate Oracle's system prerequisites.
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.
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.
Login as root:
$ su - root
and type whatever password you decided root must have.
bash# groupadd oinstall bash# groupadd dba bash# groupadd oper
Create oracle user and set its password:
bash# useradd oracle -g oinstall -G dba,oper bash# passwd oracle (to change password)
The only Java Virtual Machine compatible with Oracle 8i, version 8.1.7, is:
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:
bash# mv jdk118_v3-glibc-2.1.3.tar.bz2 /usr/local
bash# tar xvIf jdk118_v3-glibc-2.1.3.tar.bz2
and create a symbolic link to the folder the command here above has just created:
bash# ln -s /usr/local/jdk118_v3 /usr/local/java
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 Linux Kernel HOWTO at hand to build your new kernel.
In fact, the required changes can be made by setting some parameter in a suitable initialization file. Just follow some steps:
bash# cd /etcand create a new file
rc.config, if it does not exists. Inside
rc.configcopy the following four lines:
cd /proc/sys/kernel echo 250 32000 100 128 > sem echo 4294967295 > shmmax echo 4096 > shmmni
/etc/rcand add the line:
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.
There may be some compatibility problems between Oracle 8i and gcc versions >= 2.1. If you experience them, download these rpms:
install them, as usual, by:
$ rpm -Uvh compat-egcs-6.2-220.127.116.11.i386.rpm compat-glibc-6.2-18.104.22.168.i386.rpm compat-libs-6.2-3.i386.rpmand, finally set a symbolic link because there is a small installation bug in one of the packages just installed:
bash# ln -s /bin/id /usr/bin/id
Reboot your machine and keep reading...
Login as oracle user, edit the file
.bash_profile and copy
the following lines into it:
# +------------------------------------------------------------+ # | 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"
Save the new version of
.bash_profile and re-read it, by issuing:
bash$ source .bash_profile
Finally, if you have not any window manager running, it is time to let it running.
We shall work under the hypothesis that you want to install cdrom Oracle distribution. Mount the cdrom with:
bash$ mount /mnt/cdromand move to the directory that contains the installer:
bash$ cd /mnt/cdrom/install/linuxThen, launch the installer by:
bash$ ./runInstallerand follow the steps on the GUI it should appear:
NEXTverify that the proposed path is:
Unix Group Namewith the value:
oinstallIf, for any reasons, this is not your first attempt to install Oracle, you will not be prompted for the
Unix Group Name. In this case jump to step 4, below.
bash$ su bash# cd $ORACLE_HOME bash# ./orainstRoot.shWhen you're done click
Retryon the pop-up window.
Oracle Enterprise Edition, and click
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
Typical and click
Global database name, if you do not have any particular needs you can type in
oracle.localdomain. Also, verify that the values of
SIDis set to:
/usr/local/javaSince it is fine, click
Next, and, then
bash$ su bash# cd $ORACLE_HOME bash# ./root.shAfter the script completes, click
OKon the pop-up window.
Oracle Net8 Configurationstarts. Choose
Perform typical configurationand click
Database Configuration Assistant.
It may signal errors like:
ORA-03114: not connected to ORACLEThe temporary solution is to just click on
Abort. These kinds of errors will be recovered in a few!!
Database Configuration Assistant concludes its tasks, just
Next and the installation concludes.
If you needed to click on
Abort, you must:
bash$ mv ./glibc-2.1.3-stubs.tar.gz $ORACLE_HOMEand let ORACLE_HOME your working directory:
bash$ cd $ORACLE_HOME
bash$ gunzip glibc-2.1.3-stubs.tar.gz bash$ tar xvf glibc-2.1.3-stubs.tar
bash$ ./setup_stubs.shWhen it stops you are done!
We just typed:
bash$ dbassistand 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.
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:
bash$ sqlplusand by choosing one of the following two default account/passwd pairs that Oracle creates by default. The first pair is:
user-name:sys password:change_on_installwhile the second is:
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.
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.
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?
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: