プライマリ・コンテンツに移動
Oracle® Fail Safe概要および管理ガイド
リリース4.2.1 for Microsoft Windows
E88304-02
目次へ移動
目次

前
次

4 高い可用性を実現するための管理

Oracle Fail Safeには、Windowsクラスタ環境内でリソースを容易に構成できるという利点があります。この章では、以下のトピックについて説明します。

スタンドアロン・リソースをグループに構成する手順、およびグループに属しているこれらのリソースの管理の詳細は、このマニュアルの「可用性および障害耐久力を高めるためのシングルインスタンス・データベースの構成」『Oracle Fail Safeチュートリアル for Microsoft Windows』およびオンライン・ヘルプを参照してください。

フェイルオーバーのリソースの構成

Oracle Fail Safe Managerのウィザードを使用すると、システム管理者は、最小限の作業で簡単かつ自動的にフェイルオーバーを構成できます。Oracle Fail Safe Managerを使用すると、クラスタ内の1つのノードに障害が起きた場合でも別のクラスタ・ノードが障害ノードのグループ内のリソースを即時に引き継ぐように、リソースをグループごとに構成できます。

ウィザードにより、実装中の構成問題が発生するリスクが最小限に抑えられ、高度なレベルの専門知識がなくても、可用性が高まるようにリソースを構成できます。ウィザードで設定したポリシーの大部分は、Oracle Fail Safe Managerを使用して後から変更できます。

次のリストに、リソースにフェイルオーバーを実装するための、基本的な作業を要約します。最初のタスクを除き、Oracle Fail Safe Managerを使用してこれらのすべてのタスクを実行する必要があります。

  1. Oracle Fail Safeとともに構成する製品が適切にインストールされていることを確認します。(これは、『Oracle Fail Safeインストレーション・ガイドfor Microsoft Windows』に記載されています。)
  2. Oracle Fail Safe Managerを起動します。
  3. クラスタを検証します。
  4. 「検証」アクションを使用して、追加するスタンドアロンのOracle Databaseを検証します。
  5. グループにリソースを追加します。
  6. グループを検証します。
  7. クライアント・システムにOracle Netファイル(tnsnames.oraファイルなど)がある場合は、これらのファイルを更新します。

注意:

構成するリソースのタイプによっては、これ以外に手順や注意事項を追加する場合もあります。

Oracle Fail Safe Managerのウィザードを使用するための段階的なガイダンスは、Oracle Fail Safe Managerのチュートリアルおよびオンライン・ヘルプを参照してください。

ウィザード入力項目のOracle Fail Safeでの処理

ウィザードで必要な情報がすべて収集されると、Oracle Fail Safe ManagerがOracle Fail Safeと対話し(次にそれがMicrosoft Windowsフェイルオーバー・クラスタと対話して)、可用性の高い環境が実現されます。

Oracle Fail Safeでは、ユーザーがウィザードで入力した情報に基づいて、環境の構成に必要な追加情報がすべて導出されます。

同様の手順により、多くのリソースがOracle Fail Safeによって構成されます。Oracle Fail Safeでは、可用性の高いOracle Databaseを構成するために、次の特定の手順を実行します。

  1. ネットワーク名を使用してデータベースへのアクセスを構成します。

    1. Oracle Netを、データベースの「可能所有者ノード」リストにあるすべてのノードで、データベースに関連付けられたネットワーク名を使用できるように構成します。(2つのノードからなるクラスタでは、両方のクラスタ・ノードが可能所有者ノードになります。3つ以上のノードからなるクラスタでは、リソースをグループに追加ウィザードのステップとして、リソースの可能所有者ノードを指定します。)

    2. ネットワーク構成情報を、「可能所有者ノード」リストのすべてのノードにレプリケートします。

  2. 次のようにデータベースを構成します。

    1. データベース・リソースが使用するすべてのデータファイルがクラスタ・ディスクに置かれ、他のグループのアプリケーションによって現在使用されていないことを確認します。クラスタ・ディスクが別のグループ内に存在していても、そのグループ内のアプリケーションによって使用されていない場合、Oracle Fail Safeがそのディスクをデータベース・リソースと同じグループに移動します。

    2. ウィザードで選択した内容に基づいて、データベース・リソースのフェイルバック・ポリシーを作成します。

    3. 次のリソースをグループに移入します。

      • クラスタ・グループに使用される各ディスク・リソース

      • Oracleデータベース

      • Oracle Netリスナー

  3. データベースを追加するグループの可能所有者ノードのそれぞれについて次の処理を、1回に1つずつ行います。

    1. 同じ名前のOracleインスタンスをノード上に作成します。

    2. データベースをノードにフェイルオーバーして、ノードがデータベースをオンライン化またはオフライン化できることを検証し、フェイルオーバー・ポリシーが機能することを確認します。

  4. グループに優先所有者ノードがある場合、グループはそのノードに移動されます。「優先所有者ノード」リストでノードが選択されていない場合、グループは構成プロセスの過程で最後に指定したフェイルオーバー先のノードに残ります。

これらの手順を実行することで、Oracle Fail Safeでは、リソースが正しく構成され、またリソース追加先のグループのすべての可能所有者ノードにフェイルオーバーおよびフェイルバックできるようになります。

図4-1に、各ノードがデータベースを伴うグループのホストになる、2ノードのアクティブ/アクティブ・クラスタ構成を示します。

図4-1 Oracle Fail Safe環境内の仮想サーバーとアドレッシング

図4-1の説明が続きます
「図4-1 Oracle Fail Safe環境内の仮想サーバーとアドレッシング」の説明

仮想サーバー(AおよびB)とネットワーク・アドレスは、すべてのクライアントおよびクラスタ・ノードには既知のものです。各クラスタ・ノードのlistener.oraファイルと各クライアント・ワークステーションのtnsnames.oraファイルには、各仮想サーバーの名前とアドレス情報があります。

フェイルオーバーが適切に動作するためには、tnsnames.oraファイルおよびlistener.oraファイル内のホスト名(ネットワーク名)、データベース・インスタンス、およびプロトコル情報が、グループ内のリソースの可能所有者となる各サーバー・ノードと、クライアント・システムとで一致する必要があります。

たとえば、通常の動作中には、ノードAで仮想サーバーAがアクティブになります。ノードBは仮想サーバーAのフェイルオーバー・ノードです。クラスタ・ディスクは両方のノードと接続しているため、リソースはクラスタのどちらのノードでも稼働しますが、各グループのリソースに対するサービスは、一度に1つのクラスタ・ノードによって提供されます。

ノードAでシステム障害が発生すると、グループ1はノードA上にあったときと同じネットワーク名およびポート番号を使用してノードBでアクティブになります。ノードBはクライアントに対し透過的に、ノードAから作業負荷を引き継ぎ、クライアントは仮想サーバーAを使用してグループ1に、仮想サーバーBを使用してグループ2にアクセスを続けます。クライアントは、グループを処理している物理ノードを考慮せずに、同じ仮想サーバー名およびアドレスを使用してそのグループ内のリソースに対してアクセスを続けます。

クラスタ・セキュリティの管理

Oracle Fail Safeに関連した管理作業を実行するには、Oracleリソースおよびアプリケーションを管理し、Oracle Fail Safe Managerによる操作を実行する特別な権限が必要です。

表4-1に、Oracle Fail Safe環境で使用するサービスに必要な権限の一覧を示します。詳細は、右端の列に示した項を参照してください。

表4-1 許可と権限

サービス 必要な権限 参照情報

Oracle Fail Safe

すべてのクラスタ・ノードで管理者権限を持つドメイン・ユーザー・アカウント

Oracle Fail Safeサービス

Oracle Fail Safe Manager

すべてのクラスタ・ノードで管理者権限を持つドメイン・ユーザー・アカウント

Oracle Fail Safe Manager

Oracleデータベース

SYSDBA権限を伴うデータベース管理者アカウント

シングルインスタンス・データベースのセキュリティ要件

Oracle Fail Safeサービス

Oracle Fail Safeは、2種類のWindowsサービス(Cluster ServiceサービスおよびOracle Fail Safeサービス)からデータベース・リソースにアクセスします。Cluster Serviceサービスは、データベース・リソースDLL関数(データベース・リソースを起動および停止する共通のリソース関数)を実装し、データベースに対して単純なデータベース問合せ(Is Aliveポーリング)を発行することにより、データベース・リソースが適切に機能しているかどうかを判別します。Oracle Fail Safeサービスは、Oracleクラスタ・リソースに関連するOracle Fail Safe ManagerやPowerShellコマンドレットなどのOracle Fail Safeクライアントからのリクエストを処理します。

これらの各サービスは、特定のサービスに対して指定されている「ログオン」ユーザーのコンテキストで実行されます。Oracle Fail Safeサービスは、Oracle Fail Safeのインストール中にOracle Fail Safeのセキュリティ設定ツールに指定されたアカウントで実行されます。

すべてのデータベース接続を適切に認証する必要があるため、Oracle Fail Safeは、データベースへの接続権限を持つコンテキストから実行する必要があります。データベースへのアクセスにオペレーティング・システム認証を使用する場合(データベース・パラメータREMOTE_LOGIN_PASSWORDFILENONEに設定されている場合)、Oracle Databaseは、そのサービスのアカウント名を使用してWindowsサービスからアクセスを認証します。Oracle Fail Safeサービスでは、Oracle Fail Safeサービスに指定された「ログオン」アカウントを使用して認証が実行されることを意味します。Oracle Fail Safeデータベース・リソースDLLによって、データベースへの接続時にOracle Fail Safeアカウントが擬似作成されます。Cluster ServiceがLocal Systemとして実行されている場合でも、データベース・アクセス認証はOracle Fail Safeアカウントを使用して行われます。

オペレーティング・システム認証を使用する場合、Oracle Fail Safeは、Oracle Fail Safeサービスに指定されたアカウントを使用してデータベース・アクセスの認証のみを試行します。データベース認証の詳細は、「データベース認証」を参照してください。

Oracle Fail Safe Serverアカウントの変更

Oracle Fail Safe Serverサービスは、管理者グループのメンバーであるドメイン・ユーザー・アカウントで実行する必要があり、クラスタのすべてのノードにアクセスできます。アカウントは、各ノードのローカル管理者グループのメンバーである必要がありますが、ドメインの管理者権限は必要ありません。このアカウントは、クラスタのOracleリソースの構成を変更するためにOracle Fail Safeで使用され、Oracle Fail Safeで管理されるOracle Databaseのアクセスにも使用されます。Oracle Fail Safeのインストール中に、インストール・プロセスによってOracle Fail Safeサーバーで使用されるアカウントおよびパスワードの入力が求められます。Oracle Fail Safeで使用されるアカウントを変更するには、「資格証明の設定」ツールを実行して、Oracle Fail Safeで使用する新しいアカウントを指定します。

Oracle Fail Safeアカウントを変更するには、次の手順を実行します。

  1. Windowsの「スタート」メニューから「すべてのプログラム」を選択します。

  2. Oracle Fail Safeホームを選択し、「資格証明の設定」を選択して概要画面を表示します。

  3. 「継続」をクリックして、新しい資格証明を入力します。

  4. Oracle Fail Safeサーバーのユーザー・アカウントを変更した後、Cluster Serviceサービスを再起動する必要があります。

注意:

ノードによって現在所有されているすべてのクラスタ・リソースは、Cluster Serviceサービスが停止するとクラスタ内の別のノードにフェイルオーバーします

図4-2に、ユーティリティを説明するOracle Fail Safe Server資格証明のダイアログ・ボックスを示します。

図4-2 Oracle Fail Safe Server資格証明

図4-2の説明が続きます
「図4-2 Oracle Fail Safe Server資格証明」の説明

図4-3 Oracle Fail Safe ServerのWindowsセキュリティ設定

図4-3の説明が続きます
「図4-3 Oracle Fail Safe ServerのWindowsセキュリティ設定」の説明

Oracle Fail Safe Manager

Oracle Fail Safe Managerの実行時に、(ローカル・アカウントではなく)すべてのクラスタ・ノードに対する管理者権限を持ったドメイン・ユーザー・アカウントにログインする必要があります。アカウントは、各ノードのローカル管理者グループのメンバーである必要がありますが、ドメインの管理者権限は必要ありません。

スタンドアロン・リソースの検出

Oracle Fail Safe Managerのツリー・ビューから「スタンドアロン・リソース」フォルダを選択すると、Oracle Fail Safeによってスタンドアロン・リソースが自動的に検出(特定)され、ツリー・ビューに表示されます。「可用性および障害耐久力を高めるためのシングルインスタンス・データベースの構成」に、Oracle Fail Safeで可用性を高めるように構成することが可能な各タイプのコンポーネントの検出方法に関する情報が記載されています。

リソース名の変更

リソースをグループに追加した後、リソース名は変更しないでください。リソース名を変更する必要がある場合は、Oracle Fail Safe Managerを使用してリソースをグループから削除してから、新しい名前でそのリソースをグループに再度追加します。

複数Oracleホーム環境でのOracle Fail Safeの使用方法

Oracle Fail Safeでは、複数のOracleホームの機能がサポートされています。次のリストに、複数Oracleホーム環境でOracle Fail Safeを使用するための要件を示します。

  • Oracle Fail Safeは、すべてのクラスタ・ノード上のいずれか1つのOracleホームにインストールします。ノードにインストールして実行できるのは、Oracle Fail Safeの1つのバージョンにかぎられます。

  • 最新リリースのOracle Fail Safe Managerを使用して、複数のクラスタを管理します。各種バージョンのOracle Fail Safe ManagerおよびOracle Fail Safeサーバー・コンポーネントの互換性の詳細は、『Oracle Fail Safeリリース・ノートfor Microsoft Windows』を参照してください。

    注意:

    複数のリリースのOracle Fail Safe Managerをシステムにインストールできますが、各リリースを異なるOracleホームにインストールする必要があります。

  • 可用性が高まるように構成する各リソースは、可能所有者であるすべてのクラスタ・ノード上の同じOracleホームにインストールします。クラスタの「検証」アクションは、この対称性を検証します。クラスタの「検証」アクションの詳細は、「クラスタの検証」を参照してください。

  • グループ内のすべてのデータベースおよびリスナーは、同じOracleホームに属している必要があります。

    データベースをグループに追加すると、Oracle Netのリスナー・リソースもグループに追加されます。オプションで、Oracle Management Agentリソースをグループに追加できます。

    リスナーは、データベースが存在しているのと同じOracleホームに作成されます。

複数のネットワーク名を使用した構成

Oracle Fail Safe Managerを使用してグループにリソース(汎用サービス以外)を追加するには、あらかじめそのグループに1つ以上のネットワーク名を追加しておく必要があります。クライアント・アプリケーションは、グループのネットワーク名の1つによって、そのグループ内のリソースに接続します。

リソースをグループに追加ウィザードを開始することにより、リソースを追加する前にグループに最大32のネットワーク名を追加できます。Microsoft Windowsフェイルオーバー・クラスタ・マネージャで、グループを選択し、画面右側のペインの「Actions」メニューから「Add a Resource」アクションを選択して、ネットワーク名(クライアント・アクセス・ポイントとも呼ばれます)をグループに追加します。

以下の制限に注意してください。

  • 別のリソースをグループに追加する前に、少なくとも1つのネットワーク名をグループに追加する必要があります。

  • グループに1つ以上のOracle Databaseが含まれる場合は、次のようにします。

    • グループにデータベースを追加する前に、そのグループの1つ以上のデータベースとともに構成するすべてのネットワーク名をグループに追加します。

    • グループ内のすべてのデータベースで、グループに追加する最初のデータベースに対して指定する一連のネットワーク名を使用します。(ネットワーク名のセットには、1つのアドレスを含めます。)

    Oracleデータベースに対する複数ネットワーク名の構成の詳細は、「ネットワーク名の選択」を参照してください。

グループにネットワーク名を追加すると、どのクラスタ・ノードがそのクラスタのホストになっているかにかかわらず、同じネットワーク・アドレスを持つクライアントはそのグループにアクセスできます。

グループ内の複数ネットワーク名によって、柔軟な構成オプションが得られます。たとえば、プライベート・ネットワークを介してデータベースのバックアップ処理を実行している間に、ユーザーがパブリック・ネットワークを介してデータベースにアクセスすることが可能になります。あるいは、異なるネットワーク・セグメント上の異なるネットワーク名をセキュリティ管理に割り当て、管理者があるセグメント上のデータベースにアクセスする一方で、ユーザーが別のセグメント上のデータベースにアクセスすることも可能です。

グループに複数のネットワーク名を追加する場合、Oracle Fail Safe Managerにより、そのグループのリソースにアクセスするためにクライアントが使用するアドレスを指定するように要求されます。グループに複数のリソース(たとえば、データベースとカスタム・アプリケーションなど)を追加すると、ユーザーからデータベースに直接アクセスする場合はデータベースへのアクセス専用のネットワーク名を使用し、ユーザーからカスタム・アプリケーションにアクセスする場合は別のネットワーク名を使用することができます。もしくは、多数のデータベース・ユーザーが存在する場合、一部のユーザーが1つのネットワーク名を使用してデータベースにアクセスし、他のユーザーが別のネットワーク名を使用するようにして、ネットワーク・トラフィックを均衡させることができます。

ネットワーク名をグループに追加する方法の詳細は、Oracle Fail Safe Managerのオンライン・ヘルプを参照してください。

既存クラスタへのノードの追加

ソフトウェアをインストールして新しいノードを既存のクラスタに追加する手順は、 『Oracle Fail Safeインストレーション・ガイドfor Microsoft Windows』に記載されています。その作業の完了後に、最終的な手順があります。新しいノードが可能所有者であるクラスタの各グループの「検証」アクションを選択します。

クラスタに新規ノードを追加し、Oracle Fail Safeと、そのノードで実行を予定しているリソースのDLLを、そのノードにインストールするとします。新規のノードは、これらのリソースの可能所有者になります。これらのリソースが新規ノード上で実行するように構成されていない場合、そのリソースを含むグループが新規のノードにフェイルオーバーしても、そのノードではこれらのリソースは再起動しません。

しかし「検証」アクションを実行すると、検証されたグループ内のリソースが、そのグループの可能所有者となっている各ノードで実行するよう構成されているかどうかが、Oracle Fail Safeによってチェックされます。グループ内のリソースが実行するように構成されていない可能所有者ノードが検出されると、Oracle Fail Safeがそれを構成します。

このため、新規のノードが可能所有者としてリストされた各グループについては、「検証」操作を実行することを強くお薦めします。「Oracleリソースの構成の検証」で、「検証」操作について説明しています。「PowerShellコマンド」の説明に従って、Oracle Fail Safe PowerShellコマンドレットTest-OracleClusterGroupを使用してグループを検証することもできます。