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

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

みなさん、おはようございます。
今日は、早速始めましょう。
—————————————————————————

あ、岸田さんが近づいてくるぞー。
警戒、警戒。
集中、集中。

「印旛くん、そろそろインストール始められる?」
「あ、はい」
「じゃあ、リモートでデータベースをインストールできるようにしておいて。
Xサーバをインストールしてやり方をマスターしてね」
「Xサーバ?」
「”Cygwin”で検索すれば出てくるから」
「しぐうぃん?(どうせこれ以上は教えてくれないんだろうな・・・)」
「じゃ、よろしく」
「はい。(大正解!)」

今日も難関なんだろうか・・・。
ちょっと調べてみよう。

Cygwinっていうのは、Windows上でLinux環境を動作させるものみたいだな。
Linuxでコマンド操作することには、だいぶ慣れてきた気がするけど、
Windowsで、Linuxのコマンドやシェルが使えるようになるってことか。
この前読んだ本に書いてあった、
エミュレータっていうのとは、違うんだろうか?

「富樫さん、Cygwinっていうのをインストールしたいのですが、
これってエミュレータっていうのとは違うんですか?」
「お、難しいこと聞くね。Cygwinは、エミュレータの一種ではあるけど、
エミュレータじゃないっていう人もいるね」
「あ、そうなんですか」
「見た目は同じような感じなんだけど・・・。
エミュレータが、何かはわかってる?」
「うーん。エミュレータを使うと、他のOS用のアプリケーションを実行できる
んですよね?Macintosh上で、Windowsのアプリケーションを使えるみたいな」
「うん、一応わかってるみたいだね」
「Cygwinは、それとは少し違うんだよね。Cygwinは、確かにLinux環境が使える
んだけど、あくまでもベースはWindows。Linuxで使用するシェルやコマンドの
プログラムをWindows上で、ソースコードからコンパイルできるようにしてある
んだよね。だから、エミュレータとは少し違うんだ。ちょっと難しいかな」
「はい。途中から意味がわかりませんでした」
「そうだよね。例えば、印旛くんが使っているノートパソコンには、
Windowsが入ってるよね。
そこに、エミュレータを入れると、そこにLinuxをインストールできるんだよ。
それで、印旛くんのパソコンの中に、パソコンが2つあるような感じになる。
だけど、CPUやメモリを、2つのOSが共有するから、あまり性能はよくないけどね」
「え?もっとわからなくなってきてますけど」
「うーん。もっと身近な例があればいいんだけどな。パソコンで、
ファミコンとかのゲームができるんだけど、それにはエミュレータが必要なんだ
よね。その辺は、小野田さんが詳しいから聞いてみて」
「あ、わかりました。聞いてきます」

「小野田さん(メルマガ初登場!)、あの質問があるんですけど」
「はい、なんでしょう」
「パソコンでファミコンのゲームができるんですか?」
「はい、できますよ。クラシックなゲームが好きな人がいますからね」
「それで、それには、エミュレータっていうのが必要なんですよね?
どうして、ファミコンのゲームがパソコンでできるんですか?」
「パソコンにエミュレータを入れて、ファミコンのカセットのROMデータという
ものをそのエミュレータの中で動かすことができるんですよ。
ただ、違法性があるので問題にもなっていますけど。えへへ」
「あ、なるほど。エミュレータがパソコンの中でファミコンのハードの役目を
するっていうイメージですか?」
「はい、そういうイメージですね」
「あー、なんかわかりやすい気がします。ありがとうございました」
「いえ、とんでもないです。えへへへ」

小野田さんって、ゲームが好きなんだな。
けど、違法性があるって言いながら、随分詳しそうだったけど・・・。

「富樫さん、エミュレータはイメージつきました」
「よかったね。それで、さっきも言ったとおりCygwinがエミュレータじゃない
っていうのは、CygwinはあくまでもWindowsがベースだから」
「はい。だから、完璧なUnix環境ではないということですね」
「うん。そんなもんでいいと思うよ。X端末として使うだけでしょ?」
「あ、はい。リモートでインストールする練習のためです」
「Xを起動しておいて、DISPLAYっていう環境変数をexportするだけだから、
あとは、やればできるよ」
「わかりました。ありがとうございます」

よし、エミュレータはあんまり深入りしない方がよさそうだな。
ハードウェアやソフトウェアの間に入って、通訳みたいな仕事をするもの、
って言うくらいのイメージでいいでしょう。
Cygwinは、通訳ではなくて、Windows上で簡易的にUNIX環境が使えるみたいな
イメージかな。

「岸田さん、Cygwinのインストールできました。
あの、なんでリモートでインストールするんですか?」
「お客さんの環境では、
リモートでインストールしなきゃいけない時があるから」
「なるほど。(簡潔な答えだ)
やっとOracleのインストールができますよ!」
「そうだね。もう少しスピードアップした方がいいね」
「はい・・・」

早速行くぞ。

-----CRSのインストール準備-----
■Cygwinを起動し、X端末を起動する
$ startx

→もう1つターミナルが起動するので、そこでxhostを設定する
$ xhost +


→Oracleのインストーラを起動するためのtelnet画面を開く
■環境変数DISPLAYを設定する。接続元のIP addressを指定する
$ export DISPLAY=:0.0

「Xを起動して、ホスト側のディスプレイ情報をローカルの自分の
ノートパソコンに表示できるようにして、と」

■リモートで接続先のLinuxが表示できるか確認する
$ xclock
	→時計が表示されればOK

■ユーザ等価関係の有効化(メルマガ、その7参照)
$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add
	→インストーラを起動するコンソールから実行する必要があります

■環境変数ORACLE_HOME、ORACLE_BASEの設定
$ export ORACLE_HOME=/opt/app/oracle/product/10.2.0/crs
$ export ORACLE_BASE=/opt/app/oracle
	→注意:CRSのインストール時は、ORACLE_HOMEに、ORA_CRS_HOMEを設定する

「これは、注意しなきゃな。CRSと、Oracleのモジュールは別のディレクトリに
インストールしなければいけないけど、インストールするときは、どちらも
環境変数は、ORACLE_HOMEなんだ」

■環境変数を確認する
$ env | grep ORA
ORACLE_HOME=/opt/app/oracle/product/10.2.0/crs
ORACLE_BASE=/opt/app/oracle

なんでも、一つ一つ確認して、確実にやることが肝心!
簡単なスペルミスなんかでインストールに失敗しないようにしなきゃ。
(→ちなみに、印旛くんは、一度ORACLE_HOMEのスペルがORALCE_HOMEになっていて
失敗しております)

■clusterwareのディレクトリに移動
$ cd clusterware

■インストーラを起動する
$ ./runInstaller

「あ!!インストーラを起動する前に、インストール要件を満たしているかを
確認できるコマンドがあるんだった!一応やってみよう」

■CRSのインストール要件の確認
$ cluvfy crsinst -pre crsinst -n , -verbose

クラスタ・サービス設定の事前チェックを実行しています

ノード到達可能性をチェック中...

「お、本当だ。これで、ノード間の到達可能性や、ユーザ等価関係、
ユーザの有無だとかをチェックしてくれるんだ」

----------------------------------------------------------------
ERROR:
VIPに適したインタフェースのセットが見つかりませんでした。

結果: ノード接続性チェックが失敗しました。
----------------------------------------------------------------

「あれ?なんかエラーが出ちゃったな。これじゃ、正常にCRSをインストール
できないんじゃないかな。おかしいな。準備不足なのかな」

「うーん。いくら探しても事前準備に足りない部分が見つからない。
どうしよう・・・」

「岸田さん、インストーラを動かす前に事前準備をチェックするコマンドで
チェックをしたらエラーが出てしまったんですけど、
これじゃインストールはうまくいかないですよね?」
「エラーが出てるなら、うまくいかないんじゃない?何がだめなの?」
「VIPがありません、っていうエラーなんですけど、/etc/hostsにはちゃんと
VIPは入れてあるんですけど・・・」
「ふーん。調べて」
「あ、はい」

ふむふむ。
10gR2のRACでは、VIPアドレスがプライベートIPアドレスの場合、
エラーを出力するらしい。
こういう仕様になっているってことか。
なるほど、これじゃいくら事前準備のミスを調べてもわからないわけだ。

CRSのインストール中に本来は、VIPが自動で構成されるはずだけど、
VIPアドレスがプライベートIPアドレスだとVIPが構成されないため、
手動で行わなければならない、って書いてあるな。

原因は、VIPアドレスの精査をした時に、プライベートIPアドレスだと
エラーを出力する仕様になっているってことか。今回、インストールする
テスト環境のVIPアドレスは、プライベートIPアドレスだから、エラーが
帰ってきちゃうんだ。
ということは、気にする必要はないはずだよね。
CRSのインストールを始める前に知ることができてよかったな。

「岸田さん、調べてみたら、そういう仕様になってるみたいです。
だから、大丈夫そうです」
「あ、そう。どういう仕様?」
「あの、VIPのアドレスをcluvfyのコマンドが見に行った時に、
プライベートIPだと、エラーが帰るようになっているみたいです」
「ふーん。じゃあいいんじゃない。まだインストール始めてないの?」
「はい、すいません。すぐ始めます」

$ runInstaller.sh

---Oracle Universal Installer:---
Welcome

「わ、画面が上がってきた!」

来週からいよいよ、Oracleのインストールスタートです。

———————————————————————-
ワールドカップ日本は負けてしまいました。
残念無念です。
賛否両論あるかもしれませんが、
選手はみんな一生懸命プレイしていたと思います。
君が代を聞いてから、試合をしているのに、
一生懸命じゃない選手なんているでしょうか!!

次のワールドカップまでに日本代表がもっと強くなりますように。