Oracle新人のRACインストール その3

投稿日: 2006年5月17日

<Oracle新人のRACインストール その3>
ペンネーム:world famous beagle

先週の表記に誤りがありましたので、訂正させて頂きます。

’そのアーカイブされたファイルがさらに、(GUN)ZIPという形式で’
という部分の、
(GUN)ZIP →(GNU)ZIP
でした。

—-新人のあせり—-
「Oracleのインストールってもっと簡単に終わるかと思っていたけど、まだOS
をインストールして、モジュールを転送しただけ。たしかに、FTPだとか圧縮
だとか知らなかったことを学んではいるけど・・・。今日は、インストール前
の準備をやる予定。どれくらい時間がかかるかもわからない。少し先が不安に
なってきたな」
——————–

さて、早速作業に移りたいけど一度、インストールの事前準備の手順を整理し
よう。インストールマニュアルを読んできたから、それを箇条書きにすると、

事前準備
■パッケージの確認
■カーネルパラメーターの変更と反映
■limits.confの設定
■ネットワークの設定
■グループとユーザの作成
■インストール環境の設定
■鍵の作成
■共有ディスクの設定

それでは、早速パッケージの確認から、スタート!

「富樫さん、今日はパッケージの確認をするんですが、パッケージっていうの
はなんのためにあるんですか?」
「あ、やっぱりそこからわかんないのか」
「そ、そうですね」
「パッケージっていうのはね、簡単に言うとOracleをインストールする時とか、
Oracleが動作するときに、パッケージに入っているソフトウェアを使ったりす
るんだけど・・・。そんなこと言ってもわからないよね」
「・・・・・・」

「C言語っていうのは、知ってるよね?」
「はい、聞いたことあります」
「プログラムを誰かが書いたとして、それは、人間が見たら何が書いてあるの
かわかるけど、コンピュータはC言語を知らないから、それをコンピュータが
わかるように変換してあげなきゃいけないんだよ。それをパソコン用語でコン
パイルするっていって、コンパイルするソフトの事をコンパイラっていうんだ。
ここまではわかる?」
「はい。なんとか」
「そうすると、例えばOracleのあるプログラムがC言語で書かれていたとすると、
コンパイラが必要になるよね?コンパイラがないと、そのプログラムが動いた
時に、コンピュータが認識できないことになるでしょ?
プログラムっていっても、それだけじゃ動作はしないから、コンパイラや他の
色々なソフトが必要になるんだよ」
「あー、なるほど。だから、マニュアルにソフトウェア要件って書いてあるん
ですね」
「まー、そういうイメージでいいと思うよ。あとで、詳しく調べてみるといいよ」
「はい、そうしてみます。ありがとうございます」

よし、じゃあ早速確認してみよう。
RedHatでパッケージ情報を確認するコマンドは、

$ rpm -q 

例)
[root@inba root]# rpm -q glibc
glibc-2.3.2-95.33

必要なパッケージはMetalinkで確認してあるから大丈夫。

*****MetaLink参照*****
「Requirements for Installing Oracle 10gR2 RDBMS on RHEL 4 on AMD64/EM64T」
Doc ID: Note:339510.1

地道な作業だけど、しっかりやらないとね。

---------------------------------------------------------------
[root@inba ~]# rpm -q glibc-devel
glibc-devel-2.3.4-2.9
glibc-devel-2.3.4-2.9

あれ?glibc-develっていうのは、x86-64とi386っていうのがあるけど、これ
じゃどっちがどっちだかわからないな。それにもしかしたら、x86-64とi386以
外のものがあった時にこのコマンドじゃわからないんだ。

「印旛くん。まだインストール終わらないの?」
「あ、岸田さん。今、パッケージを確認してるんですけど、パッケージが64ビ
ットか32ビットかは、コマンドでは調べられないんですか?」
「・・・・。まだそこなんだ。っていうか、君、パッケージの確認って、どう
やって確認してるの?」
「えっと、rpmコマンドを使ってますけど」
「まさか一つ一つ確認してるの?そんなことしてたらいつまでたっても終わら
ないよ」
「?????」

「しょうがないな。とりあえず、こうやればパッケージの情報は見れるから」

$ rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})n' binutils
compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs
libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio
compat-libstdc++-33 glibc-kernheaders glibc-headers libaio
glibc-devel ORBit gnome-libs

binutils-2.15.92.0.2-13.0.0.0.2 (x86_64)
compat-db-4.1.25-9 (i386)
compat-db-4.1.25-9 (x86_64)
control-center-2.8.0-12 (x86_64)
gcc-3.4.3-22.1 (x86_64)
gcc-c++-3.4.3-22.1 (x86_64)
glibc-2.3.4-2.9 (i686)
    ・
    ・
    ・
    ・
    ・

「うわ!何ですか、今の?」
「魔法の呪文。こうすれば、バージョンの情報も見れるし、必要なパッケージ
が一覧表示される。それにインストールされていないものは、”not installed”
っていうメッセージがでるから。あとは、必要なパッケージの一覧とつき合わ
せて確認して。印旛くん、作業はできるだけ早く正確にやらないと意味がない
からね」
「はい・・・」

たしかに、岸田さんの言うとおりだな。一つ一つの作業をただこなしていくだ
けじゃなくて、一工夫するだけでもかなり違うんだよね。

じゃあ早速、確認しよう。
一工夫、一工夫。
じゃあ、必要なパッケージの一覧をプリントアウトして、チェックしていけば
いいかな。アナログなやり方だけど、画面で見るよりは正確だよね。

「印旛くん、何してるの?」
「いや、この方が正確にチェックできると思って」
「もう少しデジタルな方法を考えた方がいいね。それでもいいけど」
「・・・・・・」

—–チェック中—–

よし、足りないパッケージはなしと。

じゃあパッケージについてもう少し詳しく調べてみよう。
富樫さんがコンパイラについて教えてくれたけど、そもそもプログラムがどう
やって動いているかもう少し理解する必要があるな。

—–なぜOracleのインストールにOSのソフトウェア要件が関係するのか?—–
OS(今回で言えばLinux)から見れば、Oracleも、OS上で動く一つのプログラム
の集合であるといえます。

また、どのようなソフトウェアであっても、プログラムが動作する仕組みは変
わらないので、これを機に理解しておくといいでしょう。

簡単にプログラムが動作する流れを書くと・・・
1.人間がソースコードを書く
2.ソースコードをコンパイルする
3.オブジェクトファイルができる
4.オブジェクトファイルがライブラリなどとリンクされ、実行ファイルになる
5.実行ファイルが実行される

これを印旛くんにもわかるように説明しなければいけませんね。
まず、一番身近なところは、

5.実行ファイルが実行される

だろうと思います。

「Microsoft Wordのアイコンをダブルクリックする」というのは、
「Microsoft Wordの実行ファイルを実行する」ということです。

続けて、1,2,3の内容も説明すると、
「Microsoft Wordのオブジェクトファイルというのは、誰かが書いたソースコ
ードがコンパイルされたものです」

また、もう一つ理解しておく必要があるのが”ライブラリ”です。
ライブラリもプログラムですが、単独で実行することはできません。

ライブラリは他のプログラムの一部として動作します。ライブラリの便利なと
ころは、ある特定の機能を持ったプログラムを部品化することで、複数のプロ
グラムの一部になれるところです。

”オブジェクトファイルがライブラリにリンクされる”というのは、オブジェ
クトファイルの一部として、ライブラリが使われることです。
つまり、3つのオブジェクトファイルに1つのライブラリを共有させながら実
行することが出来るということです。
このことで、一つ一つのオブジェクトファイルのサイズを小さくすることが出
来ます。

また、もし一つのライブラリにバグがあった場合は、そのライブラリを使用す
る全てのプログラムに影響が出ます。ただ、これは裏を返せば、一つのライブ
ラリのバグを修正すればそれを使用していた全てのプログラムを正常に戻すこ
とが出来るということです。

さて、話を”なぜOracleのインストールにOSのソフトウェア要件があるのか?”
というところに戻すと・・・
当然Oracleのインストールをする時でも、Oracle自体が動作する時でも、
何かしらのプログラムを動かしていることになります。
ということは、当然コンパイラやライブラリが必要となりますね。

Oracleのインストールをする時のソフトウェア要件とは、簡単に言えば、
Oracleのインストールプログラムの一部を担うライブラリが必要です、
ということです。

—–雑談—–
ITの素人が、なかなか社内の話や、先輩の指示についていけない理由の一つに、
そもそもパソコンがどのように動作しているかがわかっていない、ということ
があるかと思います。
印旛くんも最近ようやくそのことに気づいたらしく、勉強を始めました。
勉強していくことで、少しずつ先輩の指示の意味や、社内の会話の意味がわか
ってくるものです。
印旛くんの場合は、家に帰って本などで勉強しているようです。

「あ、このコンパイルっていうのは、今日富樫さんが教えてくれたやつだな。
もう少し詳しく勉強してみるか」
————–

それでは、また来週。

Subira ni ufunguo wa heri
(待つことは幸せへの鍵) 茅ヶ崎にて