Oracle 8i release 3
(version 8.1.7)
Step-by-step Install

Which dist of Linux will work?
This release of Oracle rquires glibc 2.1.3 to install correctly. That means RedHat 7 will not work out of the box (see below). If you have glibc 2.1.3 in your dist of Linux, you should be fine. The version I used for installing was RedHat 6.2.

RedHat 7.0 issues
RedHat 7.0 ships with glibc 2.2. Oracle compiles with glibc 2.1. See the problem here? The good folks at valinux.com have created a compatiblitly SDK that will "fix" Redhat so you can install Oracle 8i. Go to the following link to learn more:

WARNING! WARNING! WARNING!
The procedure for RedHat 7.0 is not officially approved by Oracle. If you are putting a mchine into production, I would strongly recommend sticking with RedHat 6.2 instead (and patching the security holes in it). There are other problems with RedHat 7.0 that extend beyond Oracle. Personally, I'm waiting for 7.1 before I think hard about migrating.
 

The machine I used to install Oracle
Though Oracle recommends at least 256 megs RAM, I used a Pentium III 450 with 128 megs. I would probably avoid using anything less than 128 megs RAM if you can, though.

What's in this doc
There are six parts:
Initial install - Covers what is needed at minimum to install with Linux, plus memory parameters recommended by Oracle and why you shouldn't use them. 
Stuff you have to download before installing - You need the Oracle software and JDK 1.1.8 for release 3.
Oracle pre-install - Setting up your users, groups, mount points and environment variables. 
Oracle install - Where you actually install the software. 
Oracle post-install (optional) - Clean-up tasks and testing. 
I make no guarantees that the installation will work if you decide to just use part of these instructions vs. the whole thing.

Editorial comment about this document
I'm not a Linux guru, but I proceeded to put these pages up to help other lost souls like me. If you see something that makes you laugh hysterically here, do me a favor: When you're done laughing, drop a note to me, tbissett@fwn.fortwayne.com, and (kindly) let me know where I'm nuts. 


Initial Install
Install any way you would like, keeping the following steps in mind as you're doing it.

A. Partitioning
1) Oracle recommends a swap partition of either 400 megabytes or twice the amount of your RAM, whichever is greater.

2) Partition the drive to your preferences. I ignored the OFA-compliance and just made one mount point (/u01). You can also fake OFA by making four directories, but you won't gain any performance from this. You'll gain some performance by creating four distinct partitions (/u01, /u02, /u03, /u04) and you'll gain the most performance by having each of these mount points on four distinct drives, as Oracle recommends. These directions assume only one mount point.

B. X Windows
Love it or hate it, you have to have X Windows for Oracle 8i. The installer is now GUI-based. You can use Gnome or KDE.

C. Install options
AT MINIMUM, you must have the following stuff installed to install Oracle:

  • X Windows
  • Development packages (c, gcc, etc.)
  • You can add other packages to suit your needs. 
D. If you want to reconfigure the kernel:
Make sure you have your kernel source somewhere on your computer.

Kernel memory params
The front of the Oracle installation manual lists some memory parameters which, according to the Oracle install manual, need to be changed before installing the software. 

Oracle will run fine without changing any of the kernel parameters. This is because nearly all the parameters are already above Oracle's recommendation. 
(somebody, please correct me if I am wrong).

Here's my take on changing the kernel params: If you're just setting up a personal database so you can develop on it, don't worry about changing the kernel. Everything will work fine for your needs. If, on the other hand, you're putting this into production, consider making the appropriate changes. 

The only parameter you MIGHT have to worry about is the SHMMAX setting, and you should only worry about this one if your machine has more than 64 megs RAM, and you are really going to do some heavy database work. If you feel like you MUST change it, here's how: 

WARNING!
Changing the kernel parameters requires recompiling the Linux kernel. If you have never done this, I highly recommend you get a good book that walks you through the process and all the 100+ different options when you run the configure script. If you aren't sure of some of them, choosing the wrong one may prevent you from booting your system! 

Changing memory params
1) Change to the directory listed below and edit the shmparam.h file. 

  • cd /usr/src/linux/include/asm
  • vi shmparam.h
2) A little further down is a line that says "#define SHMMAX 0x2000000." The 0x2000000 is hex for 32 megs. Oracle says this value should be one-half of your installed memory. Change it to the appropriate value. For example, I have 128 megs RAM in my machine, so Oracle suggests I change this setting to 0x4000000, or slightly above 64 megs. 
Other values: 
0x4000000 = 67108854 
0x6000000 = 100663296
0x8000000 = 134217728
0x10000000 = 268435456
0x20000000 = 536870912

3) Save the file. 

4) You're now ready to proceed with the process of recompiling the kernel. Recompile it, then continue below.



Stuff you have to download before installing
The Oracle file
Go to technet.oracle.com and download linux817ee.tar. That's all you need from Oracle. It's quite big at 500 mb. You can also order a CD from oracle with the same thing on it. 
  • Log in as root.
  • Download linux817ee.tar to /usr/src
  • tar xvf linux817ee.tar
Java SDK
Oracle 8i release 3 requires JDK 1.1.8 to be installed. It looks for the jdk at /usr/local/java. We'll put the jdk at /usr/local and create a link.

1) Login as root and use a web browser to go to http://www.blackdown.org

2) Click on the downloads link.

3) Pick an FTP site that is geographically near you.

4) The file to look for is jdk118_v3-glibc-2.1.3.tar.bz2. Do NOT download a newer version as it may not work.

5) Download this file to /usr/local.

6) Open a terminal window. We'll now extract the file and create a symbolic link so the Oracle Installer can find it. Run the following commands:

  • tar xvIf jdk118_v3-glibc-2.1.3.tar.bz2
  • ln -s /usr/local/jdk118_v3 /usr/local/java
7) That's all there is to it!

Oracle Pre-Install
In this section, we create the necessary user groups and accounts which will ultimately manage the oracle software.. 

Set up Oracle account and group
Two groups and one account need to be created to install Oracle. 

1) If you are not already logged in as root, log in now.

2) If you don't have a terminal window already open, open one. 

3) In the terminal window, create your groups. oinstall is used to install the software, while dba will be your database administrators group and oper will be your management group.

  • groupadd oinstall
  • groupadd dba
  • groupadd oper
4) Create the oracle user with oinstall as the primary group and dba and oper as the secondary groups. 
  • useradd oracle -g oinstall -G dba,oper
  • passwd oracle (to change password)
5) If you didn't make mount points with disk partitioning, make a directory for oracle, such as /u01. 
  • mkdir /u01. (You can also fake the OFA-compliancy by mkdir /u01, /u02, /u03 and /u04.
6) Change owner and group permissions on these mount points. 
  • chown oracle.dba /u01 (run same command for /u02, /u03 and /u04 if you have them)
  • chmod 775 /u01 (run same command for /u02, /u03 and /u04 if you have them)
7) Log out. 
 

Setting up the oracle user's environment
1) Log in as oracle

2) If you don't have a terminal window open, open one now.

3) Verify umask is 022 by typing umask [enter]. If it is, great. If not, you'll need to put it in .bash_profile, which we edit in the next step. 

4) Use your favorite editor to edit the .bash_profile file in your oracle account's home directory. Put the following lines in this file: 

  • ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
  • ORACLE_HOME=/u01/app/oracle/product/8.1.7; export ORACLE_HOME
  • ORACLE_SID=ora1; export ORACLE_SID
  • PATH=$PATH:/u01/app/oracle/product/8.1.7/bin; export PATH
  • CLASSPATH=.:/u01/app/oracle/product/8.1.7/jdbc/lib/classes111.zip; export CLASSPATH
  • LD_LIBRARY_PATH=/u01/app/oracle/product/8.1.7/lib; export LD_LIBRARY_PATH
  • (optional) umask 022 (only if umask does not default to 022)
5) There is one more environment variable you might need to add to your .bash_profile. If you are NOT using US English, you will need to add the ORA_NLS33 and the NLS_LANG variables. ORA_NLS33 is the same value for all languages. NLS_LANG depends on which language set you want to use.  Here are the available values (use the quotes in your NLS_LANG variable if they appear below): 

In my case, if I decided to add them for US English anyway, I would put the following in my .bash_profile: 

  • ORA_NLS33=/u01/app/oracle/product/8.1.7/ocommon/nls/admin/data; export ORA_NLS33
  • NLS_LANG=american; export NLS_LANG
Language NLS_LANG value
US English american
Arabic arabic
Brazilian Portugese "brazilian portugese"
Canadian French frc
Czech czech
Danish danish
Dutch dutch
Finnish finnish
French french
German german
Hungarian hungarian
Icelandic is
Italian italian
Japanese japanese
Korean korean
Lithuanian lt
Mexican Spanish esm
Norweigan norweigan
Polish polish
Portugese portugese
Russian russian
Simplified Chinese "simplified chinese"
Slovak slovak
Swedish swedish
Thai th
Traditional Chinese "traditional chinese"
Turkish turkish

6) Log out, then back in as oracle. Open a terminal window again if one isn't open and type env to see if all the above variables now appear in your environment. 

7) Also make sure all the following paths are in your path statement, in addition to the Oracle path you specified above: /bin, /usr/bin, /usr/local/bin.

8) If everything isn't there, double-check your spelling, etc. in your .bash_profile. If everything is there, great! We're ready to move on. 


Oracle Install
After all that setup, it's finally time to install software!

1) Make sure your logged in as oracle. 

2) In a terminal window, change to the directory containing the Oracle software. 

  • cd /usr/src/Disk1
2) Start the installer 
  • ./runInstaller
3) A GUI window appears. Welcome to the Java-based Oracle installer.

4) Click the Next button. 

5) Verify that the Source path says /usr/src/Disk1/stage/products.jar

6) The Destination path should be the same as your $ORACLE_HOME environment variable. 

7) Click Next.

8) At the Unix Group Name window, enter "oinstall" as the group, then click Next. 

9) A window will now pop up asking you to run the orainstRoot.sh script. Here is how to do that: 

  • Open a new terminal window
  • su root (enter your password)
  • cd $ORACLE_HOME
  • ./orainstRoot.sh
  • Leave this window open and at the root level.


10) Go back to that popup window that appeared and click the Retry button. 

11) You will now get the Available Products screen. Select Oracle 8i Enterprise Edition 8.1.7.0.0 and click Next. 

12) On the next screen, select Typical, then Next. 

13) You will then be prompted for a global database name. This usually consists of a name you create, followed by your domain name. If you're just a home user, this might be something like oracle.localdomain. Since my domain here at work is fortwayne.com and this will be for web work, I'll name it oraweb.fortwayne.com. The one limit to the global database name is that the name itself must be eight characters or less.

14) Verify the ORACLE_SID is correct, then click Next. 

15) The next prompt asks for a db files location. If you just created one mount point, this will be /u01. Enter it in here and click Next.

16) You will then be asked for the JDK home directory. Make sure it says /usr/local/java, then click Next.

17) Finally, at the summary window, Click the Install button.

18) The software begins installing! Woo-woo!

19) After files have been copied and linked, you will get another pop-up asking you to run the root.sh script. 

  • Go back to the terminal window that is running at the root level.
  • cd $ORACLE_HOME
  • ./root.sh
  • Just hit Enter when it asks for the Path to your local bin directory
  • exit (to exit superuser privileges)
  • exit (to exit the terminal window)
20) Return to that pop-up window and hit OK. 

21) The Oracle Net8 Configuration now starts. All you need to do is check the box marked "Perform typical configuration" and hit Next.

22) The Database Configuration Assistant now starts. Nothing to do here except hit OK when it says the database configuration is complete.

23) When the Database Configuration Assistant finishes, Oracle will start the webserver on port 7777. Again, you don't need to do anything here.

24) You are now at the End of Installation screen. Hit Exit. 

25) Confirm that you want to exit.

26) All the software you need is now on the machine. If you want to do the optional post-install stuff, move on. Otherwise, you're set to go! 

IMPORTANT! Default passwords
Oracle installed two accounts off the bat for administering the database. Here are the names and passwords for both: 
sys - change_on_install
system - manager



Oracle post-install (optional)
These steps will get the TNS listener up and running and will also install the sample tables. Do them only if you want or need to.

1) Use the same terminal window that you used to run the installer. 

2) If you want to access the Oracle server with the GUI management tools from another PC, you will need to start the TNS listener. The default config works for most TCP/IP installations, but you may need to change it. It worked for us. 

  • lsnrctl start
3) The Oracle Server should be running. If not, you can start it with the following commands: 
  • svrmgrl
  • connect internal
  • startup
  • quit
4) If you want to set up the sample tables for user scott/tiger, you can do it this way:
  • cd $ORACLE_HOME/rdbms/admin
  • sqlplus (Connect as sys)
  • @utlsampl.sql
5) Now start SQLPlus and login as user scott and password tiger. Do a select * from emp and you should get some records back. Everthing is up and running!