Oracle8i release 3 (8.1.7) on RedHat 7.3

From Oracle FAQ
Jump to: navigation, search

This document provides quick installation instructions for Oracle 8i server release 3 (8.1.7) on Red Hat Linux 7.3

Please note that oracle 8i release 3 is not certified to run on RedHat 7.3, so you should not use this combination on a production server. You can examine the Oracle certification matrix at Metalink.

Things you need before the installation[edit]

Before you start installing Oracle, you need to have the following packages:

  • jdk-1.1.8_v3 - Blackdown Linux port of Sun's Java Development Kit
You can find it at http://www.blackdown.org/
  • Red Hat Linux 6.2 compatibility packages:
- compat-libstdc++-6.2-2.9.0.16
- compat-glibc-6.2-2.1.3.2
- compat-libs-6.2-3
- compat-egcs-6.2-1.1.2.16
You can find these packages on your RedHat CDs, download them from RedHat site, or from some mirror site.
  • The glibc-2.1.3-stubs patch from Oracle (glibc-2.1.3-stubs.tar.gz).

Pre-install actions[edit]

Installing compatibility packages[edit]

Install all of the RedHat 6.2 compatibility packages mentioned above by issuing rpm -Uvh package_name, e.g:

# rpm -Uvh /mnt/cdrom/RedHat/RPMS/compat-libs-6.2-3.i386.rpm

Installing Java development kit[edit]

According to jdk documentation, we will install it under /usr/local by issuing e.g.

# tar -xvjf jdk-1.1.8_v3.tar.bz2 -C /usr/local

Note that it is not necessary to add path to the java executables in PATH environment variable, so you can safely keep whatever jdk or jre version you already have.

User oracle, groups and software mount points[edit]

We need to create two groups, oinstall and dba.

The oinstall group will own all the installation files, so user oracle should have the oinstall group as its initial group. We also need one more group, dba, that will have oracle's SYSDBA and SYSOPER privileges granted. User oracle should have the dba group as its supplementary group. Note that all linux users (accounts) that are in group dba will also get these privileges.

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle

Create directories in which database files will reside. Oracle recommends OFA - Optimal Flexible Architecture (see oracle installation guide), but in this example everything will be installed under /home/oracle:

# mkdir /home/oracle/product
# cd /home/oracle/product
# mkdir 8.1.7
# chown -R oracle.oinstall /home/oracle/*

Setting the environment for oracle account[edit]

We should now login as user oracle and put the following lines at the end of .bash_profile:

export LD_ASSUME_KERNEL=2.2.5
source /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export NLS_LANG=croatian_croatia.ee8iso8859p2
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=$PATH:$ORACLE_HOME/bin
unset LANG

First two lines modify your environment so that gcc and ld look for glibc 2.1.3 compatibility headers and libraries.

Since I am from Croatia, I use Croatian national language support (NLS_LANG, NLS_DATE_LANGUAGE, NLS_SORT and NLS_DATE_FORMAT). You should set these variables to suit your needs. Note that all other variables defined here are mandatory.

The unset LANG line is there because if LANG is set, java is known to generate JNLS Exceptions.

Listing of valid Oracle NLS Data parameters including supported languages, territories and storage character sets can be found here. The .bash_profile should now be executed in order to initialize these variables:

$ source /home/oracle/.bash_profile

or we can just log off and than back on as user oracle.

If you use some shell other than bash (tcsh, sh, ...) all of those variables should be set according to syntax of your shell and put in script that automatically executes at user login.

Running the installer[edit]

Oracle installer should be run from Xwindows by user oracle.

Start Xwindows and from terminal window mount Oracle 8i CD-ROM and start the installer:

$ /mnt/cdrom/runInstaller

or if you have downloaded linux81701.tar from Oracle, untar it somewhere (e.g. under /tmp), and then run the installer:

$ tar -xvf linux81701.tar -C /tmp/
$ /tmp/Disk1/runInstaller

Creating the database[edit]

Do not choose to create database at this point because the database assistant will fail. You will create database after applying the glibc-2.1.3-stubs.

If you chose typical installation, you can't avoid invoking database configuration assistant. If this is the case, just wait until it fails, all the other configuration tools should work fine (snapshot available).

After installation and configuration of net8 and apache, close the installer and apply the patch by unpacking downloaded glibc-2.1.3-stubs into your $ORACLE_HOME and running the setup script:

$ tar -xvzf glibc-2.1.3-stubs.tar.gz -C $ORACLE_HOME
$ cd $ORACLE_HOME
$ ./setup_stubs.sh

Now you can create your database with database assistant:

$ dbassist

Running the database for the first time[edit]

In .bash_profile (if you use bash shell) for user oracle add variable ORACLE_SID=your_database_instance. Default value for instance is ORCL, so your line would look like this:

export ORACLE_SID=ORCL

Now we should set this variable for current session:

$ export ORACLE_SID=ORCL

alternatively, you can log off and than back on. Let's actually start the database now:

$ svrmgrl

Oracle Server Manager Release 3.1.7.0.0 - Production

Copyright (c) 1997, 1999, Oracle Corporation.  All Rights Reserved.

Oracle8i Enterprise Edition Release 8.1.7.0.1 - Production
With the Partitioning option
JServer Release 8.1.7.0.1 - Production

SVRMGR> connect internal
Connected.
SVRMGR> startup
ORACLE instance started.
Total System Global Area                         72704160 bytes
Fixed Size                                          73888 bytes
Variable Size                                    55681024 bytes
Database Buffers                                 16777216 bytes
Redo Buffers                                       172032 bytes
Database mounted.
Database opened.
SVRMGR> exit
Server Manager complete.
$

In order to use dbstart and dbshut scripts for starting/stopping the database we must edit the /etc/oratab.

It should contain a line that looks something like this:

*:/home/oracle/product/8.1.7:N

Just change the last parameter to Y

Now let's try to connect to the database using SQL*plus:

$ sqlplus scott/tiger

SQL*Plus: Release 8.1.7.0.0 - Production on Pon Srp 8 00:14:22 2002

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

Connected to:
Oracle8i Enterprise Edition Release 8.1.7.0.1 - Production
With the Partitioning option
JServer Release 8.1.7.0.1 - Production

SQL> select sysdate from dual;

SYSDATE
--------
08.07.02

SQL> select * from dept;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

SQL> exit
Disconnected from Oracle8i Enterprise Edition Release 8.1.7.0.1 - Production
With the Partitioning option
JServer Release 8.1.7.0.1 - Production
$

You can shut down the server using the dbshut script, or via server manager:

$ svrmgrl

Oracle Server Manager Release 3.1.7.0.0 - Production

Copyright (c) 1997, 1999, Oracle Corporation.  All Rights Reserved.

Oracle8i Enterprise Edition Release 8.1.7.0.1 - Production
With the Partitioning option
JServer Release 8.1.7.0.1 - Production

SVRMGR> connect internal
Connected.
SVRMGR> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SVRMGR> exit
Server Manager complete.
$

Republished with permission from Denis Klaric. Original URL: http://staff.in2.hr/denis/oracle/817install_rh73_en.html