Oracle 11g検証 RAC構築 その1
<Oracle11g検証 第1弾 11gRAC構築 その1>
ペンネーム: world famous beagle
みなさま、明けましておめでとうございます。
2008年に入り、2週間が経ちました。
正月ぼけが治り始めたころではないでしょうか?
2008年最初のメルマガは、「Oracle11g検証」。
昨年末にリリースされたばかりの、Oracleの新バージョン “11g” について、
新機能を中心に紹介していきたいと思います。
今週から3週にわたって、11gRAC構築のポイントを紹介させていただきます。
過去のメルマガ、「10gRAC構築日記」も参考にしていただければと思います。
「Oracle新人のRACインストール」
https://old.insight-tec.com/mailmagazine/ora3/vol291.html
それでは、2008年も張り切って、
スタート!
--------------------------------------------------------------------- [登場人物] 印旛: 主人公(RACのインストールにはめっぽう強い) 亀井: 印旛の後輩 岸田: 印旛の先輩(Master of Oracle) 大波: 印旛の先輩(サーファーセキュリティコンサルタント)
[検証環境]
OS: Oracle Enterprise Linux 5 (32bit)
Oracle: 11.1.0.6 (32bit)
Clusterware: Oracle Clusterware 11.1.0.6
[その1]
1. 昨年のRAC構築
2.11gRACインストールの事前準備
・RAWデバイスのバインディング方法の違い
[その2]
3. 11gRACインストールにチャレンジ
・ディレクトリ構成(DBとCRSは別構成)
・インストーラが少し変わってる!
[その3]
4. 11gRAC構築成功編
———————————————————————
~2007年、年末が近づいたある日の印旛くんと岸田先輩の会話~
「いやぁ、岸田さん今年はかなりRACのインストールをしましたよ」
「ふぅーん。どんくらいやったんだよ?」
「社内のテストインストールも含めたら、30回位は!
もう構築は楽勝ですよ!」
「へぇー。そういえば、11gRACがリリースされたけど」
「えっ? (それはどういう意味だろうか?) 」
「当然、検証するんだよね?」
「・・・・・・。当然ですっ!!」
ということで、私、印旛が11gRAC構築の検証をすることになりました。
2006年に連載させていただいた、私のドタバタ構築日記に続いて、2007年も
RAC構築にはかなりお世話になりました。
9i、10gR2、そして、OSについてもintel Solaris、Linux、sparc Solarisと
様々な環境でのRAC構築を経験しました。
そして、なんといっても毎回一筋縄でいかないのが、RAC構築の醍醐味!
よし早速、いつも通りマニュアルを読んで、事前準備をしよう!
と、思ったらまたもや岸田さんが近づいてくる・・・。
なんかやな予感。
「印旛くん、さっき言い忘れたんだけど、どうせ検証するならLinuxの最新の
バージョンでやって。Oracle Enterprise Linux 5 が出てるから」
「あ、はい、わかりました」
まじか!!
最新のバージョンだと、色々あるんだよなぁ。
「なんか問題ある?」
「いえ、なんでもありません。ただ、最新のバージョンだと、今までにない
エラーとかがありそうだなぁ、と」
「だから検証するんでしょ?」
「そうですね。頑張ります」
それでは、気を取り直してマニュアルから見てみよう。
今まで色々経験した結果、RAC構築をうまくやるコツは、きっちり準備すること。
こんな感じで準備するといいんだな。
1.マニュアルを3回読む
2.自作の手順書を作成する
3.krown、MetaLinkで該当するバージョンの最新情報を入手する
4.自作手順書を修正する
5.インストールを開始する
まずは、マニュアルを読もう。
とりあえずは、Oracle社提供の以下のマニュアルを3回読む!
Oracle Clusterware Installation Guide
11g Release 1 (11.1) for Linux
B28263-02 August 2007
Oracle Database Installation Guide
11g Release 1 (11.1) for Linux
B32002-03 September 2007
ふむふむ。
11gになっても、インストール手順自体は10gR2の時と変わらないみたいだな。
違うのはやっぱりOSのソフトウェア要件くらいかな。
これは、10gR2の時もそうだったけど、しっかりMetaLinkで確認して最新の情
報を仕入れた方がよさそうだ。
では、早速自作手順書を作ってみよう。
MetaLinkやkrownで確認してみると、10gR2の時と違うところは・・・
まずソフトウェア要件のRPMパッケージ、それから、OSがLinuxのバージョンが
5になったことで、共有ディスクの設定方法が変わったみたいだな。
共有ディスクの設定方法はマニュアルにはなかったなぁ。
危なかった・・・。
———————————————————————-
<事前準備>
▼ソフトウェア要件の確認
→以下のコマンドで確認する
インストールされていないパッケージがあった場合は、OSメディアから
追加する。
確認コマンド:
# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})n' binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static elfutils-libelf-devel glibc glibc-common glibc-devel glibc-headers gcc gcc-c++- libaio libaio-devel libgcc libgomp libstdc++- libstdc++-devel make sysstat unixODBC unixODBC-devel
▼各種設定
・カーネルパラメータの設定
・/etc/security/limits.confファイルの設定
・/etc/pam.d/loginファイルの設定
・/etc/profileファイルの設定
▼ネットワーク設定
・/etc/hostsファイルの設定
▼OSユーザ関連設定
・インストール用OSユーザの作成
(ora11gというOSユーザを作成)
▼SSHの構成
→インストール時のノード間通信用にSSHを構成する
▼共有ディスクの設定(RAWデバイスの設定)
Linuxのバージョン4までは、Rawデバイスサービスによって、パーティション
をバインドしていたが、バージョン5からは、下記のような手順でRawデバイス
を使用します。
○fdiskコマンドを使用して、
共有ディスク上に必要なパーティションを作成する
→今回は、OCR用、Voting Disk用、ASM用DiskGroup×2の4つの領域を作成。
4つ目以降のパーティションは、拡張領域を指定して、その中を区切る
必要があるので注意!
「ここまでは、Linux4の時と一緒だ。
ここからが少し違うんだな。
Linux4までだと、ここから/etc/sysconfig/rawdevicesっていうファイルを
編集して、Rawデバイスサービスを再起動すると、
パーティションがRawデバイスとして認識されてたけど、
Linux5は、Rawデバイスのマッピングを設定するには、
以下のファイルを編集する必要があるらしい。
早速やってみよう」
○パーティションのマッピング設定
# vi /etc/udev/rules.d/60-raw.rules
→以下の内容を追記する
### Oracle11gR1 RAC RawDevices ### ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N" ACTION=="add", KERNEL=="sdb4", RUN+="/bin/raw /dev/raw/raw4 %N" ACTION=="add", KERNEL=="sdb5", RUN+="/bin/raw /dev/raw/raw5 %N"
○rc.localファイルの編集
# vi /etc/rc.local
→以下の内容を追記する
### Oracle11gR1 RAC RawDevices ### chown root:oinstall /dev/raw/raw1 chown ora11g:oinstall /dev/raw/raw2 chown ora11g:dba /dev/raw/raw3 chown ora11g:dba /dev/raw/raw4 chown ora11g:dba /dev/raw/raw5 chmod 660 /dev/raw/raw*
○最後にパーティションを初期化する
# dd if=/dev/zero of=/dev/raw/raw1 bs=1024k count=100 # dd if=/dev/zero of=/dev/raw/raw2 bs=1024k count=100 # dd if=/dev/zero of=/dev/raw/raw3 bs=1024k count=100 # dd if=/dev/zero of=/dev/raw/raw4 bs=1024k count=100 # dd if=/dev/zero of=/dev/raw/raw5 bs=1024k count=100
***手動設定方法は以下のコマンド***
# /bin/raw /dev/raw/raw1 /dev/sdb1 # /bin/raw /dev/raw/raw2 /dev/sdb2 # /bin/raw /dev/raw/raw3 /dev/sdb3 # /bin/raw /dev/raw/raw4 /dev/sdb4 # /bin/raw /dev/raw/raw5 /dev/sdb5
▼Oracleインストールディレクトリの作成
例)
# cd /opt/app # mkdir -p oracle # chown -R ora11g:oinstall oracle
———————————————————————
よし。
事前準備のところまでの手順書はできたぞ。
「印旛さん、何やってるんですか?」
「あ、亀井くん。今から11gRACのインストールをするところだよ。
一緒にやってみる?」
「あ、いや。今ちょっとやることがあるので、また今度お願いします」
「それなら、なんで話しかけたの?」
「いやいやいや。ほっほっほっほ」
亀井くんってなんか変だよなぁ・・・。
「よし、今日はきりがいいし、インストールはまた明日続きをやろう」
来週は、インストーラを起動します。
すんなりとインストールできるでしょうか???