日本オラクル クロスインダストリー統括本部
OracleDirect テクニカルサービスグループ
小海 友和


目次
はじめに
Oracle Fail Safe構成の構築
前提となるシステム構成
環境構築の流れ
ネットワークのセットアップ
ドメインへの参加
MSCSのインストール
Oracle Database 10gのインストール
Oracle Fail Safeのインストール
Oracle Fail Safe Managerでの設定


 はじめに

「意外と簡単!? Windowsソリューション」シリーズは、Windowsプラットホームを使用してOracle Database 10gを利用される方のために、高可用性システム構築をはじめとして、Windows上にてOracleを使用する場合の様々な情報について提供しております。
「意外と簡単!? Windowsソリューション」シリーズが皆様のシステム構築の一助になれば幸いです。

  「意外と簡単!? Windowsソリューション」シリーズの資料構成

「意外と簡単!? Windowsソリューション」シリーズは、以下の4つの資料から構成しております。
  1. Oracle Fail Safe編(本書)
  2. Oracle Real Application Clusters編
  3. Oracle Fail SafeとOracle Real Application Clustersの特徴
  4. OracleとActive Directoryの連携

  「意外と簡単!? Windowsソリューション」シリーズにおけるH/W、S/W構成


サーバー DELL PowerEdge 2650
CPU Xeon 3.06 GHz x 2
メモリ 6GB
オペレーティング・システム Microsoft Windows 2000 + Service Pack4
RDBMS Oracle Database 10g Standard Edition for Windows


 Oracle Fail Safe構成の構築

本書はWindows2000 Advanced Server上にMicrosoft Cluster Service(以下MSCS)とOracle Fail Safe(以下OFS)、Oracle Database 10gをインストールし、可用性の高いOracle Databaseサーバーを構築するためのガイドです。
本書はOracle Fail Safeの初期評価を容易にすることを目的としているため機能の紹介は必要最小限にとどめてあります。

Microsoft Cluster Serviceはクラスタサービスと呼ばれることもあります。本ドキュメントにおいて、クラスタサービスとMSCSは同義語として扱います。


 前提となるシステム構成

本書は以下のシステム構成においてMSCS + OFSの環境を構築します。


ノード1
コンピュータ名 NODE01
IPアドレス(Public-LAN) 192.168.0.11
IPアドレス(Private-LAN) 10.0.0.1

ノード2
コンピュータ名 NODE02
IPアドレス(Public-LAN) 198.162.0.12
IPアドレス(Private-LAN) 10.0.0.2

ドメイン コントローラ
ドメイン名 mydomain.com
(Windows 2000以前) MYDOMAIN

クラスタ
クラスタ名 MSCS
クラスタ IPアドレス 192.168.0.13
クラスタ サービス アカウント Cluster

OFS 仮想サーバー
ホスト名(OFSグループ名) ofsgroup1
IPアドレス 192.168.0.14


 環境構築の流れ

MSCS + OFSでHA(High Availability)環境を構築するための大きな流れを以下に示します。

がOracleに関する設定になります。

本書ではOracleのセットアップのみならず、Microsoft社のコンポーネントに関するセットアップについても記述しますが、設定の詳細についてはMicrosoft社が提供している設定方法などの技術資料をご参照ください。


 ネットワークのセットアップ

各ノードでネットワークのセットアップを行います。各ノードには、それぞれプライベート ネットワーク用とパブリック ネットワーク用の二つのネットワーク アダプタが必要になります。プライベート ネットワークはハートビートによる内部通信が行われるネットワークであり、パブリック ネットワークはクライアントからのアクセスに使用されるネットワークになります。

POINT:【共有ディスクのセットアップ】を行うまでは共有ディスクの電源はOFFにしておきます。


  ローカル エリア ネットワークの接続名の変更

ネットワーク接続の種類を明確にするためにまず、接続名を変更します。以下の作業は各ノードで行う必要があります。

1.   「マイ ネットワーク」を右クリックし、「プロパティ」をクリックします。

2.   「ローカル エリア 接続1」、「ローカル エリア 接続2」をそれぞれ、Public-LAN、Private-LANに名前変更します。

POINT:配線によってはパブリックネットワークとプライベートネットワークのネットワーク アダプタが逆になる場合があります。

3.   ネットワークとダイヤルアップ接続の「詳細設定」メニューをクリックし、「詳細設定」をクリックします。

4.   接続でPublic-LAN, Private-LANの順になるように設定します。


  プライベートネットワークのセットアップ


1.   「マイ ネットワーク」を右クリックし、「プロパティ」をクリックします。

2.   「Private-LAN」を右クリックし、「プロパティ」をクリックし、「構成」ボタンをクリックします。

3.   「詳細設定」タブをクリックします。プライベート ネットワークで使用するネットワーク アダプタの実際の速度を選択します。設定後、「OK」をクリックし、プロパティ画面を閉じます。

POINT:プライベートネットワーク上のネットワークアダプタは規定値のautoではなく、ネットワークの実際の速度に設定しておく必要があります。この作業はパブリック ネットワークの設定では不要です。

4.   インターネットプロトコル(TCP/IP)をダブルクリックします。

5.   TCP/IPの設定をします。

ノード1
IPアドレス 10.0.0.1
サブネット マスク 255.0.0.0

ノード2
IPアドレス 10.0.0.2
サブネット マスク 255.0.0.0

POINT:ネットワーク・アドレスなどは設定する環境において適切な値を使用してください。

6.   「詳細設定」をクリックしWINSタブを選択し、「NetBIOS over TCP/IPを無効にする」を選択します。

POINT:プライベート ネットワークでは、NetBIOSを無効にしておく必要があります。一方、この後設定するパブリック ネットワークではNetBIOSは有効のままで構いません。


  パブリック ネットワークのセットアップ

1.   「マイ ネットワーク」を右クリックし、「プロパティ」をクリックします。

2.   「Public-LAN」を右クリックし、「プロパティ」をクリックし、インターネットプロトコル(TCP/IP)をダブルクリックします。

3.   TCP/IPの設定をします。

ノード1
IPアドレス 192.168.0.11
サブネット マスク ご使用のネットワーク内の設定にて有効な値
デフォルト ゲートウェイ
優先 DNS サーバー

ノード2
IPアドレス 192.168.0.12
サブネット マスク ご使用のネットワーク内の設定にて有効な値
デフォルト ゲートウェイ
優先 DNS サーバー


 ドメインへの参加

MSCSをインストールするためには、すべてのノードが同じドメイン内のメンバサーバーであるか、またはすべてのノードが同じドメイン内のドメインコントローラである必要があります。今回は、ノード1、ノード2をメンバサーバーとして構成します。

以下の作業は各ノードでそれぞれ行います。

1.   「マイコンピュータ」を右クリックし、「プロパティ」をクリックします。

2.   「ネットワークID」タブをクリック。

3.   「識別の変更」が表示されるので「ドメイン」を選択し、参加するドメイン名(MYDOMAIN)を入力しOKボタンをクリック。

4.   ドメインコントローラの管理者のユーザーとパスワードを入力します。

5.   「MYDOMAINへようこそ」というダイアログが表示されます。OKボタンをクリックし再起動します。


 MSCSのインストール

MicrosoftのクラスタサービスであるMSCSのインストールを行います。

注意:MSCSのインストールや設定に関しては、必ずMicrosoftの技術資料をご覧になり、理解した上で作業を行ってください。


  ドメインユーザーアカウントの作成

MSCSにはクラスタサービスを実行できるドメイン ユーザー アカウントが必要になります。MSCSのインストールを行う前にドメイン コントローラでユーザーアカウントを作成します。MSCSを実行するドメイン ユーザーとして「cluster」を作成します。このユーザーはクラスタにおいて共有して使用するユーザーになりますので、1つアカウントを作成します。

1.   「スタート」をクリックし、「プログラム」から「管理ツール」 - 「Active Directoryユーザーとコンピュータ」をクリックします。

2.   Usersを右クリックし、「新規作成」を選択し、「ユーザー」をクリックします。ユーザー ログオン名にclusterと入力し、「次へ」をクリックします。


3.   パスワードの設定を行います。パスワードを入力し、「ユーザーはパスワードを変更できない」「パスワードを無制限にする」にチェックをつけ、「次へ」をクリックします。

4.   完了をクリックします。


  共有ディスクのセットアップ

MSCSでは共有ディスク上にクォーラムディスクとアプリケーションデータ用のディスクが必要になります。
クォーラムディスクには、MSCSを実行するのに必要な管理データなどが格納されます。アプリケーションデータ用のディスクにOracle Databaseのデータファイル、初期化パラメータファイル、ログファイルなどを格納することになります。

本ドキュメントでは、以下の図のように共有ディスクを用意します。

POINT:Oracle Databaseのソフトウェアは各ノードの内蔵ディスクにインストールされ、データファイルなどは共有ディスク上(アプリケーションデータ用のディスク)に配置します。


共有ディスク(クォーラムディスク、アプリケーションデータ用のディスク)はNTFSでフォーマットされており、両ノードで同じドライブレターに設定してある必要があります。また、MSCSが少なくともひとつのノードでインストール、構成、実行される前に、オペレーティング システムが複数のノード上で起動された場合、クラスタディスクが壊れる可能性があります。

この作業を続けるために一度すべてのノードの電源をOFFにし、共有ディスクの電源をONに、最初のノードの電源のみをONにして以下の作業を続けます。

1.   ストレージの管理ツールなどを用いて、共有ディスク上にクォーラムディスクとアプリケーションデータのディスクを用意します。クォーラムディスクとしては一般的に500MB程度の領域を確保します。またアプリケーションデータ用のディスク領域としてはデータファイル・ログファイルなどのサイズを考慮してサイズを決定してください。今回はテスト用に7GB程度の領域を用意しました。

2.   ノード1の「マイ コンピュータ」を右クリックし、「管理」をクリックします。

3.   「ディスクの管理」をクリックします。

4.   すべての共有ディスクがNTFSでフォーマットされており、ベーシックが指定されていることを確認します。この際ドライブレターを確認しておきます。

5.   ノード1をシャットダウンし、ノード2を起動します。

6.   手順1.〜3.と同様に、ノード2でも共有ディスクが認識されており、ドライブレターが一致していることを確認します。


  MSCSのインストール

全てのノードの電源をOFFにし、共有ディスクの電源をONにします。
続いてノード1の電源をONにし、共有ディスクのセットアップを行い、クラスタサービスのインストールを行います。

ノード1での作業
1.   「設定」「コントロールパネル」「アプリケーションの追加と削除」をクリックします。

2.   「Windowsコンポーネントの追加と削除」をクリックします。「クラスタ サービス」を選択し、「次へ」をクリックします。

3.   「クラスタ サービスの構成ウィザードの開始」画面で「次へ」をクリックします。

4.   MSCSにおいてサポートされるハードウェア構成について理解したうえで「理解しました」をクリックし、「次へ」をクリックします。

5.   「クラスタの最初のノード」を選択し「次へ」をクリックします。

6.   クラスタ名を入力します。今回はクラスタ名としてMSCSを使用します。入力後、「次へ」をクリックします。

7.   ドメイン(MYDOMAIN)を確認し、用意したドメイン アカウント ユーザーとパスワードを入力します。「次へ」をクリックします。

ここでドメインアカウントclusterに対し、ローカルマシンのAdministrators権限が付与されます。

8.   「管理されるディスク」に適切なディスクがあることを確認します。

9.   クラスタ ファイルの記憶域を指定します。これはクォーラムディスクとして用意した100MB程度の領域(今回はH:ドライブ)になります。

10. クラスタ ネットワークの構成の画面で「次へ」をクリックします。

11. ネットワーク接続の設定を行います。ネットワーク名がPrivate-LANの場合、「内部クラスタ通信のみ」を選択し、Public-LANの場合は「すべての通信」を選択します。「次へ」をクリックします。


12. 内部クラスタ通信の優先順位を決定します。Private-LANが一番上に来るように設定し、「次へ」をクリックします。

13. クラスタIPアドレスを以下のように設定します。設定後、「次へ」をクリックします。

IPアドレス 192.168.0.13
サブネットマスク   ご使用のネットワーク内にて有効な値
ネットワーク Public-LAN

14. クラスタ サービスの構成ウィザードの完了の画面で「完了」ボタンをクリックします。以上でノード1でのMSCSのインストールは完了します。


ノード2での作業
ノード1でクラスタが正常に稼動していることを確認して、ノード2の電源をONにします。

1.   「設定」「コントロールパネル」「アプリケーションの追加と削除」をクリックします。

2.   「Windowsコンポーネントの追加と削除」をクリックします。

3.   「クラスタ サービス」を選択し、「次へ」をクリックします。

4.   クラスタ サービスの構成ウィザードの開始」画面で「次へ」をクリックします。
MSCSにおいてサポートされるハードウェア構成について理解したうえで「理解しました」をクリックし、「次へ」をクリックします。

5.   「クラスタの2番目以降のノード」を選択し、「次へ」をクリックします。

6.   「参加したいクラスタの名前を入力してください」にMSCSと入力し、「次へ」をクリックします。

7.   ドメイン アカウント ユーザー(cluster)のパスワードを入力して、「次へ」をクリックします。

8.   「クラスタ サービスの構成ウィザードの完了」画面で「完了」をクリックします。以上でノード2でのMSCSのインストールは完了です。


 Oracle Database 10gのインストール

各ノードでOracle Databaseソフトウェアをインストールします。
データファイルなどは共有ディスク上に作成する必要があるので、ここではソフトウェアのインストールのみを行い、初期データベースの作成は行いません。
データファイルやログファイルなどは、共有ディスク上に後ほど配置しますが、Oracle Databaseソフトウェアは各ノードの内蔵ディスクにインストールします。
したがって、この作業は各ノードでそれぞれ行う必要があります。Oracle Database ソフトウェアをインストールする際、両ノードでORACLEホームを同じにする必要があります。

POINT:ハードウェア要件、ソフトウェア要件に関しては、マニュアル「クイック・インストレーション・ガイド 10g リリース1(10.1) for Windows」を参照してください。

OracleをインストールするOSユーザーはローカルマシンのAdministrators権限をもったドメイン アカウント ユーザーである必要があります。また、ノード1、ノード2で同じドメイン アカウントを使用してログオンします。今回はMSCS用に作成したドメイン アカウントであるclusterを使用します。このアカウントはMSCSのインストールの際にローカルマシンのAdministrators権限を付与されています。

各ノードで以下の手順をそれぞれ行います。

1.   clusterでログオンします。

2.   「インストールを開始」をクリックします。

3.   ノード1とノード2ではOracleホームが同じである必要があります。「Oracleホームの場所」のパスに注意をしてください。インストール・タイプでStandard Editionを選択、「初期データベースの作成」のチェックをはずして「次へ」をクリックします。

POINT:Oracle Database 10g(10.1.0.2)では、標準インストールにてインストールした場合、日本語メッセージがインストールされません。日本語メッセージが必要な場合は、「拡張インストール」にてインストールしてください。

4.   「インストール」をクリックします。

5.   インストールが終了したら、「終了」ボタンをクリックします。

6.   終了しますかとのダイアログが表示されます。「はい」をクリックしてインストールは終了です。


 Oracle Fail Safeのインストール

各ノードでOFSをインストールします。
両ノードでMSCSサービスが正常に起動していることを確認し、まずノード1でOFSのインストールを行います。ノード1でOFSのインストールが完了した後、OSを再起動し、ノード1が正常に起動したことを確認します。
続いてノード2でOFSのインストールを行います。ノード2のインストールが完了後、OSを再起動してOFSのインストールは終了です。


1.   ノード1でOFSのインストールCDを入れ、「インストールを開始」をクリックします。

2.   「次へ」をクリックします。

3.   インストール先の「名前」と「パス」に注意をしてください。ノード1とノード2で同一の名前とパスである必要があります。また、Oracle Databaseソフトウェアをインストールした際に使用したORACLE HOMEとは異なる名前とパスを使用してください。「次へ」をクリックします。

4.   「標準」を選択して「次へ」をクリックします。

5.   「次へ」をクリックします。

6.   「インストール」をクリックします。

7.   Oracle Service for MSCS に登録するドメイン ユーザーとパスワードを入力します。今回はドメイン\ユーザー名にMYDOMAIN\clusterと入力し、パスワードを入力したら「OK」をクリックします。

8.   インストールが終了したら「終了」をクリックします。

9.   「はい」をクリックします。

10. ノード1を再起動し、起動を確認してから、ノード2でOFSのインストールを行います。(手順1〜9と同様の手順を繰り返します)。ノード2でOFSのインストールが完了した後、ノード2を再起動してOFSのインストールは完了です。


 Oracle Fail Safe Managerでの設定

OFS Managerでの設定は、どちらか一方のノードから行います。
OFS Managerによる設定は大きく
  1. グループの作成
  2. データベースの作成
  3. データベースのグループへの追加
から成ります。

  グループの作成

1.   スタートメニュー プログラム からOracle Fail Safe Managerを起動します。

2.   クラスタ別名(クラスタ名)を入力します。今回はMSCSと入力し「OK」をクリックします。

3.   MSCSの[+]をクリックします。

4.   「クラスタの検証」をクリックします。

5.   検証のログを確認し、「閉じる」をクリックします。

POINT:以下のような警告がでる場合がありますが、作業に問題はありません。

6.   クラスタサービスはグループ単位でFail Over/Fail Backを行います。ここではofsgroup1というグループを作成します。左画面でグループが選択されている状態でメニュー「グループ」から「作成」をクリックします。

7.   「グループ名」を入力します。ofsgroup1と入力し、「次へ」をクリックします。

8.   ノード1(優先ノード)が復帰した場合、ノード1へfail backさせる場合、「フェイルバックする」を選択します。「次へ」をクリックします。

9.   優先ノード(NODE01)を右に移動させ、「完了」をクリックします。

10. 「OK」をクリックします。NODE01が優先ノードに設定されます。

11. グループに仮想アドレスを追加することで、そのグループは仮想サーバーになります。クライアントからのアクセスには少なくとも1つの仮想アドレスが必要になりますので、ここで追加します。「はい」をクリックします。

12. 仮想アドレスにホスト名とIPアドレス(192.168.0.14)を入力します。

POINT:仮想アドレスはホスト名からIPアドレスに変換できる必要があります。解決できない場合、エラーがでて先にすすめないため、必要に応じて以下を各ノードのhostsファイルに追加しておきます。

「192.168.0.14 ofsgroup1」部分を追加します。
通常hostsファイルは「%SystemRoot%\System32\drivers\etc\hosts」にあります。

13. 「OK」をクリックします。


  データベースの作成

データベースの作成は一方のノードからDBCA(Database Configuration Assistant)を使用して行います。データベースを構成するファイルは共有ディスク上に配置する必要があります。配置の概略は以下の図のようになります。



1.   DBCAを起動します。「データベースの作成」を選択し「次へ」をクリックします。

2.   テンプレートから「汎用」を選択し「次へ」をクリックします。

3.   「グローバル・データベース名」と「SID」を以下のように入力し「次へ」をクリックします。

グローバル・データベース名 ofsdb.jp.oracle.com
SID Ofsdb

4.   「Enterprise Managerを使用してデータベースを構成」のチェックをはずし「次へ」をクリックします。

5.   パスワードを入力し「次へ」をクリックします。

6.   「ファイル・システム」を選択し「次へ」をクリックします。

7.   「すべてのデータベース・ファイルに対して共通の位置を使用」を選択し、「データベース・ファイルの位置」を以下のように入力し「次へ」をクリックします。

データベース・ファイルの位置 I:\oradata

POINT:アプリケーションデータとして用意した共有ディスク(今回はI:ドライブ)上に作成する必要があります。

8.   「フラッシュ・リカバリ領域」を以下のように入力し「次へ」をクリックします。

フラッシュ・リカバリ領域 I:\flash_recovery_area

9.   「次へ」をクリックします。

10. 「すべての初期化パラメータ」をクリックします。

11. 「詳細パラメータの表示」をクリックします。以下の初期化パラメータの値を変更します。変更後「閉じる」をクリックし、「次へ」をクリックします。

background_dump_dest I:\bdump
core_dump_dest I:\cdump
user_dump_dest I:\udump

12. データベースの記憶域について確認ができます。すべてのファイルが共有ディスク上にあることを確認して「次へ」をクリックします。

13. データベースの作成オプションの設定画面で「終了」をクリックします。

14. 確認画面が表示されますので「OK」をクリックします。

15. インストールが開始します。データベースの作成がおわりましたら「終了」をクリックしデータベースの作成は完了です。

16. サービスでOracleService<SID名>を停止します。

17. SPFILEを共有ディスクにコピーします。SPFILEは<ORACLE_HOME>\databaseに存在するSPFILE<SID名>.oraになります。今回はI:\spfileofsdb.oraにコピーします。続いてOFSで使用するPFILEを以下のように作成します。

I:\initofsdb.ora
SPFILE=I:\spfileofsdb.ora   <- コピーしたSPFILEのパス

POINT:OFSでは初期化パラメータを使用する必要があります。そのため、SPFILEのパスを指定するPFILEを作成します。


  データベースのグループの追加

ofsgroup1グループに作成したデータベースを追加します。

1.   メニューから「リソース」-「グループに追加」をクリックします。

2.   「Oracle Database」を選択し、「グループ名」としてofsgroup1を選択し「次へ」をクリックします。

3.   以下のようにデータベース識別情報、初期化パラメータ・ファイルを入力し「次へ」をクリックします。

サービス名 ofsdb.jp.oracle.com
インスタンス名 ofsdb
データベース名 ofsdb
パラメータ・ファイル I:\initofsdb.ora

4.   「SYSアカウントを使用」を選択し、ユーザー名: SYSが選択されていることを確認してSYSのパスワードを入力します。

5.   確認画面で「OK」をクリックします。

6.   データベースがシャットダウンされる警告がでます。「はい」をクリックします。

7.   進捗が表示されます。「クラスタワイド操作が正常に完了しました」と表示されたら「OK」をクリックし、進捗画面を閉じます。


8.   以上でMSCS+OFSによるHA環境の構築はすべて終了です。グループにデータベース、リスナーが追加されていることが確認できます。