Pages

Monday, July 12, 2010

Installing Oracle9i on Red Hat Linux 7.1 - 7.2

  Overview
This article is a comprehensive guide for installing Oracle9i (9.0.1 and 9.2.0) on the Red Hat Linux 7.1 and 7.2 operating environment. Keep in mind the following assumptions:
Downloading / Unpacking Oracle9i Installation Files
Swap Space Considerations

Known Issue #1 : (Error with Oracle 9.0.1 during linking of ins_plsql.mk)
The "binutils" package that ships with Red Hat 7.1 and Red Hat 7.2 will not work with Oracle 9i. You will see this bug show up during the "link" phase at around 62% when trying to link PL/SQL (ins_plsql.mk)
You have three options to get around this bug:

Known Issue #2 : (Error with Oracle9i during the linking of ins_oemagent.mk and ins_ctx.mk)
If you have ever installed Oracle8i on Red Hat Linux, you may be aware of several environment variables that had to be set in your .profile or .bash_profile:
Make sure that you DO NOT set these environment variables in your profile (login) script when installing Oracle9i. They will cause the installer to fail during the linking of the OEM Agent (ins_oemagent.mk) and Context (ins_ctx.mk)!
Known Issue #3 : Oracle 9.2.0 Only : (ORA-01041 / ORA-03113 during connect after shutting down the database in same SQL*Plus session)
When shutting down the database using SQL*Plus, you will need to do one of the following in order to startup the database again: There seems to be a bug in SQL*Plus that does not allow you to perform a shutdown followed by a startup in the same SQL*Plus session.
If you attempt to perform a startup and shutdown in the same session, you will be confronted with an ORA-01041 and ORA-03113 error. What seems to be happening is a problem with the allocation of shared memory segments. If you mistakenly try this, you have two options to recover from it:

Below is an example of the problem and how to solve it by removing the shared memory segments created by the startup command after shutting down the database:

Install the Java Development Kit (JDK)
In order to use Oracle's HTTP [Apache] Server, you will need to download an appropiate JDK. This can include either Sun's JDK 1.3.1 or Blackdown 1.1.8_v3. In the past, Oracle has always recommended Blackdown. I prefer Sun's JDK myself and have been successful using it with 9i. As per the JDK documentation, install JDK under /usr/local.
Then create a symbolic link to the JDK under /usr/local/java.


  • Sun's JDK 1.3.1 Download from: http://java.sun.com
    Install as root:

    % cp j2sdk-1_3_1_01-linux-i386.bin /usr/local
    % chmod 755 j2sdk-1_3_1_01-linux-i386.bin
    % ./j2sdk-1_3_1_01-linux-i386.bin
    % ln -s /usr/local/jdk1.3.1_01 /usr/local/java
  • Blackdown 1.1.8_v3 Download from: http://www.blackdown.org
    Install as root:

    % cp jdk118_v3-glibc-2.1.3.tar.bz2 /usr/local
    % bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2
    % tar xvf jdk118_v3-glibc-2.1.3.tar
    % ln -s /usr/local/jdk118_v3 /usr/local/java
Create Oracle Account and Directories
Create Oracle User Account: % groupadd -g 115 dba
% useradd -u 173 -c "Oracle Software Owner" -d /u01/app/oracle -g "dba" -m -s /bin/bash oracle
% passwd oracle

Create Oracle Directories:
% mkdir /u01
% mkdir /u01/app
% mkdir /u01/app/oracle
% mkdir /u01/app/oracle/admin
% mkdir /u01/app/oracle/admin/O901DB
% mkdir /u01/app/oracle/admin/O901DB/adhoc
% mkdir /u01/app/oracle/admin/O901DB/adump
% mkdir /u01/app/oracle/admin/O901DB/arch
% mkdir /u01/app/oracle/admin/O901DB/backups
% mkdir /u01/app/oracle/admin/O901DB/bdump
% mkdir /u01/app/oracle/admin/O901DB/cdump
% mkdir /u01/app/oracle/admin/O901DB/create
% mkdir /u01/app/oracle/admin/O901DB/dba
% mkdir /u01/app/oracle/admin/O901DB/exp
% mkdir /u01/app/oracle/admin/O901DB/logbook
% mkdir /u01/app/oracle/admin/O901DB/pfile
% mkdir /u01/app/oracle/admin/O901DB/release
% mkdir /u01/app/oracle/admin/O901DB/report
% mkdir /u01/app/oracle/admin/O901DB/tuning
% mkdir /u01/app/oracle/admin/O901DB/udump
% mkdir /u01/app/oracle/product
% chown -R oracle:dba /u01/app/oracle

% mkdir /u03
% mkdir /u03/app
% mkdir /u03/app/oradata
% mkdir /u03/app/oradata/O901DB
% chown -R oracle:dba /u03/app/oradata

% mkdir /u04
% mkdir /u04/app
% mkdir /u04/app/oradata
% mkdir /u04/app/oradata/O901DB
% chown -R oracle:dba /u04/app/oradata

% mkdir /u05
% mkdir /u05/app
% mkdir /u05/app/oradata
% mkdir /u05/app/oradata/O901DB
% chown -R oracle:dba /u05/app/oradata

% mkdir /u06
% mkdir /u06/app
% mkdir /u06/app/oradata
% mkdir /u06/app/oradata/O901DB
% chown -R oracle:dba /u06/app/oradata

% mkdir /u07
% mkdir /u07/app
% mkdir /u07/app/oradata
% mkdir /u07/app/oradata/O901DB
% chown -R oracle:dba /u07/app/oradata

% mkdir /u08
% mkdir /u08/app
% mkdir /u08/app/oradata
% mkdir /u08/app/oradata/O901DB
% chown -R oracle:dba /u08/app/oradata

% mkdir /u09
% mkdir /u09/app
% mkdir /u09/app/oradata
% mkdir /u09/app/oradata/O901DB
% chown -R oracle:dba /u09/app/oradata

% mkdir /u10
% mkdir /u10/app
% mkdir /u10/app/oradata
% mkdir /u10/app/oradata/O901DB
% chown -R oracle:dba /u10/app/oradata

% mkdir /opt/bin
% chown oracle:dba /opt/bin

Oracle Environment Variable Settings:
An example ".bash_profile" is provided in the Configuration Files / Scripts section below.
Run the Oracle Installer
As the "oracle" user account:
Configuration Files / Scripts
Example:
    .bash_profile
$HOME/.bash_profile for the "oracle" user account.
    initO901DB.ora
Sample instance parameter script for Oracle9i. Place this file in ~oracle/admin/O901DB/pfile before running the RUN_CRDB.sh script below.
    create_database901.tar
An example "create database" set of scripts. Untar the file to ~oracle/admin/O901DB/create. If you decide to change the name of the ORACLE_SID, here are the files that need to be changed:
  • crdb.sh
  • create_database.sql
  • postDBCreation.sql
The main script to run is: RUN_CRDB.sh.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.