Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)

第 5 章 Sun Cluster Support for Oracle Real Application Clusters での問題の解決

Sun Cluster Support for Oracle Real Application Clusters で問題が起きた場合は、以下の各節で説明するテクニックを使って問題を解決してください。

Sun Cluster Support for Oracle Real Application Clusters の状態の確認

SUNW.rac_framework リソースの状態は、Sun Cluster Support for Oracle Real Application Clusters の状態を表します。Sun Cluster システム管理ツール scstat(1M) により、このリソースの状態を取得できます。

ProcedureSun Cluster Support for Oracle Real Application Clusters の状態を確認する

手順
  1. スーパーユーザーになります。

  2. 次のコマンドを入力します。


    # scstat -g
    

Sun Cluster Support for Oracle Real Application Clusters の状態の例

下の例は、2 ノード構成の Sun Cluster Support for Oracle Real Application Clusters に対するリソースの状態を表しています。この構成では、Solaris Volume Manager for Sun Cluster を使って Oracle Real Application Clusters データベースを格納します。

各ノードには、rac-framework-rg という名前の RAC フレームワークリソースグループが含まれます。このリソースグループに属する各リソースのリソースタイプとリソース名は次のとおりです。

リソースタイプ 

リソースインスタンス名 

SUNW.rac_framework

rac_framework

SUNW.rac_udlm

rac_udlm

SUNW.rac_svm

rac_svm

次の表のように、各ノードには、Oracle RAC サーバーリソースに対するリソースグループが含まれています。さらに、この表には、それぞれのリソースグループに属するリソースのリソースタイプと名前が示されています。

ノード 

リソースグループ 

リソースタイプ 

リソース名 

node1

RAC1-rg

SUNW.oracle_rac_server

RAC1

node1

RAC2-rg

SUNW.oracle_rac_server

RAC2

Oracle リスナーリソースは、独自のリソースグループで構成されます。これらのリソースグループの状態は、以下の例には示されていません。


例 5–1 障害のある RAC フレームワークリソースグループの状態


-- リソースグループ and リソース --

           グループ名        リソース
           ----------        ---------
リソース: rac-framework-rg  rac_framework rac_udlm rac_svm
リソース: RAC1-rg             RAC1
リソース: RAC2-rg             RAC2


-- リソースグループ --

            グループ名        ノード名  状態
            ----------        ---------  -----
     グループ: rac-framework-rg  node1      Online faulted
     グループ: rac-framework-rg  node2      Online

     グループ: RAC1-rg           node1       Online

     グループ: RAC2-rg           node2     Online


-- リソース --

            Resource Name    ノード名  状態     状態メッセージ
            -------------    ---------  -----     --------------
  Resource: rac_framework    node1      Start failed Degraded - reconfiguration in progress
  Resource: rac_framework    node2      Online    Online

  Resource: rac_udlm         node1      Offline   Unknown - RAC framework is running
  Resource: rac_udlm         node2      Online    Online

  Resource: rac_svm          node1      Offline   Unknown - RAC framework is running
  Resource: rac_svm          node2      Online    Online

  Resource: RAC1             node1      Online    Online

  Resource: RAC2             node2      Online    Faulted

この例では、障害のある RAC フレームワークリソースグループの以下の状態を示します。



例 5–2 障害のある RAC サーバーリソースグループの状態


-- リソースグループ and リソース --

             グループ名          リソース
             ----------          ---------
  リソース: rac-framework-rg    rac_framework rac_udlm rac_svm
  リソース: RAC1-rg             RAC1    
  リソース: RAC2-rg             RAC2    


-- リソースグループ --

             グループ名          ノード名      状態
             ----------          ---------      -----
      グループ: rac-framework-rg    node1          Online
      グループ: rac-framework-rg    node2          Online

      グループ: RAC1-rg             node1          Online

      グループ: RAC2-rg             node2          Online faulted


-- リソース --

             Resource Name      ノード名      状態     状態メッセージ
             -------------      ---------      -----     --------------
   Resource: rac_framework      node1          Online    Online
   Resource: rac_framework      node2          Online    Online

   Resource: rac_udlm           node1          Online    Online
   Resource: rac_udlm           node2          Online    Online

   Resource: rac_svm            node1          Online    Online
   Resource: rac_svm            node2          Online    Online

   Resource: RAC1               node1          Online    Online

   Resource: RAC2               node2          Online    Faulted - RAC instance not running

この例では、障害のある RAC サーバーリソースグループの以下の状態を示します。



例 5–3 正常な Oracle Real Application Clusters 構成の状態


-- リソースグループ and リソース --

             グループ名          リソース
             ----------          ---------
  リソース: rac-framework-rg    rac_framework rac_udlm rac_svm
  リソース: RAC1-rg             RAC1    
  リソース: RAC2-rg             RAC2    


-- リソースグループ --

             グループ名          ノード名           状態
             ----------          ---------           -----
      グループ: rac-framework-rg    node1               Online
      グループ: rac-framework-rg    node2               Online

      グループ: RAC1-rg             node1               Online

      グループ: RAC2-rg             node2               Online


-- リソース --

             Resource Name       ノード名           状態     状態メッセージ
             -------------       ---------           -----     --------------
   Resource: rac_framework       node1               Online    Online
   Resource: rac_framework       node2               Online    Online

   Resource: rac_udlm            node1               Online    Online
   Resource: rac_udlm            node2               Online    Online

   Resource: rac_svm             node1               Online    Online
   Resource: rac_svm             node2               Online    Online

   Resource: RAC1                node1               Online    Online

   Resource: RAC2                node2               Online    Online

この例は、正常に動作している Oracle Real Application Clusters 構成の状態を表しています。この例は、この構成のすべてのリソースおよびリソースグループがオンラインであることを示しています。


診断情報の情報源

ディレクトリ /var/cluster/ucmm には、次の診断情報の情報源が含まれます。

ディレクトリ /var/opt/SUNWscor/oracle_server には、Oracle RAC サーバーリソースのログファイルが含まれます。

システムメッセージファイルには、診断情報も含まれます。

Sun Cluster Support for Oracle Real Application Clusters で問題が発生した場合は、これらのファイルを参照して、問題の原因に関する情報を取得してください。

よくある問題と解決方法

Sun Cluster Support for Oracle Real Application Clusters に影響する問題を以下に説明します。以下の各項では、問題の原因と解決方法について説明しています。

Sun Cluster Support for Oracle Real Application Clusters の初期化中のノードパニック

Sun Cluster Support for Oracle Real Application Clusters の初期化中に重大な問題が起きた場合、ノードパニックが発生して次のようなエラーメッセージが表示されます。


panic[cpu0]/thread=40037e60: Failfast: Aborting because "ucmmd" died 30 seconds ago

説明:

問題の原因を突き止めるには、システムメッセージファイルを調べてください。この問題の最も一般的な原因は以下のとおりです。

  • VERITAS Volume Manager (VxVM) のライセンスがないか、または失効している。

  • Oracle UDLM を含む ORCLudlm パッケージがインストールされていない。

  • 共有メモリーの容量不足のため Oracle UDLM を起動できない。

  • Oracle UDLM のバージョンが Sun Cluster Support for Oracle Real Application Clusters のバージョンと互換性がない。

この問題を修正する方法については、「初期化時のノードパニックから回復する」を参照してください。

さらに、Sun Cluster Support for Oracle Real Application Clusters の初期化の際に、再構成ステップがタイムアウトになったためにノードがパニックになることがあります。詳細は、「タイムアウトによるノードパニック」を参照してください。

Procedure初期化時のノードパニックから回復する

手順
  1. パニックを起こしたノードを保守モードで起動する。

    詳細は、『Sun Cluster のシステム管理 (Solaris OS 版)』を参照してください。

  2. ボリュームマネージャーパッケージのインストールが正しく行われているか確認します。

    VxVM を使用する場合は、ソフトウェアを正しくインストールしてあることを確認し、また、VxVM クラスタ機能用のライセンスが有効であることを確認してください。

  3. Oracle UDLM ソフトウェアのインストールと構成の前に必要なすべての手順が完了しているか確認します。

    完了する必要がある手順は、表 1–1 にリストされています。

  4. Oracle UDLM ソフトウェアのインストールと構成が正しく行なわれているか確認します。

    詳細は、「SPARC: Oracle UDLM のインストール」を参照してください。

  5. パニックを起こしたノードを再起動します。

    詳細は、『Sun Cluster のシステム管理 (Solaris OS 版)』を参照してください。

タイムアウトによるノードパニック

Sun Cluster Support for Oracle Real Application Clusters の再構成時にステップのタイムアウトが原因でタイムアウトが発生したノードでパニックが起きます。

再構成ステップのタイムアウトを防ぐには、使用するクラスタ構成に基づいてタイムアウト値を調整してください。詳細は、「タイムアウト設定のガイドライン」を参照してください。

再構成ステップがタイムアウトする場合は、scrgadm ユーティリティーを使って、ステップのタイムアウトを指定する拡張プロパティーの値を増やしてください。詳細は、付録 A 「Sun Cluster Support for Oracle Real Application Clusters 拡張プロパティー」を参照してください。

拡張プロパティーの値を増やした後、パニックを起こしたノードをリブートします。

ノードの障害

ノードの障害から回復するためには、次の作業が必要です。

  1. パニックを起こしたノードを保守モードで起動する。

  2. 問題の原因に応じて適切な回復処置を行う。

  3. パニックを起こしたノードを再起動する。

詳細は、『Sun Cluster のシステム管理 (Solaris OS 版)』を参照してください。


注 –

Oracle Real Application Clusters 環境では、複数の Oracle インスタンスが連携して、同じ共有データベースにアクセスします。Oracle クライアントは、任意のインスタンスを使用してデータベースにアクセスできます。したがって、1 つまたは複数のインスタンスで障害が発生しても、クライアントは残りのインスタンスに接続することによって、引き続きデータベースにアクセスできます。


ucmmd デーモンの起動失敗

UCMM デーモン ucmmd は、Sun Cluster Support for Oracle Real Application Clusters の再構成を管理します。クラスタをブートまたはリブートするとき、このデーモンは、Sun Cluster Support for Oracle Real Application Clusters のすべてのコンポーネントが検証された後にだけ起動されます。ノード上のコンポーネントの検証が失敗した場合、ucmmd はそのノード上で起動に失敗します。

問題の原因を突き止めるには、以下のファイルを調べてください。

この問題の最も一般的な原因は以下のとおりです。

この問題を解決するには、問題の原因の適切な回復手順を実行して、ucmmd の起動に失敗したノードをリブートしてください。

SUNW.rac_framework リソースの起動失敗

SUNW.rac_framework リソースが起動に失敗する場合は、障害の原因を調べるためにリソースの状態を確認してください。詳細は、「Sun Cluster Support for Oracle Real Application Clusters の状態を確認する」を参照してください。

起動に失敗したリソースの状態は、Start failed と表示されています。起動失敗の原因を示す関連状態メッセージは、次のとおりです。


Faulted - ucmmd is not running

説明:

リソースがあるノード上で ucmmd デーモンが実行されていません。この問題の解決方法については、ucmmd デーモンの起動失敗」を参照してください。


Degraded - reconfiguration in progress

説明:

Sun Cluster Support for Oracle Real Application Clusters の 1 つまたは複数のコンポーネントでエラーが起きました。

設定エラーの原因を突き止めるには、以下のファイルを調べてください。

  • UCMM 再構成ログファイル /var/cluster/ucmm/ucmm_reconf.log

  • システムメッセージファイル

構成エラーの原因を示す可能性があるエラーメッセージの詳細については、『Sun Cluster Error Messages Guide for Solaris OS』を参照してください。

この問題を解決するには、問題を引き起こした設定エラーを修正します。次にエラーの起きたコンポーネントのあるノードをリブートします。


オンライン

説明:

SUNW.rac_framework リソースの START メソッドがタイムアウトするまで Oracle Real Application Clusters の再構成は完了しませんでした。

この問題を修正する方法については、START メソッドのタイムアウトから回復する」を参照してください。

ProcedureSTART メソッドのタイムアウトから回復する

手順
  1. スーパーユーザーになります。

  2. START メソッドがタイムアウトしたノード上で、RAC フレームワークリソースグループをオフラインにします。

    この操作を行うためには、リソースグループの主ノードを、このグループがオンラインになっているほかのノードに切り替える必要があります。


    # scswitch -z -g resource-group -h nodelist
    
    -g resource-group

    RAC フレームワークリソースグループの名前を指定します。このリソースグループが scsetup ユーティリティーを使って作成された場合、リソースグループの名前は、rac-framework-rg です。

    -h nodelist

    resource-group がオンラインになっているほかのクラスタノードのコンマで区切ったリストを指定します。ただし、START メソッドがタイムアウトになったノードはこのリストから除きます。

  3. Sun Cluster Support for Oracle Real Application Clusters を実行できるすべてのクラスタノード上で、RAC フレームワーククラスタグループをオンラインにします。


    # scswitch -Z -g resource-group
    
    -Z

    リソースとモニターを使用可能にし、リソースグループを 管理 状態にし、オンラインにします。

    -g resource-group

    手順 2 でオフラインにしたリソースグループが管理状態に移行し、オンラインになるように指定します。

リソースの停止失敗

リソースの停止に失敗した場合、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』「リソースの STOP_FAILED エラーフラグの消去」の説明に従って問題を修正してください。