トップ > DBA上級 RAC > 4章
4章 GIインストール
本章ではRACのインストールについてご紹介していきます。
RACのインストールはなかなか難しいかもしれませんが、
少しでも参考になればと思います。


GIインストール前の事前準備


RACインストール前のOS設定に関しては今回省略します。
rpmパッケージやカーネルパラメータの設定などはシングル環境と同様に行います。

RAC環境の特有のOS設定としては、OSユーザがGIインストールは
grid,Oracleインストールはoracleで行います。oracleユーザのみも可能です。
各ノードにOracle製品をリモートコピーする為のSSHの設定が必要です。

インストールマニュアルを参考に設定を行ってください。
Oracle Grid Infrastructureインストレーションおよびアップグレード・ガイド

RACを構築するには以下の順で実施してきます。

・Grid Infrastruncture(GI)インストール ←今回はここ
・Oracleインストール
・ASMディスクグループの作成
・データベース作成


シングル環境ではOracleインストールとDB作成だけでしたが、
RACの場合はクラスタウェアソフトであるGIのインストールを行っていきます。

今回は12cR2のバージョンを使用し、2ノードRACの構成を構築していきましょう。


GIインストール


それではGIインストールを実施していきましょう。
GIのインストールはOracleインストールと同様Oracle Universal Installer(OUI)ツールで
GUI画面でインストールしていきます。

サイレンとインストールも可能ですが、今回はOUIからのインストールを行っていきます。
すべての画面は紹介できませんが、ポイントとなるところは確認していきたいと思います。

OUI

最初の画面はインストールのタイプを選択します。

・新しいクラスタ用のOracle Grid Infrastructureの構成
 これはRAC環境を構築します。今回ではこちらを選択します。

・スタンドアロン・サーバ用のOracle Grid Infrastructure(Oracle Restart)の構成
 これはOracle RestartというデータベースをHA構成のように構築する場合に選択します。
 これを選択するとDBはいずれかの1つのサーバ上でのみ起動し障害時は別のノードで起動します。

・Oracle Grid Infrastructureのアップグレード
 これは既存GIのアップグレードをするときに選択します。

OUI

次にGIのクラスタ構成を選択します。

・Oracleスタンドアロン・クラスタの構成
 これは各ノードにASMインスタンスを構成します。
 従来のRAC構成と同様で各ノードごとにASMインスタンスが構成されます。
 今回はこちらを選択します。


・Oracleドメイン・サービス・クラスタの構成
 これは12cR2から導入された新構成です。
 ASMやその他のGIMR、TFAなどの機能を1つのサーバに集約し、
 その他のサーバはドメインサービスクラスタに接続します。


・Oracleデータベース用のOracleメンバー・クラスタの構成
 ドメインサービスクラスタ構成を使用している場合のOracleインスタンスを
 構成するノードを構築します。
 このモードを選択すると必要な情報はドメインサービスクラスタに接続し取得します。


・アプリケーション用のOracleメンバー・クラスタの構成
 ドメインサービスクラスタ構成を使用している場合のアプリケーションサーバなど、
 Oracleが不要なノードを構築します。
 このモードを選択すると必要な情報はドメインサービスクラスタに接続し取得します。


詳しくはOracleサイトからコアテクセミナーというOracleアーキテクチャの詳細を
紹介していますのでこちらを参照ください。
CoreTechセミナー


OUI

次はSCANの構成を行っていきます。

クラスタ名は特に決まりはないので、好きな名前を指定してください。
SCAN名はSCANで使用するホスト名を指定します。

SCANを構成するには以下の方法があります。
・DNSで推奨3つのSCAN用のIPを構成
・GNSでDBを構成
・hostsファイルに1つのIPを構成


推奨はDNSとなります。またFlex Clusterを構成する場合は、
GNSの構成が必須のようです。DNSやGNSが構成できない場合はhostsファイルを使用します。

OUI

次はインストールするノードの情報を指定します。

パブリックホスト名:パブリックIPで使用されるホストを指定します。
・ロール:HUB,LEAFの2つを選択できます。
    ドメインクラスタサービスを使用しない場合はHUBを選択します。
・仮想ホスト名:VIPで使用するホスト名を指定します。

OUI

次に使用するインタフェースの指定を行っていきます。

こちらは各ネットワークインターフェースがパブリックで使用するのか、
インターコネクト(プライベート)で使用するのかを選択します。

OUI

次にOCRファイルや投票ディスクを格納するファイル構成を選択します。
今回は「ブロック・デバイスを使用したASMの構成」を選択します。

ASMに関しては後ほどご紹介していきます。

OUI

次にGIMR(グリッド・インフラストラクチャ管理リポジトリ)用に使用する
ディスクグループを作成するかどうか選択します。

GIMRはOracleが自動的にOS情報を取得し格納するリポジトリなので、
通常のデータを格納するディスクグループとは分けた方がよいでしょう。

OUI

次はASMディスクグループを作成する画面です。ディスクグループ名等を
選択して作成を行っていきます。
GIMRを格納するディスクグループは12.2のバージョンだと、
外部冗長で37.6GB以上のサイズが必要です。

GIMRの機能は以下の通りです。
・クラスタ状態モニターが収集するリアル・タイム・パフォーマンス・データ
・Cluster Health Advisorが収集するフォルト、診断およびメトリック・データ
・Oracle Clusterwareが収集する、すべてのリソースに関するクラスタ全体のイベント
・サービスのクオリティ管理(QoS)のCPUアーキテクチャ・データ
・高速ホーム・プロビジョニングに必要なメタデータ


自分の検証環境で作成する場合はかなり大きいサイズなのでご注意ください。

OUI

次はASMの管理者用パスワードを設定します。

OUI

次はIPMIの設定の有無を指定します。

OUI

Enterprise Managerを使用する場合は、ここで登録を行います。

OUI

DB権限と各OSグループの割り当てを行います。

OUI

インストール前の事前チェックの実施を行います。

OUI

サマリー画面が出たらインストールを実施します。
インストールが完了したら、いつもどおり「root.sh」「oraInstRoot.sh」を
実施してGIのインストールは完了です。

root.shは投票ディスクの作成やRACで必要なプロセスの起動などを実施します。



クラスタ検証ユーティリティ


GIがインストール完了しましたので次はOracleのインストールとなります。
OS設定等は今回省略しましたが、OSパッケージやカーネルパラメータの設定が不足していると
インストールに失敗する可能性があります。

GIインストールを行ってから失敗してしまうと、インストールしたモジュールを
削除してから再インストールする必要があります。
その為、OS設定が足りているかどうか事前にチェックするツールがあります。

クラスタ検証ユーティリティ(CVU)はGIインストールを行う前にOS設定が
適切に行われているかを確認することが出来るツールです。
cluvfyコマンドで事前チェックを行うことが出来ます。

コマンドはGIのインストールメディアの直下にruncluvfy.shが配置されています。
GIのインストール完了後はcluvfyコマンドがインストールされており、
どちらも同様に事前チェックが行えます。

以下ところどころチェックが失敗していますが、内容によっては失敗してもインストールは可能です。

[構文] GI事前チェック
 $ $GRIDメディア/runcluvfy.sh stage -pre crsinst -n ノード名,ノード名

上記スクリプトはインストールメディアに付属しています。GIをインストールしたらGIホームにも配置されます。

  $ ./runcluvfy.sh stage -pre crsinst -n rac01,rac02

 物理メモリーの検証中...失敗 (PRVF-7530)
 使用可能物理メモリーの検証中...合格
 スワップ・サイズの検証中...失敗 (PRVF-7573)
 空き領域: rac01:/usr,rac01:/var,rac01:/etc,rac01:/u01/app/12.2.0/grid,
 rac01:/sbin,rac01:/tmpの検証中...失敗 (PRVF-7501)
 ユーザーの存在: gridの検証中...
   UIDが同じユーザー: 1100の検証中...合格
 ユーザーの存在: gridの検証中...合格
 グループの存在: asmadminの検証中...合格
 グループの存在: asmdbaの検証中...合格
 グループの存在: oinstallの検証中...合格
 グループ・メンバーシップ: asmdbaの検証中...合格
 グループ・メンバーシップ: asmadminの検証中...合格
 グループ・メンバーシップ: oinstall(プライマリ)の検証中...合格
 実行レベルの検証中...合格
 強い制限: 最大オープン・ファイル記述子数の検証中...合格
 弱い制限: 最大オープン・ファイル記述子数の検証中...合格
 強い制限: 最大ユーザー・プロセスの検証中...合格
 弱い制限: 最大ユーザー・プロセスの検証中...合格
 弱い制限: 最大スタック・サイズの検証中...合格
 アーキテクチャの検証中...合格
 OSカーネル・バージョンの検証中...合格
 OSカーネル・パラメータ: semmslの検証中...合格
 OSカーネル・パラメータ: semmnsの検証中...合格
 OSカーネル・パラメータ: semopmの検証中...合格
 OSカーネル・パラメータ: semmniの検証中...合格
 OSカーネル・パラメータ: shmmaxの検証中...合格
 OSカーネル・パラメータ: shmmniの検証中...合格
 OSカーネル・パラメータ: shmallの検証中...合格
 OSカーネル・パラメータ: file-maxの検証中...合格
 OSカーネル・パラメータ: ip_local_port_rangeの検証中...合格
 OSカーネル・パラメータ: rmem_defaultの検証中...合格
 OSカーネル・パラメータ: rmem_maxの検証中...合格
 OSカーネル・パラメータ: wmem_defaultの検証中...合格
 OSカーネル・パラメータ: wmem_maxの検証中...合格
 OSカーネル・パラメータ: aio-max-nrの検証中...合格
 OSカーネル・パラメータ: panic_on_oopsの検証中...合格
 パッケージ: binutils-2.20.51.0.2の検証中...合格
 パッケージ: compat-libcap1-1.10の検証中...合格
 パッケージ: compat-libstdc++-33-3.2.3 (x86_64)の検証中...合格
 パッケージ: libgcc-4.4.7 (x86_64)の検証中...合格
 パッケージ: libstdc++-4.4.7 (x86_64)の検証中...合格
 パッケージ: libstdc++-devel-4.4.7 (x86_64)の検証中...合格
 パッケージ: sysstat-9.0.4の検証中...合格
 パッケージ: kshの検証中...合格
 パッケージ: make-3.81の検証中...合格
 パッケージ: glibc-2.12 (x86_64)の検証中...合格
 パッケージ: glibc-devel-2.12 (x86_64)の検証中...合格
 パッケージ: libaio-0.3.107 (x86_64)の検証中...合格
 パッケージ: libaio-devel-0.3.107 (x86_64)の検証中...合格
 パッケージ: nfs-utils-1.2.3-15の検証中...合格
 パッケージ: e2fsprogs-1.42.8の検証中...合格
 パッケージ: e2fsprogs-libs-1.42.8 (x86_64)の検証中...合格
 パッケージ: smartmontools-5.43-1の検証中...合格
 パッケージ: net-tools-1.60-110の検証中...合格
 UIDが同じユーザー: 0の検証中...合格
 現行のグループIDの検証中...合格
 rootユーザーの一貫性の検証中...合格
 パッケージ: cvuqdisk-1.0.10-1の検証中...合格
 ノード接続性の検証中...
   ホスト・ファイルの検証中...合格
   最大(MTU)サイズ・パケットがサブネットを通過することのチェックの検証中...合格
 ノード接続性の検証中...合格
 マルチキャスト・チェックの検証中...合格
 ASM整合性の検証中...
   ノード接続性の検証中...
     ホスト・ファイルの検証中...合格
     最大(MTU)サイズ・パケットがサブネットを通過することのチェックの検証中...合格
   ノード接続性の検証中...合格
 ASM整合性の検証中...合格
 ネットワーク・タイム・プロトコル(NTP)の検証中...
   '/etc/ntp.conf'の検証中...合格
   '/var/run/ntpd.pid'の検証中...合格
 ネットワーク・タイム・プロトコル(NTP)の検証中...合格
 同じコア・ファイル名パターンの検証中...合格
 ユーザー・マスクの検証中...合格
 グループに含まれないユーザー "root": gridの検証中...合格
 タイムゾーンの一貫性の検証中...合格
 resolv.confの整合性の検証中...
   (Linux) resolv.confの整合性の検証中...失敗 (PRVF-5636, PRVG-10048)
 resolv.confの整合性の検証中...失敗 (PRVF-5636, PRVG-10048)
 DNS/NISネーム・サービスの検証中...合格
 ドメイン・ソケットの検証中...失敗 (PRVG-11750)
 /bootマウントの検証中...合格
 デーモン"avahi-daemon"は構成されておらず、実行中ではありませんの検証中...合格
 デーモン"proxyt"は構成されておらず、実行中ではありませんの検証中...合格
 loopback network interface addressの検証中...合格
 Grid Infrastructureホーム・パス: /u01/app/12.2.0/gridの検証中...
   '/u01/app/12.2.0/grid'の検証中...失敗 (PRVG-11931)
 Grid Infrastructureホーム・パス: /u01/app/12.2.0/gridの検証中...失敗 (PRVG-11931)
 ユーザー等価の検証中...合格
 /dev/shmは、一時ファイルシステムとしてマウントされていますの検証中...合格
 パス/varに対するファイルシステムのマウント・オプションの検証中...合格
 zeroconfチェックの検証中...合格
 ASMフィルタ・ドライバ構成の検証中...WARNING (PRVE-10237, PRVE-10239)

 クラスタ・サービス設定の事前チェックはすべてのノードで失敗しました。


 CVU検証リクエスト"stage -pre crsinst"の実行中に障害が発生しました。

 物理メモリーの検証中...失敗
 rac01: PRVF-7530 : ノード"rac01"に十分な物理メモリーがありません
 [必要な物理メモリー = 8GB (8388608.0KB)]

 スワップ・サイズの検証中...失敗
 rac01: PRVF-7573 : 十分なスワップ・サイズがノード"rac01"にありません
 [必要 = "5.7595GB (6039312.0KB)" ;
        検出 = "1023.9961MB (1048572.0KB)"]

 空き領域:
 rac01:/usr,rac01:/var,rac01:/etc,rac01:/u01/app/12.2.0/grid,rac01:/sbin,rac01:/t
 mpの検証中...失敗
 PRVF-7501 : ノード"rac01"の場所"/u01/app/12.2.0/grid"には十分な領域がありません
 [必要な領域 = 6.9GB ;
 使用可能な領域 = 3.417GB ]
 PRVF-7501 : ノード"rac01"の場所"/"には十分な領域がありません
 [必要な領域 = [25MB (/usr) + 5MB (/var) +25MB (/etc) + 6.9GB 
 (/u01/app/12.2.0/grid) + 10MB (/sbin) + 1GB (/tmp) =7.9635GB ]; 使用可能な領域 = 3.417GB ]

 resolv.confの整合性の検証中...失敗
 rac01: PRVF-5636 : 次のノードでアクセスできないノードのDNSレスポンス時間が
 "15000"ミリ秒を超えました: rac01
 rac01: PRVG-10048 : 名前"rac01"は"192.168.56.254"の名前サーバーで
 指定されたタイプのアドレスに解決されませんでした。
 rac01: ファイル"/etc/resolv.conf"の整合性のチェックに失敗しました


   (Linux) resolv.confの整合性の検証中...失敗
   rac01: PRVF-5636 : 次のノードでアクセスできないノードのDNSレスポンス時間が
   "15000"ミリ秒を超えました: rac01
   rac01: PRVG-10048 :
          名前"rac01"は"192.168.56.254"の名前サーバーで指定されたタイプの
          アドレスに解決されませんでした。

 ドメイン・ソケットの検証中...失敗
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_agent_ag_rac01_"はノード"rac01"に存在します。
 rac01:PRVG-11750 : ファイル"/var/tmp/.oracle/ora_gipc_rac01_LOGD"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_EVMD_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_css_ctrllcl_rac01_rac-cluster_lock"はノード"ra
       c01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_agent_ag_rac01__lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_LOGD_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_CRSD_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_CTSSD_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_monitor_ag_rac01_"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_gipcd_rac01"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_MOND_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_INIT_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_GPNPD_rac01"はノード"rac01"に存在します。
 rac01:PRVG-11750 : ファイル"/var/tmp/.oracle/npohasd"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_css_ctrllcl_rac01_rac-cluster"はノード"rac01"に
       存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_monitor_ag_rac01__lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_GIPCD"はノード"rac01"に存在します。
 rac01:PRVG-11750 : ファイル"/var/tmp/.oracle/ora_gipc_rac01_INIT"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_GIPCD_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_GPNPD_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_srac01gridrac-clusterCRFM_SIPC_lock"はノード"r
       ac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_srac01gridrac-clusterCRFM_MIIPC"はノード"rac01
       "に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_CSSD_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 : ファイル"/var/tmp/.oracle/ora_gipc_rac01_EVMD"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_GPNPD"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_MDNSD_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 : ファイル"/var/tmp/.oracle/ora_gipc_rac01_CSSD"はノード"rac01"に存在します。
 rac01:PRVG-11750 : ファイル"/var/tmp/.oracle/mdnsd"はノード"rac01"に存在します。
 rac01:PRVG-11750 : ファイル"/var/tmp/.oracle/ora_gipc_rac01_CRSD"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_MDNSD"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_CHAD_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_gipcd_rac01_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_GPNPD_rac01_lock"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_srac01gridrac-clusterCRFM_CLIIPC"はノード"rac0
       1"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_srac01gridrac-clusterCRFM_SIPC"はノード"rac01"
       に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_rac01_CTSSD"はノード"rac01"に存在します。
 rac01:PRVG-11750 : ファイル"/var/tmp/.oracle/ora_gipc_rac01_MOND"はノード"rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_srac01gridrac-clusterCRFM_MIIPC_lock"はノード"
       rac01"に存在します。
 rac01:PRVG-11750 :
       ファイル"/var/tmp/.oracle/ora_gipc_srac01gridrac-clusterCRFM_CLIIPC_lock"はノード
       "rac01"に存在します。
 rac01:PRVG-11750 : ファイル"/var/tmp/.oracle/ora_gipc_rac01_CHAD"はノード"rac01"に存在します。

 Grid Infrastructureホーム・パス: /u01/app/12.2.0/gridの検証中...失敗
   '/u01/app/12.2.0/grid'の検証中...失敗
   rac01: PRVG-11931 : パス"/u01/app/12.2.0/grid"はノード"rac01"で書込み可能ではありません。

 ASMフィルタ・ドライバ構成の検証中...WARNING
 rac01:PRVE-10237 :
       ASMフィルタ・ドライバ構成の前にファイル"/lib/modules/3.8.13-13.el6uek.x86_64/
       extra/oracle/oracleafd.ko,/lib/modules/3.8.13-44.1.1.el6uek.x86_64/weak-updates
       /oracle/oracleafd.ko,/opt/oracle/extapi/64/asm/orcl/1/libafd12.so"が存在することは
       ノード"rac01.oracle12c.jp"では予期されていません。
 rac01:PRVE-10239 :
       ASMフィルタ・ドライバの構成前に、ノード"rac01"にASMフィルタ・ドライバ"oracleafd"が
       ロードされるこ
       とは予期されていません。


 CVU操作が実行されました:                stage -pre crsinst
 日付:                           2018/03/02 17:28:53
 CVUホーム:                       /mount/grid/
 ユーザー:                         grid



今回の例では結構チェックが失敗している箇所がありますが、
検証環境なのでお許しください。

本章は以上となります。お疲れ様でした。