7.7.4.3 CREATE DIAGPACK

用途

CREATE DIAGPACKコマンドは、診断パッケージを作成し、これにはシステムの問題のトラブルシューティングに使用できるログおよびトレースが含まれます。必要に応じて、生成されたパッケージをOracleサポート・サービスに送信することもできます。

構文

CREATE DIAGPACK packStartTime=time, [durationInHrs=duration]

または

CREATE DIAGPACK alertName=alertName

使用上のノート

アラートが発生した場合、診断パッケージは自動的に作成されます。このパッケージには、アラートに関連するログおよびトレースが含まれます。

CREATE DIAGPACKコマンドを使用して、手動で診断パッケージを生成できます。

  • packStartTimeパラメータは、ログおよびトレースの収集を開始する時間を指定します。packStartTimeの形式は、yyyy_MM_ddTHH_mm_ssです。たとえば: 2015_07_07T09_00_00

    packStartTimeにキーワードnowを指定することもできます。packStartTimeには、将来の時間および7日より前の時間は指定できません。packStartTimeの値は、診断パッケージの名前の一部として使用されます。

  • durationInHrsパラメータは、診断パッケージに含めるログおよびトレースの時間数を指定します。有効な値は、1(デフォルト)から6です。

    すべての診断パッケージには、packStartTimeの1時間前および1時間後のログが含まれます。たとえば、時間として12_00_00を指定した場合、終了時間が将来でなければ、11_00_00から13_00_00のログが収集されます。

  • alertNameパラメータで、診断パッケージを作成するアラート名を指定します。LIST ALERTHISTORYコマンドを実行して、アラート名を表示できます。

診断パッケージの名前

診断パッケージの名前の形式は、ホスト名_diag_packStartTime_一意のパッケージIDのようになります。

たとえば: testcell1_diag_2015_07_07T09_00_00_3

アラートの場合、診断パッケージの名前の形式は、ホスト名_パッケージの作成時のタイムスタンプ_アラートIDのようになります。たとえば: testcell1_2015_09_30T13_13_00_2_1

診断パッケージの場所

診断パッケージの場所は、$LOG_HOMEです。

診断パッケージのステータス

LIST DIAGPACKコマンドを実行して、システム内の診断パッケージのリストおよびそのステータスを取得できます。

診断パッケージの作成、リストおよびダウンロードに必要な権限

診断パッケージの操作には特定の権限が必要です。CellCLIを使用して、次の権限をロールに付与します。

  • 診断パッケージを作成する権限:

    grant privilege CREATE ON DIAGPACK to ROLE role
    
  • 診断パッケージをリストし、そのステータスをチェックする権限:

    grant privilege LIST ON DIAGPACK to ROLE role
    
  • 診断パッケージをダウンロードする権限:

    grant privilege DOWNLOAD ON DIAGPACK to ROLE role
    

その後、このロールをユーザーに付与できます。たとえば、ロールにdiagpack_roleという名前を付けた場合、次のコマンドでfredにロールを付与します。

CellCLI> GRANT ROLE diagpack_role TO USER fred

デプロイ中、Oracle Exadata Deployment Assistant (OEDA)によってCELLDIAGという名前のExadataストレージ・ソフトウェア・ユーザーが作成されます。このユーザーを使用して、ExaCLIまたはREST API経由でリモートからセルに接続できます。このユーザーには診断パッケージの作成、表示およびダウンロードの権限があります。

診断パッケージのダウンロード

次のいずれかの方法で診断パッケージをダウンロードできます。診断パッケージをダウンロードする前に、DOWNLOAD ON DIAGPACK権限が必要であることに注意してください。

  • REST APIの使用

    • 名前で診断パッケージをダウンロードするには、次のURLを使用します。hostnameには、セルのホスト名を指定し、diagpacknameには、診断パッケージの名前を指定します。
      https://hostname/diagpack/download?name=diagpackname

      ユーザーがまだログインしていない場合、このURLでは、ユーザー名とパスワードの入力を求めるプロンプトが表示されます。

      診断パッケージには、https://hostname/diagpackでアクセスすることもできます。たとえば: https://cell1.example.com/diagpack

      このページでは、次のようにログインするユーザー名を要求されます。

      User: fred
      Password: ********

      ユーザーの権限に基づいて、このページの異なるセクションが非表示になります。

      • ユーザーがCREATE ON DIAGPACK権限を持っていない場合は、新しいdiagpackを作成するためのフォームが表示されません。

      • 同様に、ユーザーがLIST ON DIAGPACK権限を持っていない場合は、アラートおよびその診断パッケージのリストが表示されません。

    • アラート名で診断パッケージをダウンロードするには、次のURLを使用します。hostnameには、セルのホスト名を指定し、alertNameには、診断パッケージのアラート名を指定します。

      https://hostname/diagpack/download?alert=alertName

      アラート名は、AlertHistoryで使用されるものと同じアラート名です。ステートレス・アラートでは1、2、3、ステートフル・アラートでは1_1、2_1、3_1、3_2のようになります。

  • ExaCLIのdownloadコマンドを使用する

    ExaCLIにより、計算ノードからリモートでストレージ・ノード上のCellCLIコマンドを実行できます。

    ダウンロード・コマンドを実行するには、計算ノードで次のコマンドを実行します。

    1. ExaCLIを起動し、診断パックが含まれるセルに接続します。たとえば、次のようなコマンドを使用します。hostnameには、セルのホスト名を指定します。

      exacli -l celladministrator -c hostname
      Password=********
      
    2. 次のようなコマンドを使用してダウンロード・コマンドを実行します。nameには、ダウンロードする診断パッケージの名前を指定し、destinationFolderには、ダウンロードされる診断パッケージを保存するディレクトリを指定します。

      exacli> download diagpack name destinationFolder
      
  • アラートの電子メールから診断パッケージを取得する

    アラートの電子メールには、INFO、CLEARおよびWARNINGを除く、すべてのアラートの診断パッケージが含まれています。診断パッケージは、クリティカル・アラートのみに生成されます。

Webページからのパッケージ作成の再トリガー

次のURLを使用して、パッケージの作成を再トリガーできます。

https://hostname/diagpack

アラートの診断パッケージがディスクに存在しない場合は、「ダウンロード」リンクのかわりに「パッケージの作成」リンクがWebページに表示されます。

「パッケージの作成」リンクをクリックして、診断パッケージを作成するためのリストにアラートを追加します。診断パッケージが作成されるとWebページがリフレッシュされ「ダウンロード」リンクが表示されるため、これを使用して新しく作成された診断パッケージをダウンロードできます。

電子メールでの診断パックの添付の無効化

電子メールでの診断パックの添付を無効にするには、ALTER CELL diagPackEmailAttach=FALSEを実行します。診断パックは引き続き生成され、ストレージ・サーバーに格納されます。診断パッケージをダウンロードするには、「診断パッケージのダウンロード」を参照してください。

例7-80 packStartTimeでの "now" の使用

この例では、開始時間としてnowを使用し、デフォルトの継続時間の1時間で診断パッケージを作成します。

出力は、$LOG_HOMEの下の1つの圧縮ファイルです。

CellCLI> CREATE DIAGPACK packStartTime="now"
    Processing: scab01cel11_diag_2015_07_08T17_53_58_1
    Use 'list diagPack' to check its status.

例7-81 継続時間の指定

この例では、$LOG_HOMEの下に3つの診断パッケージが作成されます。

最初のパッケージの開始時間は2015_07_07T09_00_00です。

第2のパッケージの開始時間は2015_07_07T10_00_00です。

第3のパッケージの開始時間は2015_07_07T11_00_00です。

CellCLI> CREATE DIAGPACK packStartTime="2015_07_07T09_00_00", durationInHrs=3
    Processing: scab01cel11_diag_2015_07_07T09_00_00_1
    scab01cel11_diag_2015_07_07T10_00_00_1 (In queue...)
    scab01cel11_diag_2015_07_07T11_00_00_1 (In queue...)
    Use 'list diagPack' to check its status.