9.7.2.2 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
コマンドを実行して、アラート名を表示できます。
診断パッケージの名前
診断パッケージの名前は、次の形式になります。
hostname + packStartTime + unique package ID
たとえば: scaqab04adm08_2016_05_17T11_58_54_5_1.tar.bz2
アラートの場合、診断パッケージの名前は次の形式になります。
hostname + timestamp of when the package was created + alert ID
たとえば: scaqab04adm08_2016_05_17T11_58_54_5_1.tar.bz
診断パッケージの場所
診断パッケージの場所は/opt/oracle/dbserver/dbms/deploy/log
です。
診断パッケージのステータス
LIST DIAGPACKコマンドを実行して、システム内の診断パッケージのリストおよびそのステータスを取得できます。
診断パッケージの作成、リストおよびダウンロードに必要な権限
診断パッケージをダウンロードするには、事前にユーザーにロールを付与する必要があります。DBMCLIを使用して、次の権限をロールに付与します。-
診断パッケージを作成する権限:
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
にロールを付与します。
DBMCLI> 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には診断パッケージの名前を指定します。URLは、セキュアなソケット・ポート(デフォルトは7879)を指している必要があります。
https://hostname:7879/diagpack/download?name=diagpackname
ユーザーがまだログインしていない場合、このURLでは、ユーザー名とパスワードの入力を求めるプロンプトが表示されます。
診断パッケージには、次のようにアクセスすることもできます
https://hostname:7879/diagpack
次に例を示します:
https://dbnode01.example.com:7879/diagpack
このページでは、次のようにログインするユーザー名を要求されます。
User: fred Password: *******
ユーザーの権限に基づいて、このページの異なるセクションが非表示になります。ユーザーがCREATE ON DIAGPACK権限を持っていない場合は、新しいdiagpackを作成するためのフォームが表示されません。同様に、ユーザーがLIST ON DIAGPACK権限を持っていない場合は、アラートおよびその診断パッケージのリストが表示されません。
アラート名によって診断パッケージをダウンロードするには、次のURLを使用します。ここで、hostnameにはサーバーのホスト名を、alertNameには診断パッケージのアラート名を指定します。
https://hostname:7879/diagpack/download?alert=alertName
これは、AlertHistoryで使用されるものと同じアラート名です。ステートレス・アラートでは1、2、3、ステートフル・アラートでは1_1、2_1、3_1、3_2のようになります。
-
-
ExaCLIの
download
コマンドを使用するExaCLIにより、計算ノードからリモートでストレージ・ノード上のCellCLIコマンドを実行できます。
download
コマンドを実行するには、計算ノードで次のコマンドを実行します。-
ExaCLIを起動し、診断パックが含まれるセルに接続します。次のようなコマンドを使用します。ここで、hostnameにはセルのホスト名を指定します。
exacli -l celladministrator -c hostname Password=********
-
download
コマンドを実行します。次のようなコマンドを使用します。ここで、nameにはダウンロードする診断パッケージの名前を、destinationFolderには、ダウンロードされる診断パッケージを保存するディレクトリを指定します。exacli> download diagpack name destinationFolder
-
-
アラートの電子メールから診断パッケージを取得する
アラートの電子メールには、INFO、CLEARおよびWARNINGを除く、すべてのアラートの診断パッケージが含まれています。診断パッケージは、クリティカル・アラートのみに生成されます。
電子メールへの診断パッケージの添付をオフにする
電子メールへの診断パッケージの添付をオフにするには、コマンド alter dbserver diagPackEmailAttach=FALSE
を使用します。診断パッケージは引き続き生成され、システムに格納されます。診断パッケージをダウンロードするには、「診断パッケージのダウンロード」の項を参照してください。
例
例9-33 packStartTimeでの"now"の使用
この例では、開始時間としてNOW
を使用し、デフォルトの継続時間の1時間で診断パッケージを作成します。
出力は、ディレクトリ/opt/oracle/dbserver/dbms/deploy/log
の単一の圧縮ファイルです。
DBMCLI> create diagpack packStartTime="now"
Processing: dm01db01_diag_2015_07_08T17_53_58_1
Use 'list diagPack' to check its status.
例9-34 継続時間の指定
この例では、/opt/oracle/dbserver/dbms/deploy/log
に3つの診断パッケージが作成されます。
-
最初のパッケージの開始時間は
2015_07_07T09_00_00
です。 -
第2のパッケージの開始時間は
2015_07_07T10_00_00
です。 -
第3のパッケージの開始時間は
2015_07_07T11_00_00
です。
DBMCLI> create diagpack packStartTime="2015_07_07T09_00_00", durationInHrs=3
Processing: dm01db01_diag_2015_07_07T09_00_00_1
dm01db01_diag_2015_07_07T10_00_00_1 (In queue...)
dm01db01_diag_2015_07_07T11_00_00_1 (In queue...)
Use 'list diagPack' to check its status.
親トピック: CREATE