Personal Computer - Linux - Oracle8i

ご意見・ご感想は、nao_k@din.or.jpへお願いします。

今回は、Oracle8i EnterpriseEdition R8.1.5(OTN版)RedHat 6.2J にインストールしてみました。
レッドハット株式会社の発表では、 日本オラクル社が、Oracle8iの対応OSに加えたという事なので、遠慮なく使うことができるようになります(^_^;)


好みで言えば、VineLinuxも加えてほしいのですが、難しいでしょうね(^_^;)残念です。

しかし・・・、Windows版は、Oracle8からGUIツールにJavaを利用しはじめた事が、あまり好きではなかった のですが、Linuxでもここまでやるんですね・・・・しかも基本的にはXが必須になってしまったし・・(T_T)

とりあえず、インストール記録を残す事にします。
※OTN版を利用するので、事前にCD-Rに焼きつけています。その際、焼く時のディレクトリ構成がズレてしまったのですが、 それは気にしない事にします( (( ((ヽ(;^^)/

インストール対象
OS Official RedHat Linux 6.2 日本語版 (FTP版)
CPU Intel PentiumII 300MHz
MEMORY192MB(EDO 32MBx6)
SCSI IBM DCAS-34330 (4GB)

まず、インストール前に確認すべきこととして、CDにあるindex.htm を流すだけでも読んでみると、 インストールにあたっての必要要件がわかります。
※OTN版は英語でして、自分は英語がほとんど読めないのでかなりの流し読みです(^_^;;;
その中で、jre(Java Runtime Environment) が必要だと書かれてるので、別途用意します。
JRE 1.1.6 v5http://www.blackdown.orgから取ってきてイン ストールしろと書かれています。
他にも、Linuxカーネルのパラメーターを変更、とりあえず今回、これは無視しましょう( (( ((ヽ(;^^)/

Java Runtime Environment の準備

root で作業します。※ほんとは必要なとこだけ root で作業するほうが好ましいです。はい(^_^;)

ftp://ftp.lab.kdd.co.jp/Linux/java-linux/JDK-1.1.6/i386/glibc/v5/
より、jre 1.1.6 v5 を持ってきます。
  • jre_1.1.6-v5-glibc-x86.tar.bz2
bz2なファイルが一番小さいのでこれをとってきました。
それを、/usr/local/ にコピーします。


[root@sky root]# cp /home/nao/jre_1.1.6-v5-glibc-x86.tar.bz2 /usr/local/
[root@sky root]# cd /usr/local/

bz2なファイルは、bzip2で展開することができます。で、即展開。


[root@sky local]# bzip2 -d jre_1.1.6-v5-glibc-x86.tar.bz2

展開後、bz2なファイルがtarファイルになりました。
で、今度は、tarで展開すると、やっとすべてのファイルが出てきます。


[root@sky local]# tar xvf jre_1.1.6-v5-glibc-x86.tar
jre116_v5/
jre116_v5/lib/
〜略〜
jre116_v5/bin/checkVersions
jre116_v5/COPYRIGHT
jre116_v5/LICENSE
jre116_v5/README

展開後、jre116_v5 というディレクトリが作成されていて、その下に jre のファイルがあります。
それを /usr/local/jre というシンボリックリンクで利用できるようにします。
こうしておくと、他バージョンの jre を持ってきたときに、リンクの張り替えで各バージョンのファイルはそのままで使い分けることができます。


[root@sky local]# ln -s /usr/local/jre116_v5 /usr/local/jre

あとは、念のため、ls で確認しておきましょう。


[root@sky local]# ls -al
合計 13380
drwxr-xr-x   12 root     root         4096 Jun 19 01:12 .
drwxr-xr-x   20 root     root         4096 Jun  5 09:50 ..
drwxr-xr-x    2 root     root         4096 Jun 18 02:20 bin
drwxr-xr-x    2 root     root         4096 Feb  7  1996 doc
drwxr-xr-x    2 root     root         4096 Feb  7  1996 etc
drwxr-xr-x    2 root     root         4096 Feb  7  1996 games
drwxr-xr-x    2 root     root         4096 Feb  7  1996 info
lrwxrwxrwx    1 root     root           20 Jun 19 01:12 jre -> /usr/local/jre116_v5
drwxrwxr-x    4 505      505          4096 Oct  3  1998 jre116_v5
-rw-r--r--    1 root     root     13629440 Jun 19 01:06 jre_1.1.6-v5-glibc-x86.tar
drwxr-xr-x    2 root     root         4096 Feb  7  1996 lib
drwxr-xr-x   12 root     root         4096 Jun 18 04:02 man
drwxr-xr-x    2 root     root         4096 Feb  7  1996 sbin
drwxr-xr-x    2 root     root         4096 Feb  7  1996 src

Oracleのインストーラーは、gmake を利用するようです。といってのその正体は普通の make です。
確認してみましょう。


[root@sky /root]# which gmake
/usr/bin/gmake
[root@sky /root]# ls -al /usr/bin/gmake
lrwxrwxrwx    1 root     root            4 Jun  5 09:51 /usr/bin/gmake -> make

ちゃんとありますね。
もしなければ、次のようにしてシンボリックリンクを作成してください。

[root@sky /root]# ln -s /usr/bin/make /usr/bin/gmake

また、TCL7.5 以上が必要との事です。
大抵初めから入ってるので、rpm の方で確認してみます。

tcl-8.0.5 が入ってます。7.5 以上なので多分大丈夫でしょう(^_^;)


[root@sky /root]# rpm -qa | grep tcl
tcl-8.0.5-35j2
tclx-8.0.5-35j2

あと、OracleのGUIインストーラーは、なかなかメモリ食いらしいので、192MBでも心細い為、スワップで増強してみます。
この方法だと、あとで楽に切り捨てられるので楽だそうです。(あるMLで仕入れた情報(^_^;;;;)
dd でファイルをつくって、mkswap でスワップ領域として使えるようにフォーマット(かな?)します。
swapon でスワップとして有効にしてしまえばOKです。
現在、メインメモリ192MB、スワップが128MBなので、あと128MB追加してみました。


[root@sky root]# dd if=/dev/zero of=SWAPFILE bs=1024 count=131072
読み込んだブロック数は 131072+0
書き込んだブロック数は 131072+0
[root@sky root]# mkswap SWAPFILE
スワップ空間バージョン 1 を設定します、サイズ = 134213632 バイト
[root@sky root]# swapon SWAPFILE

Oracleユーザーの準備

root で作業します。

Oracle製品をインストールしたりする管理者グループとして、oinstall を作ります。
あと、データベースを管理するグループとして、dba を作ります。
状況に応じて、-g オプションで、gid を指定してください。


[root@sky root]# groupadd oinstall
[root@sky root]# groupadd dba

次は、Oracleのプロセスが関るユーザーを作成します。
-g オプションで、oinstall グループに所属する事を指定し、
-G オプションで、dba グループにも所属させる事にします。

状況に応じて、-u オプションで、uid を指定してください。

Oracleのプロセスは、このユーザーのプロセスとして起動し、権限はすべてそのユーザーに依存します。
デーモンのftpdとユーザーのftpなどと同じ関係ですね。

で、もちろん、パスワードも変更します。

ora8i というユーザー名は勝手に付けたものです。普通は oracle とか ora815 とかかな。


[root@sky root]# useradd ora8i -g oinstall -G dba
[root@sky root]# passwd ora8i
Changing password for user ora8i
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully

次は、さっそく、作成したユーザー ora8i で作業します。
Oracleのインストーラーは、JavaなGUIになっているため、Xが起動しなくてはいけません。
多少狭くても、VGAで十分なのであまりこだわらなくてもいいかもしれません。でも、ちょっとなぁ・・(^_^;)
一応、VGAの16色で簡単に設定したXを利用する事にします。
で、画面のコピーが欲しかったので、VNCをさらに利用してます(^_^;)

では、startx しますぅ〜

GNOMEKDE は、なんか好きじゃないのでインストールしなかったら、Fvwm が残ってました(^_^;)
GNOME だとうまくインストーラーが動かないという情報もあります。どっちかっていうと KDE が無難みたいですね。 どういう風にうまく動かないのかわからないので今度調べてみる事にします。

環境変数 LANG 次第で、インストーラーの一部で文字化けが発生します。
その場合は、回避策は、LANG=C としましょう。
でも、自分は、LANG=ja_JP.eucJP のままでインストールしました( (( ((ヽ(;^^)/
export LANG=C


JavaなGUIインストーラーによるインストール作業
1. とりあえず、ora8ihome を確認してみます。
最初はOracle用の環境変数の設定が必要なので、目的は、.bash_profile です。
.bash_profile ではなく、.bashrc を利用する方法もあります。
  • .bash_profile ログイン時のみ有効です。.bashrc も呼び出します。
  • .bashrc        ログイン後に新たに起動するシェルにて有効です。 上での kterm 等。
2. vi 等を利用して、Oracleのインストールや稼働動作に必要な環境変数を書き込みます。
[ora8i@sky ora8i]$ vi .bash_profile

ORACLE_BASE は、どこにインストールするかを考えて設定しましょう。
自分は安易に、ユーザーora8i のホームでいいや。と決めました(^_^;)
ORACLE_SID ですが、今回は妥当なorclで作りたいと思います。
3.
# Oracle Env
umask 022
export ULIMIT=`ulimit`
export ORACLE_TERM=vt100
export ORACLE_OWNER=$USER
export ORACLE_BASE=/home/$USER
export ORACLE_HOME=$ORACLE_BASE/app
export ORACLE_DOC=$ORACLE_HOME/doc
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG='japanese_japan.ja16euc'
export JAVA_HOME=/usr/local/jre
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$PATH:$ORACLE_HOME/bin:$JAVA_HOME/bin
export ORACLE_SID=orcl
4. root で、OracleのCDをマウントします。
マウント後(もちろん先でもいいです(^_^;))、一応、動作環境を満たしているか確認します。
df でディスクの使用容量を見ることができます。約4GB中17%しか使ってません。
free でメモリ・スワップの状況を見ることができます。メモリ192MB、スワップ256MBあります。
cat /proc/swaps でスワップ領域の一覧を確認できます。ちゃんと増強した分が入ってます。

free ですが、RedHatLinuxや、VineLinuxでは、/usr/bin/ の下にあるコマンドなんですが、 一部のTurboLinux(6.1Serverと6.0WSだけ?)では、/bin/ の下にあるため、dbassist が起動しない事があるそうです。
その場合は、ln -s /bin/free /usr/bin/ として、リンクで誤魔化せば回避できるそうです。
5. そういえば、環境変数をまだ.bash_profile に書き込んだだけで現在のセッションに反映させていませんでした。
source .bash_profile
で、反映する事ができます。

その後、env で環境変数を確認してみましょう。

これで、インストーラーを起動する準備ができました。
6. すでにマウントしているので、cd mnt/cdrom/ とすればカレントディレクトリが変わります。
が、このCDはちょっと焼くときに失敗してしまってるので、
さらにcd Oracle8i/ とします(T_T)
焼き直すのはもう面倒なのでこのまま使いつづけます( (( ((ヽ(;^^)/
ls -aF で確認してみます。
runInstaller がインストーラーです。
./runInstaller として実行します。
Error in CreateOUIProcess(): -1 でエラーです(T_T)起動しません。
7. そういえばと、OTNに、RedHat6.1へのインストール資料が確かありました。
http://technet.oracle.com/tech/linux/
http://technet.oracle.com/tech/linux/htdocs/install.pdf
これです。この資料には、更に下のinstall/linux/runIns.sh を使えと書かれています。
では、さっそく、cd install/linux/ とし、ls -aF で確認すると目的のファイルがあります。
では、./runIns.sh として実行〜。
8. めでたく起動しました(^_^;)

しかし起動するだけでも、時間がかかるし、CPU占有率が・・右下の方で確認できます(^_^;)
で、すでにインストール済みのものなんてないし、とにかく次へいきましょう。(^_^;)
9. ソースの方はそのままデフォルトでOKとして、インストール先を確認します。
ORACLE_HOME/app がデフォルトになっています。変更なしで次へ。

10. 製品リストのロード中...


11. UNIXグループ名は、事前に管理用として作成している dba とします。


12. root で、/tmp/orainstall/orainstRoot.sh を実行してから、再試行ボタンを押してインストールを継続すれば良いようです。


13. 事前に、root で処理をしていた kterm の方で、実行してみます。
すると、

[root@sky /root]# /tmp/orainstall/orainstRoot.sh
Oracle?????????????????????????(/etc/oraInst.loc)
???????????????/home/ora8i/oraInventory ?? dba.
となりました。文字が化けてます。

LANG=C の場合は、次のように表示されます。

[root@sky /root]# /tmp/orainstall/orainstRoot.sh
Creating Oracle Inventory pointer file (/etc/oraInst.loc)
Changing groupname of /home/ora8i/oraInventory to dba.

そして、元の方で、再試行ボタンを押して次に進みます。
14. インストールする製品を選択できます。

ここでは、もちろん目的は、Oracle8i Enterprise Edition 8.1.5.0.0 です。
15. インストールの種類を選択できます。

注意する点は、OTN版なので、基本的にUS仕様になっています。
ですので、Custom を選択し、日本語でも利用できるようにしましょう。

※日本販売用は一度利用したことがあるのですが、この確認はしていません。
16. Custom ということで、使用可能な製品コンポーネントを選択できるようになります。

Oracle interMedia 8.1.5.0.0 は選択するとインストール作業になんらかの問題が発生するという話もありますし、もともと使う気もないので省きます。
あと、JDBCSQLJUniversal Installerを省き、あとはほとんど選択しました。
そして、次に行く前に、製品の言語を設定します。
17. 言語の選択

英語のみしか選択されていない為、日本語を追加します。

18. 戻ってきて、次へ進むと、なにやら準備を始めたようです。


19. Create Databse

初期データベースとして作成するかどうかですが、別に今は作る気がないので、Noを選択。
そして次へ。
20. Oracle Protocol Support

なにも一覧にでてきません(^_^;)
せめてTCP/IPぐらい出てきてほしいんですけど・・・・

いろいろ調べてみたら、現在はこういうものらしい(^_^;)とりあえず次へ。
21. サマリー

とりあえず、インストール概要がまとめられて表示され・・・・

必要な領域
ボリューム / 必須 457MB : 使用可能 使用できません。

(^_^;)なんだそれは。使用可能なのか。使用できないのか。どっちだ(^_^;)
約4GB中17%しか使ってないディスクなのに、なんなんだ一体(^_^;)
とりあえず、強行して次へ(^_^;)
22. ディスクに十分な領域がないため、インストールに失敗するおそれがあります。続行しますか?

って・・・・これは残容量の算出がおかしい・・・

とりあえず、十分な容量はあるので、強行的に続行します(^_^;)
23. インベントリ/home/ora8i/oraInventoryに書き込むための十分な容量がない可能性があります。続行しますか?

いや、だから十分に有るってば(^_^;)。つ〜ことで、強制的に続行(^_^;)

24. インストール

やっとファイルのコピーが始まりました(^_^;)ここでしばし待ちます。
25. ファイルコピーも10分程度で終わり・・・

次に進む前に、別のウィンドウからルートとしてログインし、/home/ora8i/app/root.shにあるroot.shを実行してください。

との事。

26. とりあえず、root 処理用にキープしている kterm で処理することにします。

ところが、/home/ora8i/app/root.shにあるroot.sh って・・・ないじゃん(^_^;)
これって、/home/ora8i/app/にあるroot.sh なのね(^_^;)

で、実行してみます。
[root@sky app]# ./root.sh
bash: ./root.sh: 許可がありません

が〜ん。実行できないではないか・・・・とりあえず確認。
[root@sky app]# ls -al root.sh
-rw-r--r-- 1 ora8i oinstall 5181 Jul 1 21:54 root.sh

とりあえず実行できるようにビットを立てます。
[root@sky app]# chmod +x root.sh
[root@sky app]# ls -al root.sh
-rwxr-xr-x 1 ora8i oinstall 5181 Jul 1 21:54 root.sh

[root@sky app]# ./root.sh
Running Oracle8 root.sh script...
やっと実行できました(^_^;)

Enter the full pathname of the local bin directory: [/usr/bin]:
と、localなbinはどこ?って聞かれたので、素直に、/usr/local/bin と答えます。

すると、/etc/oratab の作成とかいろいろやってくれてるようです。
27. ファイルコピー、まだ終わってなかったようです(^_^;)

でも、数分でそれも終わり・・・・
28. Oracle Database Configuretion Assistant

JNLS例外:oracle.ntpg.jnls.KNLSException
各国文字キャラクタ・セットを見つけることができません。Oracleインストレーションを確認して下さい。

だ、そうです(^_^;)

で、先のpdf資料に、この警告は無視しなさいと書かれていますので、無視します。

でも・・・Create Database はしない って答えたはずなんだけどなぁ・・・(^_^;)
29. Oracle Database Configuretion Assistant

今、作るつもりはなかったんだけど、起動してしまいました(^_^;)

まぁ、雛形にするスクリプト程度を作ることにしますか。
30. Oracle Database Configuretion Assistant

もちろん、データベースの作成 をします。

31. Oracle Database Configuretion Assistant

Oracle8 for Linux の時に、DBのキャラクタ・セット(言語コード)の変更はカスタムでないと出来ないとかいう問題があったので、今回も念のためカスタムで行きます。

それに、各パラメーターのデフォルトの値も見ておきたいし(^_^;)
32. Oracle Database Configuretion Assistant

データベースの稼働環境ですが、目的にあったものを選ぶと各パラメーターのデフォルト値がそれなりに変化するみたいですね。
だけど、目的は実験程度なのでハイブリッドで行きます。

33. Oracle Database Configuretion Assistant

同時接続ユーザー数ですが、これはライセンス次第ですね。
34. Oracle Database Configuretion Assistant

データベースのデフォルトの稼働モード。これはリスナーの稼働モードですね。

共有サーバー(マルチスレッド)はとりあえず置いておいて基本として専用サーバーで(^_^;)
必要があればあとで変更します。
35. Oracle Database Configuretion Assistant

使用するカートリッジとオプション

InterMedia は、使わないしインストールもしてないので外します。
JServer って・・、・R8.1.5 ではまだ正式サポートでもないし、Javaはあまり好きでもないので外します(^_^;)
36. Oracle Database Configuretion Assistant

グローバル・データベースネームや、SID初期化ファイル互換パラメータキャラクタ・セットの 変更ができます。互換パラメータは必要に応じて8.0.5に合わせる事もできます。

次に行く前に目的のキャラクタ・セットを変更します。
37. Oracle Database Configuretion Assistant

データベース・キャラクタ・セット

基本となるキャラクタ・セットですが、今回はJA16EUC でいきます。
あと、NVARCHAR2等の各国文字仕様のデータ型を利用する場合に関係してくる各国文字キャラクタ・セットをそれなりのものへ変更します。JA16EUCFIXED にします。

状況次第では、SJIS(JA16SJIS、JA16SJISFIXED)とかを利用した方が良いケースもありますので、よく考えて設定しましょう。
データベース作成後は、変更できません。変更するならば、再作成になります。
38. Oracle Database Configuretion Assistant

制御ファイル最大データファイル数最大ログファイル数最大ログメンバー数を変更できます。
が、あとでスクリプトをカスタマイズする予定なのでこの辺からあとはほとんどデフォルトでほっときます。
39. Oracle Database Configuretion Assistant

各領域や、それに対応する各データファイル等が変更できます。

40. Oracle Database Configuretion Assistant

REDOログファイルファイルサイズを変更できます。

41. Oracle Database Configuretion Assistant

ログのチェックポイントや、アーカイブ・ログの設定ができます。

42. Oracle Database Configuretion Assistant

SGAパラメータの設定ができます。
共有プールサイズブロックバッファ数ログバッファサイズプロセス数ブロックサイズ

43. Oracle Database Configuretion Assistant

トレース関係のログの出力先を変更できます。

ユーザープロセスのログバックグラウンドプロセスのログコアダンプ
44. Oracle Database Configuretion Assistant

で、今作る気は毛頭無いので、シェル・スクリプトにして保存しておきましょう。

あとで、好きなように書き換えて実行してしまえば良いだけです。
45. Oracle Database Configuretion Assistant

保存先ですが、まだ、そのままでいいか。


46. Oracle Database Configuretion Assistant

/home/ora8i/app/install/ に、sqlorcl.sh というファイルで保存されます。

47. Oracle Database Configuretion Assistant

保存されました(^_^;)。


48. Oracle Database Configuretion Assistant

インストールの終了

やっと終わりました。インストール(^_^;)
別の製品もないので終了です。
49. Oracle Database Configuretion Assistant

終了確認です。はいと答えます。

50. Oracle Database Configuretion Assistant は終了しました。

とりあえず、作られたファイル等を確認してみましょう。
51. adminapporaInventoryoradata の4つのディレクトリが増えています。

スクリプトを見ると、oradata にデータベースのファイルを置くようだったので、そこを見てみます。
orcl というディレクトリがありますね。SID でディレクトリ名を決めてるのでしょう。
となると、スクリプトを流すと、この下にデータベースが作られるって事ですね。
次に示す パッチ が、あるのならば、作成は、パッチを当ててからのほうが良いかもしれません。

以上で、インストールは終了です。X はもう必要ないので落とします。もちろん落とさず作業を続けてもOKです。

linux.sh
資料によるとリスナー関連のパーミッションとかいろいろ修正するスクリプトみたいです。

./linux.sh

流してみるとちょっと warning 出てるとこがありますが、error じゃないので楽観しておきます(^_^;)


[ora8i@sky ora8i]$ cd $ORACLE_HOME/install/utl/
[ora8i@sky utl]$ pwd
/home/ora8i/app/install/utl
[ora8i@sky utl]$ ls -al
合計 48
drwxr-x--x    2 ora8i    oinstall     4096 Jul  1 21:56 .
drwxr-x--x    3 ora8i    oinstall     4096 Jul  1 22:10 ..
-rwxr-xr-x    1 ora8i    oinstall     7459 Jul 16  1999 linux.sbs
-rwxr-xr-x    1 ora8i    oinstall     7709 Jul  1 21:56 linux.sh
-rwxr-xr-x    1 ora8i    oinstall      808 May 19  1999 read.sh
-rwxr-xr-x    1 ora8i    oinstall     5191 Jul 16  1999 root.sbs
-rw-r--r--    1 ora8i    oinstall     5180 Jul  1 21:50 root.sh
-rwxr-xr-x    1 ora8i    oinstall     2189 May 19  1999 unixenv
[ora8i@sky utl]$ ./linux.sh
(if [ "compile" = "compile" ] ; then \
  /home/ora8i/app/bin/gennttab > ntcontab.c ;\
  cc  -c ntcontab.c ;\
  rm -f /home/ora8i/app/lib/ntcontab.o ;\
  mv ntcontab.o /home/ora8i/app/lib ;\
          ar rv /home/ora8i/app/lib/libn8.a /home/ora8i/app/lib/ntcontab.o ; fi)
r - /home/ora8i/app/lib/ntcontab.o
〜略〜
mv -f /home/ora8i/app/bin/sbttest /home/ora8i/app/bin/sbttestO
mv /home/ora8i/app/rdbms/lib/sbttest /home/ora8i/app/bin/sbttest
chmod 751 /home/ora8i/app/bin/sbttest

Oracle 8.1.5.0.2 Patch set
OTN版 は一緒にパッチもあるので、さっそくあててみます。
ファイルは、linux_815patches.tgz です。8.1.5.0.08.1.5.0.18.1.5.0.2 にするパッチだそうです。

修正内容は、http://technet.oracle.com/support/tech/linux/files/readme.txt にあります。

tar zxvf linux_815patches.tgz として展開します。
すると、linux_815patches というディレクトリができ、その下にある linux_815patches.sh を実行します。

cd linux_815patches
./linux_815patches.sh


[ora8i@sky ora8i]$ ls
Xrootenv.0  admin  app  linux_815patches.tgz  oraInventory  oradata
[ora8i@sky ora8i]$ tar zxvf linux_815patches.tgz
linux_815patches/
linux_815patches/81501/
linux_815patches/81501/bin/
〜略〜
linux_815patches/README
linux_815patches/linux_815patches.sh

[ora8i@sky ora8i]$ cd linux_815patches
[ora8i@sky linux_815patches]$ ./linux_815patches.sh

You are upgrading Oracle 8i for Intel-Linux to 8.1.5.0.2


Applying patch 8.1.5.0.1 .....done

Applying patch 8.1.5.0.2 .....done


Check the files /tmp/81501.log & /tmp/81502.log for any error(s)


Please link the Oracle Intelligent Agent executables now,
as outlined in the Release Note.

これで、パッチをあてました。さっそく、svrmgrl で確認してみましょう。

Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production

となっていれば、OKです。


[ora8i@sky linux_815patches]$ svrmgrl

Oracle Server Manager Release 3.1.5.0.0 - Production

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

Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SVRMGR> exit
Sever Managerを終了しました。

データベース作成

さて、次は、データベース作成です。

もし、dbassist で作成した、スクリプト を利用する場合は、sqlSID.sh を実行するだけです。
もちろん、スクリプトを好きに書き換えた上で、実行してもOKです。もし間違いがあった場合の為に作成されるログは目を通しましょう。


[ora8i@sky ora8i]$ cd app/install/
[ora8i@sky install]$ ls -F
crdb1.log       make.log           orclrun2.sh*        seed.log
crdborcl.log    mdinst.log         orclspatial1.sh*    spoolrep.log
createseed.sh   orclordinst.sh*    orclsqlplus.sh*     sqlorcl.sh*
createseed1.sh  orclreplicate.sh*  orclsqlplus1.sh*    tsinst.log
la              orclrun.sh*        orclsqlplus2.sh*    unix.rgs
ls              orclrun1.sh*       orcltimeseries.sh*  utl/
[ora8i@sky install]$ ./sqlorcl.sh

作成後は、リスナー設定や、データベースの自動起動です。


データベースの起動と停止のスクリプトを用意しよう

あらかじめ、用意されているスクリプトで起動と停止ができるようにします。
  • dbstart (起動用スクリプト)
  • dbshut (停止用スクリプト)
これらは、/etc/oratab に設定してあるインスタンスのみに作用します。

/etc/oratab には、ORACLE_SIDORACLE_HOME対象とするかのY/N を記述します。


[ora8i@sky ora8i]$ echo $ORACLE_HOME
/home/ora8i/app
[ora8i@sky ora8i]$ ls -al /etc/oratab
-rw-rw-r--    1 ora8i    root          676 Jul  1 22:01 /etc/oratab

[ora8i@sky ora8i]$ vi /etc/oratab
#

# This file is used by ORACLE utilities.  It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.

# A colon, ':', is used as the field terminator.  A new line terminates
# the entry.  Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
#   $ORACLE_SID:$ORACLE_HOME::
#
# The first and second fields are the system identifier and home
# directory of the database respectively.  The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
orcl:/home/ora8i/app:Y
~
~
:wq

コメント部分にも説明がありますので、それほど凝った記述ではないです。

で、これで、dbstartdbshut の対象に、ORACLE_SID=orcl が加わりました。

起動は別にいいのですが、終了の shutdown コマンドには、いくつか種類が有ります。

dbshut の中身を確認すると、どうやら shutdowm normal(normalは省略可) のようです。

これですと、ユーザーが 接続している限り 絶対に shutdown できません。
せめて、immediate に変えましょう。でないといざという時に困ることになりかねません。
ということで変更します。


[ora8i@sky ora8i]$ which dbshut
~/app/bin/dbshut
[ora8i@sky ora8i]$ vi app/bin/dbshut

〜略〜
            if test -f $ORACLE_HOME/bin/svrmgrl; then
               svrmgrl << EOF
connect internal
shutdown
EOF
〜略〜

上記の部分を下記のように変更します。
shutdown 自体は、4ヶ所ほどあるので、全部書き換えた方が良いかも。
最低でも、svrmgrl(2ヶ所)sqlplus(1ヶ所) を利用してる部分だけでも書き換えたほうが良いでしょう。


〜略〜
            if test -f $ORACLE_HOME/bin/svrmgrl; then
               svrmgrl << EOF
connect internal
shutdown immediate
EOF
〜略〜

さっそく試してみましょう。すでに起動しているので、dbshut からですね。


[ora8i@sky ora8i]$ dbshut

Oracle Server Manager Release 3.1.5.0.0 - Production

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

Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SVRMGR> 接続されました。
SVRMGR> データベースがクローズされました。
データベースがディスマウントされました。
Oracleインスタンスが停止しました。
SVRMGR>
Sever Managerを終了しました。
Database "orcl" shut down.

きちんと終了しました。

では、次は、dbstart です。


[ora8i@sky ora8i]$ dbstart

Oracle Server Manager Release 3.1.5.0.0 - Production

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

Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SVRMGR> 接続されました。
SVRMGR> Oracleインスタンスが起動しました。
全システム・グローバル領域                        25759120バイト
Fixed Size                                          64912バイト
Variable Size                                     8744960バイト
Database Buffers                                 16777216バイト
Redo Buffers                                       172032バイト
データベースがマウントされました。
データベースがオープンされました。
SVRMGR>
Sever Managerを終了しました。

Database "orcl" warm started.

こちらも無事に、起動しました。問題ないですね。

ここで、下記のように、SGA32バイト とか表示された場合、

OTN版 の場合は、まだパッチを当てていない状態です。

製品版 の場合は、Patch-CD に、修整ファイルが入ってますので、リリースノート あたりを参照して、入れ換えましょう。


全システム・グローバル領域                        32バイト
Fixed Size                                       32バイト
Variable Size                                    32バイト
Database Buffers                                 32バイト
Redo Buffers                                     32バイト
データベースがマウントされました。
データベースがオープンされました。

リスナーの設定をしよう

データベースは問題なく作成できたわけですから、次は、他のクライアントからも利用できるように、リスナー を設定して起動させましょう。

リスナーの定義ファイル は、$ORACLE_HOME/network/admin/listener.ora です。
が、存在しないので、サンプルとして用意されている $ORACLE_HOME/network/admin/samples/listener.ora をコピーして利用します。


[ora8i@sky ora8i]$ ls -aF /home/ora8i/app/network/admin/
./  ../  namesdrp.sql  namesini.sql  namesupg.sql  samples/  sqlnet.fdf
[ora8i@sky ora8i]$ ls -aF /home/ora8i/app/network/admin/samples/
./  ../  cman.ora  listener.ora  names.ora  sqlnet.ora  tnsnames.ora
[ora8i@sky ora8i]$ cp app/network/admin/samples/listener.ora app/network/admin/

さっそく設定してみましょう。

LISTENER に、リスナーとしての設定(プロトコル等)を記述します。
  • 対象プロトコル は、TCP/IP を利用
  • 対象ホスト名は、localhost
  • 対象ポートは、1521
と、デフォルトですが、定番といえば定番です。(^_^;)

SID_LIST_LISTENER に、リスナーが受け付けるインスタンス等の詳細を設定します。
  • GLOBAL_DBNAME = orcl.yggdrasill
  • SID_NAME = orcl
  • ORACLE_HOME = /home/ora8i/app
このへんも話の流れ上、すでに決まりきってる内容ですね。

GLOBAL_DBNAME をここで記述しておくと、クライアントの設定が楽になったりもします。

GLOBAL_DBNAME = db_name.db_domain となります。


[ora8i@sky ora8i]$ vi app/network/admin/listener.ora

 LISTENER =
  (ADDRESS_LIST=
        (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
  )

 SID_LIST_LISTENER=
   (SID_LIST=
        (SID_DESC=
          (GLOBAL_DBNAME=orcl.yggdrasill
          (SID_NAME=orcl)
          (ORACLE_HOME=/home/ora8i/app)
        )
   )

設定ファイルの記述が終われば、次は、リスナーの起動です。

リスナーの起動、及び停止は、lsnrctl で実行します。
  • 起動 start
  • 停止 stop
では、さっそく、起動してみましょう。


[ora8i@sky ora8i]$ lsnrctl start

LSNRCTL for Linux: Version 8.1.5.0.0 - Production on 09-JUL-00 23:22:19

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

/home/ora8i/app/bin/tnslsnrを起動しています。お待ちください...

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

(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))に接続しています。
 リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for Linux: Version 8.1.5.0.0 - Production
開始日                    09-JUL-00 23:22:19
アップ時間                0 日 0 時 0 分 0 秒
トレース・レベル          off
セキュリティ              OFF
SNMP                      OFF
パラメータ・ファイル      /home/ora8i/app/network/admin/listener.ora
ログ・ファイル            /home/ora8i/app/network/log/listener.log
リスナーはサービスをサポートしていません。
コマンドは正常に終了しました。

正常に実行できました。

もし、ここで下記のようなエラーになる場合、共有ライブラリがロード出来無い。オープンできなかったというエラーなので、まずは、 環境変数 LD_LIBRARY_PATH が設定されているか確認して下さい。
もし問題なければ、今度はその LD_LIBRARY_PATH が示す場所に、メッセージの lib_filename のところに記述されるファイル名を 探してください。ファイルが存在しない場合、インストールに失敗している事になります。
なかには、別のOracleからファイルをコピーしてきた人もいるそうです(^_^;)他にも解決策はあるようですが、自分はそういう事に遭遇した事がまだ ありませんので、よくわかりません(^_^;)


lsnrctl: error in loading shared libraries: lib_filename: cannot open
shared object file: No such file or directory

ついでにプロセスも確認してみましょう。


[ora8i@sky orcl]$ ps ax | grep ora
 1078 ?        S      0:01 ora_pmon_orcl
 1080 ?        S      0:00 ora_dbw0_orcl
 1082 ?        S      0:00 ora_lgwr_orcl
 1084 ?        S      0:00 ora_ckpt_orcl
 1086 ?        S      0:00 ora_smon_orcl
 1088 ?        S      0:00 ora_reco_orcl
 1090 ?        S      0:00 ora_arc0_orcl
 1125 ?        S      0:00 /home/ora8i/app/bin/tnslsnr LISTENER -inherit

次は、停止をしてみます。


[ora8i@sky ora8i]$ lsnrctl stop

LSNRCTL for Linux: Version 8.1.5.0.0 - Production on 09-JUL-00 23:22:48

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

(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))に接続しています。
コマンドは正常に終了しました。

無事停止もできました。

次は、もう一度起動して、クライアントからネットワーク経由でリスナーの確認をしてみましょう。

クライアントとして、Windows2000 + Oracle8.0.6(OTN版) を利用します。
もちろん、接続できる Net8 ならば、どのバージョンでもかまいません。

リスナーの確認用として、tnsping80 がありますので、それを利用します。

接続先は、先にリスナーで指定した GLOBAL_DBNAME を利用します。


E:\>tnsping80 orcl.yggdrasill

TNS Ping Utility for 32-bit Windows: Version 8.0.6.0.0 - Production on 09-JUL-00
 23:09:07

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

Attempting to contact (ADDRESS=(PROTOCOL=TCP)(HOST=orcl)(PORT=1521))
OK (140ミリ秒)

リスナーが存在(起動)している事がわかりました。

次は、SQL Plus で実際に接続してなにか SQL を実行してみましょう。


E:\>sqlplus system/manager@orcl.yggdrasill


SQL*Plus: Release 8.0.6.0.0 - Production on 日 Jul 9 23:15:48 2000

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



Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production
に接続されました。
SQL> select table_name from tabs;

TABLE_NAME
------------------------------------------------------------
AQ$_QUEUES
AQ$_QUEUE_TABLES
AQ$_SCHEDULES
DEF$_AQCALL
〜略〜

TABLE_NAME
------------------------------------------------------------
REPCAT$_SNAPGROUP
REPCAT$_TEMPLATE_OBJECTS
REPCAT$_TEMPLATE_PARMS
REPCAT$_TEMPLATE_SITES
REPCAT$_USER_AUTHORIZATIONS
REPCAT$_USER_PARM_VALUES
SQLPLUS_PRODUCT_PROFILE

49行が選択されました。

もし、接続に失敗し、下記エラーメッセージが出る場合は、

GLOBAL_DBNAME = db_name.db_domain を確認してください。。


エラー:
ORA-12514: Message 12514 not found;  product=RDBMS80; facility=ORA

これでクライアントからも問題なく利用できるようになりました。

次は、OS起動時 に、自動的に起動するようにしたいと思います。

RedHat系 では、この手のスクリプトは、/etc/rc.d/init.d/ に置き、あとは ランレベル に応じて、起動や停止の用の シンボリックリンク を置くようです。

ここでは、スクリプト名 と、/var/lock/subsys/ に置くロックファイル名を決めなくてはいけません。

この二つは同じ名前にする方が好ましいです。
同じにすると、OSの起動時と終了時、同じくリブート時に、画面に起動中、または停止中として、表示されるようになります。
今回は、$ORACLE_USER をそのまま利用することにします。

ここでは、OS に関連する事なので、root になって、作業しました。

機能としては、
  • start (データベース、リスナー起動)
  • stop (データベース、リスナー停止)
  • restart (データベース、リスナー再起動)
  • status (SGA情報の表示)
  • * (指定なしの場合は、パラメータのヘルプ)
status は無くてもいいかもしれませんし、まだ十分な記述はしてないので修整の余地ありです。


[ora8i@sky orcl]$ su -l
Password:

[root@sky /root]# cd /etc/rc.d/init.d/
[root@sky init.d]# vi ora8i

#!/bin/sh
# Oracle8i Script

export ORACLE_OWNER=ora8i

case "$1" in
start)
        # Start daemons.
        echo -n " Starting oracle "
        touch /var/lock/subsys/$ORACLE_OWNER
        su -l $ORACLE_OWNER -c "dbstart"
        su -l $ORACLE_OWNER -c "lsnrctl start"
        ;;
stop)
        # Stop daemons.
        echo -n " Shutting down oracle "
        rm -f /var/lock/subsys/$ORACLE_OWNER
        su -l $ORACLE_OWNER -c "lsnrctl stop"
        su -l $ORACLE_OWNER -c "dbshut"
        ;;
restart)
        $0 stop
        $0 start
        ;;
status)
        su -l $ORACLE_OWNER -c "svrmgrl < connect internal
        show sga
        exit
        "
        su -l $ORACLE_OWNER -c "lsnrctl status"
        ;;
*)
        echo "Usage: oracle {start|stop|restart|status}"
        exit 1
esac

exit 0

次は、作成したスクリプトが実行できるように、実行属性 を与えます。


[root@sky init.d]# ls -al ora8i
-rw-r--r--    1 root     root          626 Jul  9 23:31 ora8i
[root@sky init.d]# chmod u+x ora8i
[root@sky init.d]# ls -al ora8i
-rwxr--r--    1 root     root          626 Jul  9 23:31 ora8i

実行できる状態になったら、実行してみましょう。

すでに起動している状態ですので、まずは、stop、そして start を試します。また残りも試しましょう。


[root@sky init.d]# ./ora8i stop
 Shutting down oracle
LSNRCTL for Linux: Version 8.1.5.0.0 - Production on 09-JUL-00 23:38:31

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

(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))に接続しています。
コマンドは正常に終了しました。

Oracle Server Manager Release 3.1.5.0.0 - Production

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

Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SVRMGR> 接続されました。
SVRMGR> データベースがクローズされました。
データベースがディスマウントされました。
Oracleインスタンスが停止しました。
SVRMGR>
Sever Managerを終了しました。
Database "orcl" shut down.

[root@sky init.d]# ./ora8i start
 Starting oracle
Oracle Server Manager Release 3.1.5.0.0 - Production

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

Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SVRMGR> 接続されました。
SVRMGR> Oracleインスタンスが起動しました。
全システム・グローバル領域                        25759120バイト
Fixed Size                                          64912バイト
Variable Size                                     8744960バイト
Database Buffers                                 16777216バイト
Redo Buffers                                       172032バイト
データベースがマウントされました。
データベースがオープンされました。
SVRMGR>
Sever Managerを終了しました。

Database "orcl" warm started.

LSNRCTL for Linux: Version 8.1.5.0.0 - Production on 09-JUL-00 23:39:13

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

/home/ora8i/app/bin/tnslsnrを起動しています。お待ちください...

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

(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))に接続しています。
 リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for Linux: Version 8.1.5.0.0 - Production
開始日                    09-JUL-00 23:39:13
アップ時間                0 日 0 時 0 分 0 秒
トレース・レベル          off
セキュリティ              OFF
SNMP                      OFF
パラメータ・ファイル      /home/ora8i/app/network/admin/listener.ora
ログ・ファイル            /home/ora8i/app/network/log/listener.log
リスナーはサービスをサポートしていません。
コマンドは正常に終了しました。

無事問題なく、確認できました。

次は、ランレベルを考慮して、自動起動、自動停止をできるようにします。

念のため、今から作成するリンクが存在していないか調べてます。って普通は存在してないですよね(^_^;)

起動に関しては、ランレベル3 だけでも良いかと思いますが、中には、GUI な起動をしているかもしれません。その場合は、ランレベル5 も考慮します。

起動を示す頭文字 S の次の番号が、起動順になりますので、ネットワークとか他のデーモンが起動した後の方が確実です。
よってかなり後半の数字を利用します。今回は 70 にしました。

数字の後ろの名前は、元のスクリプト名と同じにしたほうがどのリンクかすぐ判断できますので、リンク名は、S70ora8i に決めました。
では、作成しましょう。


[root@sky init.d]# find /etc/rc.d/rc?.d/ -name "???ora8i"
[root@sky init.d]# ls /etc/rc.d/rc3.d/S*
/etc/rc.d/rc3.d/S10network  /etc/rc.d/rc3.d/S50inet
/etc/rc.d/rc3.d/S11portmap  /etc/rc.d/rc3.d/S75keytable
/etc/rc.d/rc3.d/S20random   /etc/rc.d/rc3.d/S90xfs
/etc/rc.d/rc3.d/S30syslog   /etc/rc.d/rc3.d/S99local
/etc/rc.d/rc3.d/S35identd
[root@sky init.d]# ln -s /etc/rc.d/init.d/ora8i /etc/rc.d/rc3.d/S70ora8i
[root@sky init.d]# ln -s /etc/rc.d/init.d/ora8i /etc/rc.d/rc5.d/S70ora8i

次は、自動停止のリンクを作成します。

停止は、念のため、全ランレベル(0〜6) に作成したりします(^_^;) なにがあっても停止させたいですし。

停止を示す頭文字は、K です。順番もなによりも停止させたいので、早めの番号にします。
今回は、25 に決めました。


[root@sky init.d]# ls /etc/rc.d/rc3.d/K*
/etc/rc.d/rc3.d/K00linuxconf  /etc/rc.d/rc3.d/K50snmpd
/etc/rc.d/rc3.d/K01kdcrotate  /etc/rc.d/rc3.d/K60atd
/etc/rc.d/rc3.d/K12canna      /etc/rc.d/rc3.d/K60crond
/etc/rc.d/rc3.d/K15gpm        /etc/rc.d/rc3.d/K60lpd
/etc/rc.d/rc3.d/K15httpd      /etc/rc.d/rc3.d/K70nfslock
/etc/rc.d/rc3.d/K20nfs        /etc/rc.d/rc3.d/K75netfs
/etc/rc.d/rc3.d/K20rstatd     /etc/rc.d/rc3.d/K83ypbind
/etc/rc.d/rc3.d/K20rusersd    /etc/rc.d/rc3.d/K84apmd
/etc/rc.d/rc3.d/K20rwalld     /etc/rc.d/rc3.d/K84ypserv
/etc/rc.d/rc3.d/K20rwhod      /etc/rc.d/rc3.d/K92anacron
/etc/rc.d/rc3.d/K30sendmail   /etc/rc.d/rc3.d/K92ipchains
/etc/rc.d/rc3.d/K34yppasswdd  /etc/rc.d/rc3.d/K95kudzu
/etc/rc.d/rc3.d/K35smb        /etc/rc.d/rc3.d/K96pcmcia
[root@sky init.d]# ln -s /etc/rc.d/init.d/ora8i /etc/rc.d/rc0.d/K25ora8i
[root@sky init.d]# ln -s /etc/rc.d/init.d/ora8i /etc/rc.d/rc1.d/K25ora8i
[root@sky init.d]# ln -s /etc/rc.d/init.d/ora8i /etc/rc.d/rc2.d/K25ora8i
[root@sky init.d]# ln -s /etc/rc.d/init.d/ora8i /etc/rc.d/rc3.d/K25ora8i
[root@sky init.d]# ln -s /etc/rc.d/init.d/ora8i /etc/rc.d/rc4.d/K25ora8i
[root@sky init.d]# ln -s /etc/rc.d/init.d/ora8i /etc/rc.d/rc5.d/K25ora8i
[root@sky init.d]# ln -s /etc/rc.d/init.d/ora8i /etc/rc.d/rc6.d/K25ora8i

作成できれば、一通り確認してみます。


[root@sky init.d]# find /etc/rc.d/rc?.d/ -name "???ora8i"
/etc/rc.d/rc0.d/K25ora8i
/etc/rc.d/rc1.d/K25ora8i
/etc/rc.d/rc2.d/K25ora8i
/etc/rc.d/rc3.d/S70ora8i
/etc/rc.d/rc3.d/K25ora8i
/etc/rc.d/rc4.d/K25ora8i
/etc/rc.d/rc5.d/S70ora8i
/etc/rc.d/rc5.d/K25ora8i
/etc/rc.d/rc6.d/K25ora8i

では、きちんと自動停止、自動起動するかリブートしてみましょう。


[root@sky init.d]# reboot

Stopping ora8i                          [ OK ]

シャットダウン時には、上記のように表示され、起動時には、下記のように表示されます。


Starting ora8i                          [ OK ]

これで、すべて終了しました。(^_^;)ほっと一息。

と思っていたら、swapfileの後片づけしてません(^_^;)
そのまま利用したい場合は、起動毎に有効になるようにしないといけないので、rc.local にでも、swapon を書いてください。
自分はいらないので削除します。


Red Hat Linux release 6.2 (Zoot)
Kernel 2.2.14-5.0 on an i686
login: root
Password:
Last login: Wed Jul 26 02:47:52 from blue
[root@sky /root]# ls
SWAPFILE
[root@sky /root]# cat /proc/swaps
Filename                        Type            Size    Used    Priority
/dev/sda5                       partition       136512  0       -1
/root/SWAPFILE                  file            131064  0       -2
[root@sky /root]# swapoff SWAPFILE
[root@sky /root]# cat /proc/swaps
Filename                        Type            Size    Used    Priority
/dev/sda5                       partition       136512  0       -1
[root@sky /root]# rm SWAPFILE
rm: `SWAPFILE' を削除しますか(yes/no)? y
[root@sky /root]# ls
[root@sky /root]#

これでほんとに終わりでしょう(^_^;)きっと。

しかし、流して作成しただけなので、実際の運用に使えるデータベースではありません。
用途やそのときどきのハードに合わせた設定等をしないといけないでしょう。
これは、あくまで勉強の一環です。


おまけ
複数インスタンスを扱う場合、/etc/oratab に対象インスタンスをすべて羅列すれば良いです。

ためしに、$ORACLE_SID=test を作成しました。

これできちんと、dbstartdbshut できる事が確認できます。


[ora8i@sky ora8i]$ cat /etc/oratab
〜略〜
orcl:/home/ora8i/app:Y
test:/home/ora8i/app:Y

[ora8i@sky ora8i]$ dbshut

Oracle Server Manager Release 3.1.5.0.0 - Production

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

Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SVRMGR> 接続されました。
SVRMGR> データベースがクローズされました。
データベースがディスマウントされました。
Oracleインスタンスが停止しました。
SVRMGR>
Sever Managerを終了しました。
Database "orcl" shut down.

Oracle Server Manager Release 3.1.5.0.0 - Production

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

Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SVRMGR> 接続されました。
SVRMGR> データベースがクローズされました。
データベースがディスマウントされました。
Oracleインスタンスが停止しました。
SVRMGR>
Sever Managerを終了しました。
Database "test" shut down.
[ora8i@sky ora8i]$ dbstart

Oracle Server Manager Release 3.1.5.0.0 - Production

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

Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SVRMGR> 接続されました。
SVRMGR> Oracleインスタンスが起動しました。
全システム・グローバル領域                        25759120バイト
Fixed Size                                          64912バイト
Variable Size                                     8744960バイト
Database Buffers                                 16777216バイト
Redo Buffers                                       172032バイト
データベースがマウントされました。
データベースがオープンされました。
SVRMGR>
Sever Managerを終了しました。

Database "orcl" warm started.

Oracle Server Manager Release 3.1.5.0.0 - Production

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

Oracle8i Enterprise Edition Release 8.1.5.0.2 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SVRMGR> 接続されました。
SVRMGR> Oracleインスタンスが起動しました。
全システム・グローバル領域                        25759120バイト
Fixed Size                                          64912バイト
Variable Size                                     8744960バイト
Database Buffers                                 16777216バイト
Redo Buffers                                       172032バイト
データベースがマウントされました。
データベースがオープンされました。
SVRMGR>
Sever Managerを終了しました。

Database "test" warm started.



作成日 2000/07/05 更新日 2000/07/26