PokuG stdio.h

stdio.hはおまじない

MENU

いまさら聞けないOracle9iのインストール方法~Linux編~

2000年ごろ破竹の勢いだったOracleデータベース。今もすごいですが。
SolarisとOracleは最強タッグだった気がします。

今回はそのOracle9i 9.2.0をRed Hat Linux 7.3へインストールします。
Oracleと言えば、Oracle8iのような気もしますが、Oracle8iをインストールできるOSを用意できなかったので、Oracle9iを入れます。

インストール前に

Oracle9iをインストールする前に以下を決定しておきます。

Oracleユーザー ora920
Oracleグループ dba
SID ora920
ORACLE_BASE /app/oracle
ORACLE_HOME /app/oracle/product/9.2.0
NLS_LANG Japanese_Japan.JA16EUC

カーネルパラメーターの設定

カーネルパラメーターの値が少ないとインストールに失敗したりOracleが起動しない場合があります。
よくOracleを使用していて不足するパラメータは以下になります。

  • 共有メモリセグメントの最大サイズ
  • セマフォの最大数

よってこの2つの値を上げる必要があります。

カーネルパラメーターの参照

共有メモリセグメントの最大サイズ
[root@KAZAGUMO root]# cat /proc/sys/kernel/shmmax
33554432
[root@KAZAGUMO root]#

上記結果より現在の値は約33Mになっています。
Oracleは共有メモリセグメントの最大サイズは実メモリの半分の値が推奨です。
今回は実メモリが1Gなので、512Mが必要になります。

セマフォの最大数
[root@KAZAGUMO kernel]# cat /proc/sys/kernel/sem
250     32000   32      128
[root@KAZAGUMO kernel]#

パラメーターの結果は「SEMMSL、SEMMNS、SEMOPM、SEMMNI」の順に表示されるので、「SEMOPM」の値を注目します。
Oracleを動作させるためのセマフォの最大数の数字は最低100以上なので変更します。

カーネルパラメーターの変更

「/etc/rc.d/rc.local」を編集

ファイル「/etc/rc.d/rc.local」に以下2行を追加。

echo 536870912 > /proc/sys/kernel/shmmax
echo 250 32000 100 125 > /proc/sys/kernel/sem

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/loca

echo 536870912 > /proc/sys/kernel/shmmax   ←☆コレ
echo 250 32000 100 125 > /proc/sys/kernel/sem ←☆コレ
カーネルパラメーターの反映(OS再起動)

以下コマンドでOSを再起動し、カーネルパラメーターを反映させます。

reboot

必須モジュールのインストール

Oracle9iは以下のモジュールが無いとインストールができません。

  • gcc-2.96-110
  • cpp-2.96-110
  • compat-libstdc++-6.2-2.9.0.16
  • glibc-devel-2.2.5-34
  • glibc-kernheaders-2.4-7.14
  • binutils-2.11.93.0.2-11

必須モジュールの確認

「rpm -q 」コマンドで必須モジュールがインストールされているか確認します。
無い場合は手動でインストールしましょう。
大抵Disc2に入っています。

[root@KAZAGUMO root]# rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
gcc-2.96-110
cpp-2.96-110
パッケージ compat-libstdc++ はインストールされていません
glibc-devel-2.2.5-34
glibc-kernheaders-2.4-7.14
binutils-2.11.93.0.2-11
[root@KAZAGUMO root]#

今回はパッケージ 「compat-libstdc++」がインストールされていないのでインストールします。

必須モジュールのインストール

「rpm -Uvh」コマンドで必要なモジュールをインストールします。
必須モジュールは大抵Disc2にあるので、Disc2をマウントしてインストールします。

[root@KAZAGUMO root]# mount /mnt/cdrom/
[root@KAZAGUMO root]# rpm -Uvh /mnt/cdrom/RedHat/RPMS/compat-libstdc++-6.2-2.9.0.16.i386.rpm
Preparing...                ########################################### [100%]
   1:compat-libstdc++       ########################################### [100%]
[root@KAZAGUMO root]#


以上でLinuxにOracle9iをインストールするための必須モジュールの準備は整いました。

rootユーザーでの準備

ここからはUNIX系のOracle9iをインストールする共通の作業になります。
以下をおこないます。

  • JDKのインストール(日本語インストーラーを使用しない場合は不要?)
  • Oracleをインストールするディレクトリの作成
  • Oracleユーザー/グループの作成
  • CD-ROMのコピー

JDKのインストール

Oracle9iではJDK1.3.1が必要なので、JDK1.3.1の最終バージョンの「j2sdk-1_3_1_20-linux-i586.bin」を使います。

しかし実は日本語インストーラーを使用しない場合はおそらく必要ありません。
今記事も英語のインストーラーを使用するので、JDKのインストールの手順はスキップしても問題ありません。

FTPを使ってJDKを「/tmp」へコピー

FTPサーバーを構築して「/tmp」へコピーしてください。
f:id:yarufu101:20220227133240p:plain

JDKファイルに実行権限を付与

例では「chmod 777」でフルアクセスにしていますが、実行権限だけで問題ありません。

[root@KAZAGUMO root]# cd /tmp/
[root@KAZAGUMO tmp]# chmod 777 j2sdk-1_3_1_20-linux-i586.bin
[root@KAZAGUMO tmp]#
JDKのインストール
[root@KAZAGUMO tmp]# ./j2sdk-1_3_1_20-linux-i586.bin
.
.
.
Do you agree to the above license terms? [yes or no] yes

ものすごい長い規約を見てから「yes」と入力。

JDKファイルの移動

JDKファイルを「/usr/local/」へ移動する。

[root@KAZAGUMO tmp]# mv jdk1.3.1_20/ /usr/local/
[root@KAZAGUMO tmp]#
シンボリックリンクの作成
[root@KAZAGUMO tmp]# ln -s /usr/local/jdk1.3.1_20 /usr/local/java
[root@KAZAGUMO tmp]#

Oracle9iをインストールするディレクトリの作成

今回は以下にOracle9iをインストールします。

  • /app/oracle/product/9.2.0
[root@KAZAGUMO root]# mkdir -p /app/oracle/product/9.2.0
[root@KAZAGUMO root]#

Oracleユーザー/グループの作成

以下のように設定する。

  • Oracleグループ:dba
  • Oracleユーザー:ora920
Oracleグループの作成
[root@KAZAGUMO root]# groupadd dba
[root@KAZAGUMO root]#
Oracleユーザーの作成
[root@KAZAGUMO root]# useradd -g dba ora920
[root@KAZAGUMO root]# passwd ora920
Changing password for user ora920.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.
[root@KAZAGUMO root]#
Oracleをインストールするディレクトリの所有者をOracleの管理者と管理グループに設定
[root@KAZAGUMO root]# chown -R ora920.dba /app
[root@KAZAGUMO root]#

Oracle9iのCD-ROMのコピー

Oracle9iのCD-ROMの内容を「/tmp」にコピーします。
別にCD-ROMドライブからインストールしても良いですが、コピーが遅いのとディスクの交換がメンドイためHDDからインストールします。

Oracle9iのCD-ROM3枚分をLinuxへコピー

f:id:yarufu101:20220227161733p:plain

Oracle9iのCD-ROMのコピーと所有者の変更と実行権限の付与
[root@KAZAGUMO tmp]# cd /tmp
[root@KAZAGUMO tmp]# chown -R ora920.dba Disk1
[root@KAZAGUMO tmp]# chown -R ora920.dba Disk2
[root@KAZAGUMO tmp]# chown -R ora920.dba Disk3
[root@KAZAGUMO tmp]# chmod 777 -R Disk1
[root@KAZAGUMO tmp]# chmod 777 -R Disk2
[root@KAZAGUMO tmp]# chmod 777 -R Disk3
[root@KAZAGUMO tmp]#

Oracleユーザーでの準備

ここからはora920ユーザーでログインしておこなう準備作業です。

Oracleの環境変数は以下にします。

  • ORACLE_BASE:/app/oracle
  • ORACLE_HOME:=/app/oracle/product/9.2.0
  • ORACLE_SID:ora920

Oracleユーザーの環境数設定

「.bash_profile」にOracle9iの環境変数を追加します。
英語のインストーラーを使用する場合はCLASSPATHは必要ありません。

日本語インストーラーの場合はCLASSPATHはいると思います。
その場合は、「/local/usr/java/bin」も「PATH」に追加してください。

#
# For ora920
#
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export NLS_LANG=Japanese_Japan.JA16EUC
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=ora920

# CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
# CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
# export CLASSPATH

Oracleのインストール

LANGの設定

今回は英語のインストーラーを使用しますので、以下のコマンドを打ちます。

[ora920@KAZAGUMO ora920]$ LANG=C
[ora920@KAZAGUMO ora920]$

インストーラーの起動

[ora920@KAZAGUMO ora920]$ ./tmp/Disk1/runInstaller
Welcome

f:id:yarufu101:20220227170809p:plain
「Next」

インベントリの場所

f:id:yarufu101:20220227171036p:plain
「OK」

UNIXグループ名

f:id:yarufu101:20220227171144p:plain
「dba」と入れて「Next」

orainstRoot.sh

f:id:yarufu101:20220227171302p:plain
rootユーザーで「/tmp/orainstRoot.sh」を実行した後、その後「Countinue」を押します。

[root@KAZAGUMO root]# cd /tmp
[root@KAZAGUMO tmp]# ./orainstRoot.sh
Creating Oracle Inventory pointer file (/etc/oraInst.loc)
Changing groupname of /app/oracle/oraInventory to dba.
[root@KAZAGUMO tmp]#
ファイルの場所

f:id:yarufu101:20220227171731p:plain
「Next」
※今回はNameを変更していますがインストールには関係ありません。そのままでも問題ないです

使用可能な製品

f:id:yarufu101:20220227171941p:plain
ここは注意。「Product Langues」をクリックします。

言語の選択

f:id:yarufu101:20220227172122p:plain
「English」と「Japanses」を入れて、「OK」

使用可能な製品

f:id:yarufu101:20220227171941p:plain
「Next」

インストールタイプ

f:id:yarufu101:20220227172401p:plain
今回は「Enterprose Edition」を選び、「Next」

Database Configuration

f:id:yarufu101:20220227194244p:plain
「Software Only」を選び「Next」

サマリー

f:id:yarufu101:20220227194510p:plain
「Install」

Error(ins_ctx.mk)

f:id:yarufu101:20220227194701p:plain
「ins_ctx.mk」のエラーは無視(Ignore)でよい。
なお、「insoemagent.mk」が出た場合は、パッチを当てる必要がある。

以下リリースノート抜粋。

3.3 インストール途中で以下のエラーが発生する場合があります。
---------------------------------------------------------------------
Makeファイル
/opt/oracle/oracle92/network/lib/insoemagent.mk
のターゲット起動中にエラーが発生しました。
---------------------------------------------------------------------
もし上記エラーが発生した場合は、Patch#3119415 を適用して、「再試行」ボタンを押してくだ
さい。
Patch#3119415 は Oracle9i Database Release 2(9.2.0) Update CD に含まれます。インストール方
法に関しては Update CD をご確認ください。


また、続いて以下のエラーが発生しますが、このエラーが発生した場合は「無視」ボタンを押
して、インストールを続行してください。この問題は、Patch Set Release 9.2.0.4 以降を適用する
ことで解決されます。
また、Oracle9i Database Release 2(9.2.0.4.0) for Linux x86 CD を使用した場合にはこのエラーは
発生しません。
---------------------------------------------------------------------
Makeファイル
/opt/oracle/oracle92/ctx/lib/ins_ctx.mk
のターゲットInstallを起動中にエラーが発生しました。
---------------------------------------------------------------------
3.4 インストール終了後、最新の Patch Set Release を適用してください。
スクリプトの実行

f:id:yarufu101:20220227194833p:plain
rootユーザーで、「root.sh」を実行する。

[root@KAZAGUMO root]# cd /app/oracle/product/9.2.0/
[root@KAZAGUMO 9.2.0]# ./root.sh
Running Oracle9 root.sh script...
\nThe following environment variables are set as:
    ORACLE_OWNER= ora920
    ORACLE_HOME=  /app/oracle/product/9.2.0

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

\nCreating /etc/oratab file...
Adding entry to /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
[root@KAZAGUMO 9.2.0]#
インストール終了

f:id:yarufu101:20220227195037p:plain
「Exit」で終わる。

確認

f:id:yarufu101:20220227195204p:plain
「Yes」

データベースの作成

ログアウトしてその後ログイン

RedHat7.3のX Windowの「twm」では、何故かインストール後にデータベースを作成しようとするとインストーラーが落ちるので一度ログアウトします。

GNOMEとかKDEならログアウトする必要はありません。

Dtabase Configuration Assistantの起動

[ora920@KAZAGUMO ora920]$ dbca

ようこそ

f:id:yarufu101:20220227204217p:plain
「次へ」

操作

f:id:yarufu101:20220227204313p:plain
「データベースの作成」を選択し「次へ」

テンプレート

f:id:yarufu101:20220227204428p:plain
「Data Warehouse」を選択し、「次へ」

データベース識別情報

f:id:yarufu101:20220227204603p:plain
「グローバルDB名」と「SID」を入力し、「次へ」

データベース接続オプション

f:id:yarufu101:20220227204739p:plain
そのまま「次へ」

初期化パラメーター

f:id:yarufu101:20220227204934p:plain
そのまま「次へ」

データベース記憶領域

f:id:yarufu101:20220227205057p:plain
そのまま「次へ」

作成オプション

f:id:yarufu101:20220227205208p:plain
「終了」

サマリー

f:id:yarufu101:20220227205322p:plain
「OK」

パスワード設定

f:id:yarufu101:20220227205534p:plain
パスワードを入れ「終了」。

リスナーの設定

Oracle Net Managerの起動

[ora920@KAZAGUMO ora920]$ netmgr

リスナーの設定

f:id:yarufu101:20220227214851p:plain
「OracleNetの構成」→「ローカル」→「リスナー」をクリックし、右上の「+」を押します。

リスナー名の選択

f:id:yarufu101:20220227215026p:plain
「OK」

リスニングの位置

f:id:yarufu101:20220227215210p:plain
「アドレスの追加」ボタンを押す。
その後、「ファイル」→「ネットワーク構成の保存」をクリックする。
さらにその後、「ファイル」→「終了」

リスナーの起動

lsnrctl startコマンドを実行

[ora920@KAZAGUMO ora920]$ lsnrctl start

LSNRCTL for Linux: Version 9.2.0.1.0 - Production on 27-FEB-2022 12:55:52

Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.

/app/oracle/product/9.2.0/bin/tnslsnrを起?しています。お待ちください...

TNSLSNR for Linux: Version 9.2.0.1.0 - Production
システム・パラメータ・ファイルは/app/oracle/product/9.2.0/network/admin/listener.oraです。
ログ・メッセージを/app/oracle/product/9.2.0/network/log/listener.logに書き込みました。
リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=KAZAGUMO)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=KAZAGUMO)(PORT=1521)))に接3中
リスナーのステータス
------------------------
別?                      LISTENER
バージョン                TNSLSNR for Linux: Version 9.2.0.1.0 - Production
開始日                    27-FEB-2022 12:55:52
アップ時間                0 日 0 時 0 ? 0 秒
トレース・レベル          off
セキュリティ              OFF
SNMP                      OFF
パラメータ・ファイル      /app/oracle/product/9.2.0/network/admin/listener.ora
ログ・ファイル            /app/oracle/product/9.2.0/network/log/listener.log
エンドポイント・サマリーをリスニングしています...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=KAZAGUMO)(PORT=1521)))
リスナーはサービスをサポートしていません。
コマンドは正常に終了しました。
[ora920@KAZAGUMO ora920]$

リスナーはサービスをサポートしていません。とでているが大丈夫です。

Oracleに接続する

sqlplusコマンドを実行

[ora920@KAZAGUMO ora920]$ sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 日 Feb 27 13:01:47 2022

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn / as sysdba
接3されました。
SQL>

テストユーザーscottでログイン

[ora920@KAZAGUMO ora920]$ sqlplus scott/tiger

SQL*Plus: Release 9.2.0.1.0 - Production on 日 Feb 27 13:05:21 2022

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.



Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
に接3されました。
SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
BONUS                          TABLE
DEPT                           TABLE
EMP                            TABLE
SALGRADE                       TABLE

SQL>

データベースの自動起動/停止の設定をおこなう

大まかに以下をおこないます。

  • Oracleを初期化パラメータから起動するように設定
  • スクリプト「/etc/rc.d/init.d/dbora」を作成
  • デーモンの登録
  • oratabの編集
  • dbshutの修正

Oracleの起動をspfileで起動する設定にしているとOS起動時にOracle9iが起動しないので、spfileでなく従来通りの初期化パラメーターから起動するようにします。

その後、dboraをrootユーザーで登録します。

Oracleを初期化パラメータから起動するように設定

Oracle9iではspfileでは自動起動ができないので、pfile(init.ora)へ変更します。

SQL*PLUSでpfile作成する

以下を実行します。

create pfile='initora920.ora' from spfile='spfileora920.ora';

[ora920@KAZAGUMO ora920]$ sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 火 Mar 1 13:45:20 2022

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn / as sysdba
アイドル・インスタンスに接3しました。
SQL> startup
ORACLEインスタンスが起?しました。

Total System Global Area  219222116 bytes
Fixed Size                   450660 bytes
Variable Size             201326592 bytes
Database Buffers           16777216 bytes
Redo Buffers                 667648 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL>create pfile='initora920.ora' from spfile='spfileora920.ora';

ファイルが作.されました。

SQL> shutdown
データベースがクローズされました。
データベースがアンマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL>
spfileの名前を変更
[root@KAZAGUMO root]# cd /app/oracle/product/9.2.0/dbs/
[root@KAZAGUMO dbs]# ls
init.ora  initdw.ora  initora920.ora  lkORA920  orapwora920  spfileora920.ora
[root@KAZAGUMO dbs]#mv spfileora920.ora spfileora920.ora.org
[root@KAZAGUMO dbs]#

以上でspfileから従来の初期化パラメーターへの変更作業の終了です。

スクリプト「/etc/rc.d/init.d/dbora」を作成

rootユーザーで作業をおこないます。

「vi /etc/rc.d/init.d/dbora」でdboraを作成します。

#!/bin/sh
#
# chkconfig: - 99 10
# description: Oracle Database Server
# processname: ora_
#
# dbora         This shell script takes care of starting and stopping
#               Oracle Database Server.

SUBSYS=/var/lock/subsys/dbora
ORATAB=/etc/oratab

dbora_init() {
    # get ORACLE_HOME from the first entry,
    # whose 3rd field is Y, in $ORATAB.
    if [ ! -f $ORATAB ]
    then
        echo "auto startup/shudown of Oracle: $ORATAB does not exist."
        exit 1
    fi
    ORA_HOME=`awk -F: '/^[^#:]+:.+:[Y]$/ { print $2; exit}' $ORATAB`

    if [ x$ORA_HOME = "x" ]; then
        echo "There is not Y entry in $ORATAB ."
        exit 1
    fi

    # get oracle's owner from owner of dbstart.
    if [ ! -f $ORA_HOME/bin/dbstart ]
    then
        echo "auto startup/shudown of Oracle: Oracle may not be installed" \
             "correctly."
        exit 1
    fi
    ORA_OWNER=`ls -l $ORA_HOME/bin/dbstart | awk '{print $3}'`
}

case "$1" in
'start')
    if [ -f $SUBSYS ]; then
        echo $0 alredy started.
        exit 1
    fi
    dbora_init
    # Start the Oracle databases:
    su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart"
    su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
    # Start Intelligent Agent and Oracle Management Server
    # --- for Oracle9i ---
    # su - $ORA_OWNER -c "$ORA_HOME/bin/agentctl start"
    # su - $ORA_OWNER -c "$ORA_HOME/bin/oemctl start oms"
    # --- for Oracle8i ---
    # su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl dbsnmp_start"
    # su - $ORA_OWNER -c "$ORA_HOME/bin/oemctrl start oms"
    # --------------------
    # Start the Oracle HTTP Server
    # This is a BUG workaround. $ORACLE_HOME/Apache/Jserv/etc
    # /jserv.properties needs DISPLAY.
    # test -z "$DISPLAY" && export DISPLAY=":60000.0"
    # su - $ORA_OWNER -c "$ORA_HOME/Apache/Apache/bin/apachectl start"
    # --------------------
    touch $SUBSYS
    ;;

'stop')
    if [ ! -f $SUBSYS ]; then
        echo $0 alredy stopped.
        exit 1
    fi
    dbora_init
    # Stop Intelligent Agent
    # --- for Oracle9i ---
    # su - $ORA_OWNER -c "$ORA_HOME/bin/agentctl stop"
    # --- for Oracle8i ---
    # su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl dbsnmp_stop"
    # --------------------
    # Stop the Oracle HTTP Server
    # su - $ORA_OWNER -c "$ORA_HOME/Apache/Apache/bin/apachectl stop"
    # --------------------
    # Stop the Oracle databases:
    su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
    su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut"
    rm -f $SUBSYS
    ;;

'restart')
    $0 stop
    $0 start
    ;;

'status')
    if [ -f $SUBSYS ]; then
        echo $0 started.
    else
        echo $0 stopped.
    fi
    ;;
*)
    echo "Usage: $0 {start|stop|status}"
    exit 1
esac

exit 0

dboraに実行権限を付与

[root@KAZAGUMO root]# chmod 755 /etc/rc.d/init.d/dbora
[root@KAZAGUMO root]#

デーモンの登録

[root@KAZAGUMO root]# chkconfig --add dbora
[root@KAZAGUMO root]#

OS起動/終了時にOracleデーモンの起動/停止を有効にする

root@KAZAGUMO root]# chkconfig dbora on
[root@KAZAGUMO root]#

確認

[root@KAZAGUMO root]# chkconfig --list dbora
dbora           0:オフ  1:オフ  2:オフ  3:オン  4:オン  5:オン  6:オフ
[root@KAZAGUMO root]#

/etc/oratabの編集

「vi /etc/oratab」で「oratab」を編集
「N」を「Y」にします。
変更前

*:/app/oracle/product/9.2.0:N
ora920:/app/oracle/product/9.2.0:N

変更後

*:/app/oracle/product/9.2.0:N
ora920:/app/oracle/product/9.2.0:Y

dbshutの修正

ORACLE_HOME/bin以下に「dbshut」というOracleを停止するスクリプトがある。
このスクリプトの「shutdown」を「shutdown immediate」へ変更する。
※2か所あります
変更前

connect internal
shutdown

変更後

connect internal
shutdown immediate

終わり

以上でLinuxにOracle9iのインストール方法でした。

これを自力でできるようになればUNIXの一通りの操作ができるという物差しにもなると思います。