3.1.7 Oracle ExadataおよびZero Data Loss Recovery ApplianceのOracle Exachkの詳細の理解

Oracle ExadataおよびZero Data Loss Recovery ApplianceでのOracle Exachk固有の機能について理解し、タスクの実行方法について学習します。

3.1.7.1 Oracle ExadataおよびZero Data Loss Recovery ApplianceでOracle Exachkを実行するためのインストール要件

ローカル・データベース上またはデータベースに接続されているリモート・デバイス上のOracle ExadataおよびZero Data Loss Recovery ApplianceにOracle Exachkをインストールするための要件を理解します。

ノート:

Oracle Autonomous Health Frameworkのインストールおよびアップグレードの詳細は、Oracle Autonomous Health Frameworkのインストールおよびアップグレードを参照してください。

3.1.7.2 Oracle ExadataおよびZero Data Loss Recovery ApplianceでのOracle Exachkの使用

Oracle ExadataおよびZero Data Loss Recovery ApplianceでのOracle Exachkの使用は、仮想化やパラレル実行などのその他の考慮事項によって異なります。

3.1.7.2.1 クライアント・インタフェースでのデータベースのデフォルト・アクセス

クライアント・インタフェースをデータベースのデフォルト・アクセスとして使用する場合は、-clusternodesコマンドライン・オプションを使用して、Oracle EXAchkに管理インタフェースを介して通信するように指示します。

たとえば、クラスタが次のように構成されている場合、コマンドには次のものを含める必要があります。
-clusternodes dbadm01,dbadm02,dbadm03,dbadm04

ノート:

-clusternodesオプションを使用する場合は、リスト内の最初のデータベースでOracle EXAchkを起動します。

表3-6 クラスタ構成の例

インタフェース データベース・ホスト名

管理

dbadm01, dbadm02, dbadm03, dbadm04

クライアント

dbclnt01, dbclnt02, dbclnt03, dbclnt04

3.1.7.2.2 仮想化の考慮事項

Oracle EXAchkは、Oracle ExadataおよびZero Data Loss Recovery Applianceでの仮想化をサポートしています。

データベース、ストレージ・サーバー、InfiniBandファブリックおよびInfiniBandスイッチのハードウェアおよびオペレーティング・システム・レベルのチェックを実行するには、次のようにします。

  • DOM0とも呼ばれる管理ドメインにOracle EXAchkをインストールします

  • Oracle EXAchkをrootとして実行します

DOM0からOracle EXAchkを実行すると、Oracle EXAchkは次のようにします。

  • InfiniBandファブリック全体のすべてのコンピュート・ノード、ストレージ・サーバーおよびInfiniBandスイッチを検出します

  • これらすべてのコンポーネントで実行します

Oracle EXAchkが管理ドメインで実行されているときにノードのサブセットでOracle EXAchkを実行するには、次のコマンドライン・オプションを使用します。

  • -clusternodes: データベースを指定します

  • -cells: ストレージ・サーバーを指定します

  • -ibswitches: InfiniBandスイッチを指定します

たとえば、最初のクォータ・ラックのみが仮想化用に構成され、すべてのコンポーネントが同じInfiniBandファブリック上にあるフル・ラックの場合は、dom0データベース・ノードrandomadm01rootとして次のコマンドを実行します。
exachk -clusternodes randomadm01,randomadm02 \
       -cells randomceladm01,randomceladm02,randomceladm03 \
       -ibswitches randomsw-ibs0,randomsw-iba0,randomsw-ibb0

管理ドメインdom0での実行に加えて、DOMUとも呼ばれるユーザー・ドメイン内のクラスタごとにOracle EXAchkを個別に実行します。Oracle EXAchkはクラスタ内のノードを自動的に検出するため、DOMU内で前述のパラメータを使用する必要はありません。

たとえば、各クラスタに2つのクラスタと4つのユーザー・ドメインがあるとします。合計8つのユーザー・ドメインがありますが、Oracle EXAchkでは2回しか実行されません。1つ目のユーザー・ドメインで実行されている1つ目のクラスタの1つ目のノードで1回、2つ目のユーザー・ドメインで実行されている2つ目のクラスタの1つ目のノードで1回です。ユーザー・ドメインの実行には、データベース、ストレージ・サーバーまたはInfiniBandスイッチのハードウェアまたはオペレーティング・システム・レベルのチェックは含まれません。

ノート:

管理ドメインおよびユーザー・ドメインでOracle EXAchkをrootとして実行します。

3.1.7.2.3 シリアル・データ収集の実行

デフォルトでは、Oracle EXAchkはストレージ・サーバー、InfiniBandスイッチおよびOracleデータベースのパラレル・データ収集を実行します。

シリアル・データ収集を実行するようにOracle EXAchkを構成することもできます。

ストレージ・サーバー、データベースおよびInfiniBandスイッチのシリアル・データ収集を実行するには、次の環境変数を設定します。

  • RAT_COMPUTE_RUNMODE

  • RAT_CELL_RUNMODE

  • RAT_IBSWITCH_RUNMODE

  1. データベース・サーバー・データをシリアルで収集するには、次のようにします。
    export RAT_COMPUTE_RUNMODE=serial
  2. ストレージ・サーバー・データをシリアルで収集するには、次のようにします。
    export RAT_CELL_RUNMODE=serial
  3. InfiniBandスイッチ・データをシリアルで収集するには、次のようにします。
    export RAT_IBSWITCH_RUNMODE=serial

3.1.7.2.4 非対称環境およびロール別環境でのrootユーザーIDの使用

非対称環境またはロール別環境で必要な作業を簡素化するために、Oracle EXAchkをrootとして実行します。

データベース・ホームが対称でない場合は、クラスタ内の複数のデータベースにOracle EXAchkをインストールし、データベースのサブセットにあるOracle Databaseホームごとに1つのインストールが存在するようにします。

この例では、同じクラスタで次の構成があるとします。

表3-7 非対称環境およびロール別環境でのrootユーザーIDの使用

所有者のユーザーID Oracle Databaseホーム インストール先 データベース

user1

/path1/dbhome_1

db01, db02, db03, db04

dbm-a

user2

/path2/dbhome_2

db05, db06, db07, db08

dbm-b,dbm-c

grid

/path3/grid

db01, db02, db03, db04, db05, db06, db07, db08

+ASM

さらに、user1user2Gridの間にロール分離があるため、他のデータベースの構造にはアクセスできません。また、会社ポリシーを適用して、システム管理者をデータベース管理者から分離することもできます。

次のようにします。

  1. rootとして、db01/tmp/exachk/121026ディレクトリにOracle EXAchkをインストールします。

  2. rootとして、db05/tmp/exachk/121026ディレクトリにOracle EXAchkをインストールします。

  3. rootとして、db01で次のようにします。
    cd /tmp/exachk/121026
    exachk -clusternodes db01,db02,db03,db04

    データベースの選択リストからdbm-aを選択して、dbm-aのデータベース・チェックを収集します。

  4. rootとして、db05で次のようにします。
    cd /tmp/exachk/121026
    exachk -excludeprofiles storage,switch -clusternodes db05,db06,db07,db08
    

    Oracle Databaseの選択リストからdbm-bおよびdbm-cを選択して、dbm-bおよびdbm-cのデータベース・チェックを収集します。

  5. 必要に応じて、-mergeコマンドライン・オプションを使用してレポートをマージします。

3.1.7.2.5 rootとは異なるユーザーを指定するための環境変数

rootとは異なるユーザーを指定するための環境変数のリストを確認します。

  • RAT_CELL_SSH_USER

    デフォルトでは、Oracle EXAchkはrootとして実行され、Oracle Exadata Storage Serverでチェックが実行されます。

    セキュリティ・ポリシーでSSHを介したrootとしてのストレージ・サーバーへの接続が許可されていない場合は、次の環境変数を設定して別のユーザーを指定できます。
    export RAT_CELL_SSH_USER=celladmin

    ノート:

    RAT_CELL_SSH_USERを指定すると、指定した代替ユーザーの権限に基づいてチェックのサブセットが実行されます。

  • RAT_IBSWITCH_USER

    デフォルトでは、Oracle DatabaseでrootとしてOracle EXAchkを実行すると、Oracle EXAchkはrootとして実行され、InfiniBandスイッチのチェックが実行されます。デフォルトでは、Oracle EXAchkがデータベースでroot以外のユーザーとして実行されると、nm2userを使用してInfiniBandスイッチのチェックが実行されます。

    セキュリティ・ポリシーでSSHを介したrootユーザーまたはnm2userユーザーとしてのInfiniBandスイッチへの接続が許可されていない場合は、次の環境変数を設定して別のユーザーを指定します。
    export RAT_IBSWITCH_USER=ilom-admin

    ノート:

    RAT_IBSWITCH_USERを指定すると、指定した代替ユーザーの権限に基づいてチェックのサブセットが実行されます。

3.1.7.2.6 Oracle EXAchkのInfiniBandスイッチの処理

このトピックでは、Oracle ExalogicおよびOracle Exadataエンジニアド・システムが同じInfiniBandファブリック上に存在する場合に、Oracle EXAchkのInfiniBandスイッチの処理を実行する方法について説明します。

Oracle ExalogicおよびOracle Exadataエンジニアド・システムが同じInfiniBandファブリック上に存在する場合:
  1. Oracle Exadataデータベース・サーバーでOracle EXAchkを実行すると、Exalogicゲートウェイ・スイッチが除外されます。

  2. Oracle Exalogicコンピュート・ノードでOracle EXAchkを実行すると、Exadataスイッチが除外されます。

3.1.7.3 Oracle ExadataおよびZero Data Loss Recovery ApplianceでのOracle Exachkのトラブルシューティング

Oracle ExadataおよびZero Data Loss Recovery ApplianceでのOracle Exachkの問題をトラブルシューティングおよび修正するには、これらのステップに従います。

エラーRC-003 - 監査チェックが見つかりませんでした

説明: 環境特性の識別中、Oracle Exachkは次のことを実行します

  • 環境変数を構成します
  • Oracle Exachkルール・データベースと比較して、実行するチェックを決定します

環境変数のいずれかがルール・データベースの既知のプロファイルと一致しない場合、Oracle Exachkはエラーerror RC-003 - no audit checks were found…を表示して終了します。

原因: 最も一般的なケースは、最近リリースされたコンポーネントを含むOracle Exadata Databaseマシン環境で古いバージョンのOracle Exachkが使用されている場合に発生します。これは、新しいコンポーネントまたはバージョンのリリースと、そのサポートがOracle Exachkに組み込まれるまでの遅延が原因で発生する可能性があります。

たとえば、2.1.3_20111212より前のOracle Exachkが、Oracle Databaseリリース11.2.0.3.0がデプロイされたOracle Exadata Databaseマシンで実行された場合、Oracle Exachkは次のメッセージで終了しました:
Error RC-003 - No audit checks were found for LINUXX8664OELRHEL5_112030-. 
Please refer to the section for this error code in 
"Appendix A - Troubleshooting Scenarios" of the "Exachk User Guide".

この例では、_112030は、Oracle Databaseリリース11.2.0.3.0がシステムにインストールされていることを示しています。使用されたOracle Exachkのバージョンでは11.2.0.3.0がサポートされていなかったため、Oracle ExachkOracle Exachkルール・データベースで既知の一致を見つけることができませんでした。

Oracle Exachkの実行時間

ツールの実行時間は、クラスタ内のノードの数、CPU負荷、ネットワーク・レイテンシなどによって異なります。通常、プロセス全体の所要時間はノード当たり数分(ノード当たり5分未満)です。5分よりも大幅に長い時間がかかる場合は、問題を調査します。

2.2.5でパラレル化されたデータベース収集が導入されたことにより、多くのデータベースを含むシステムの経過時間が短縮されます。この分野での経験では、1つのデータベースを含むクォータ・ラックX2-2システムでは、通常は約10分かかります。20個のストレージ・サーバー、9個のInfiniBandスイッチおよび44個のデータベースを含む内部X3-2ハーフ・ラックでは、経過時間は44分でした。