ヘッダーをスキップ

Oracle E-Business Suiteメンテナンス・ガイド
リリース12.2
E51768-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

Applications DBA操作のトラブルシューティング

ワーカー・プロセスの管理

AD AdministrationおよびAutoPatchでは、ジョブの処理をパラレルに実行してジョブの実行時間を短縮できます。この項では、これらの処理を確認する手順および処理が中断された場合の対応手順について説明します。

注意: 詳細は、「パラレル処理の使用」を参照してください。

ワーカー・ステータスの確認

要件

パラレル処理ジョブの進捗をモニターする方法は?

説明

AD AdministrationおよびAutoPatchがジョブをパラレルに処理する場合、ジョブはワーカーに割り当てられて実行されます。状況によっては、ワーカーが処理を停止する場合があります。AD Controllerは、ワーカーのステータスの確認およびワーカー・タスクの管理に使用できるユーティリティです。このユーティリティを使用して、処理やワーカー、およびワーカーに割り当てられた処理ジョブのステータスをモニターします。

処理

ワーカー・ステータスを確認するには、次のステップを実行してください。

  1. パッチ・ファイル・システムの環境ファイルを実行(ソーシング)して、環境を設定します。

    $ source <patch APPL_TOP path>/APPS<CONTEXT_NAME>.env

    注意: 詳細は、「ADユーティリティの実行」の「環境の設定」を参照してください。

  2. コマンドラインで「adctrl」と入力して、AD Controllerを起動します。

  3. ワーカー・ステータスを確認します。

    「AD Controller」メイン・メニューから「Show worker status」を選択します。AD Controllerにより、現在のワーカー・アクティビティの要約が表示されます。要約の列は次のとおりです。

    次の表に、ワーカーに割り当て、「Status」列で報告可能なステータスのタイプを示します。

    ワーカーのステータス値
    ステータス 意味
    Assigned マネージャはワーカーにジョブを割り当てましたが、ワーカーは開始されていません。
    Completed ワーカーはジョブを完了しましたが、マネージャはこのワーカーに新しいジョブをまだ割り当てていません。
    Failed ワーカーで問題が発生しました。
    Fixed, Restart ワーカーは、問題が解決したら異常終了した操作を再試行する必要があります。
    Restarted ワーカーがジョブを再試行しているか、またはジョブの再起動に成功しました(このステータスはRunningにはならないことに注意してください)。
    Running ワーカーはジョブを実行しています。
    Wait ワーカーはアイドル状態です。

    ワーカーのステータスに「Failed」と表示されている場合は、ADユーティリティが処理を完了する前に問題の解決が必要な場合があります。この点については次で説明します。

ワーカーが異常終了した理由の特定

要件

ワーカーの1つが異常終了しました。異常終了の原因を特定する方法は?

説明

ワーカーでジョブが異常終了した場合、他のワーカーおよびマネージャが停止するまで待機する必要はありません。ワーカーのログ・ファイル(adworknnn.log)を使用して、異常終了の原因を特定します。これらのログ・ファイルは、APPL_TOP/admin/<SID>/logに書き込まれます。ワーカー・ログ・ファイルを探して一時領域にコピーすると、それを確認できます。ワーカーの異常終了後にジョブが遅延した場合は、ユーザーが処理を行う必要はありません。

ジョブが初めて異常終了した場合、マネージャはそのジョブを遅延し、新しいワーカーを割り当てます。遅延ジョブが2回目に異常終了した場合、ジョブの実行時間合計が10分未満の場合にかぎり、マネージャはそのジョブを再度遅延します。遅延ジョブが3回目に異常終了した場合、またはジョブの実行時間が10分より大きい場合、ジョブは異常終了ステータスのまま、ワーカーが操作を待機します。

処理

  1. パッチ・ファイル・システムの環境ファイルを実行(ソーシング)して、環境を設定します。

    $ source <patch APPL_TOP path>/APPS<CONTEXT_NAME>.env

    注意: 詳細は、「ADユーティリティの実行」の「環境の設定」を参照してください。

  2. コマンドラインで「adctrl」と入力して、AD Controllerを起動します。

  3. 問題が発生したワーカーを特定します。

    問題が発生したワーカーではジョブの処理が停止され、ステータスに「Failed」が表示されます。この章の「ワーカー・ステータスの確認」の項のステップに従って、ステータスが「Failed」のワーカーを特定してください。

  4. ログ・ファイルを確認して、ワーカーが異常終了した原因を調査します。

    次に、ワーカーの異常終了メッセージの例を示します。

    AD Worker error:
    The following ORACLE error:
    ORA-01630: max # extents (50) reached in temp segment in tablespace TSTEMP
    occurred while executing the SQL statement:
    CREATE INDEX AP.AP_INVOICES_N11 ON AP.AP_INVOICES_ALL (PROJECT_ID, TASK_ID)
    NOLOGGING STORAGE (INITIAL 4K NEXT 512K MINEXTENTS 1 MAXEXTENTS 50
    PCTINCREASE 0 FREELISTS 4) PCTFREE 10 MAXTRANS 255 TABLESPACE  APX
    AD Worker error:
    Unable to compare or correct tables or indexes or keys because of the error
    above

    この例では、一時表領域内のエクステントの最大数に達したため、ワーカーが索引AP_INVOICES_N11を作成できませんでした。

  5. 異常終了の原因となった問題の解決に最適な方法を調査します。たとえば、My Oracle Supportで、考えられる原因を検索します。解決策が見つからない場合は、Oracleサポートでサービス・リクエストをオープンしてください。

異常終了したジョブの処理

要件

異常終了したワーカーのログファイルを確認して問題を特定しました。次に行うことの内容は?

説明

通常、ワーカーは常にバックグラウンドで実行されており、割り当てられたジョブを完了できなかった場合は、「Failed」のステータスを報告します。マネージャにエラー・メッセージが表示された場合は、AD Controllerを使用してワーカーのステータスを確認し、ワーカーの異常終了ステータスを確かめます。

注意: 詳細は、「パラレル処理の使用」を参照してください。

処理

次のステップを実行してください。

  1. パッチ・ファイル・システムの環境ファイルを実行(ソーシング)して、環境を設定します。

    $ source <patch APPL_TOP path>/APPS<CONTEXT_NAME>.env
  2. コマンドラインで「adctrl」と入力して、AD Controllerを起動します。

    注意: 詳細は、「ADユーティリティの実行」の「環境の設定」を参照してください。

  3. 異常終了したファイルを特定します。

    AD Controllerのワーカー・ステータス画面の「Worker」列および「Filename」列には、異常終了したワーカーの数が表示され、実行できなかったファイルの名前がリストされます。

  4. ワーカー・ログ・ファイルを確認します。

    各ワーカーは、割り当てられたタスクのステータスをadworkxxx.logという名前のログ・ファイルに記録します。ここで、nnnはワーカーの番号です。たとえば、ワーカー1の場合はadwork001.log、ワーカー7の場合はadwork007.logとなります。これらのファイルは、パッチ・ファイル・システムの$APPL_TOP/admin/<SID>/logディレクトリにあります。adworkxxx.logを参照して異常終了したワーカーを確認し、エラーの原因を特定します。

  5. エラーを解決します。

    ログ・ファイルに記録されている情報を利用して、エラーを解決します。問題の解決方法がわからない場合は、Oracleサポート・サービスに連絡します。

  6. 異常終了したジョブを再起動します。

    「AD Controller」メイン・メニューのオプション2を選択して、異常終了したジョブの再起動をワーカーに指示します。

  7. ワーカー・ステータスを確認します。

    オプション1を再度選択します。異常終了したワーカーの「Status」列に、「Restarted」または「Fixed, Restart」が表示されます。

    注意: すべてのワーカーが「Failed」ステータスまたは「Wait」ステータスである場合、マネージャはアイドル状態になります。この時点では、異常終了したワーカーを再度実行させる処置を取る必要があります。

異常停止しているワーカー・プロセスの終了

要件

あるワーカー・プロセスが長時間実行されています。対応方法は?

説明

ADユーティリティの実行中、ワーカー・プロセスが異常停止したり、処理を停止しているように見える状況が発生することがあります。このような場合は、プロセスを手動で終了する必要があります。終了後は、そのプロセスを手動で再起動する必要があります。

注意: 異常停止の可能性があるプロセスでも、実際には単なる長時間実行ジョブの可能性があります。

プロセスを終了するには、AD Controllerを起動し、ワーカーのIDを取得してから、異常停止しているすべてのプロセスを停止します。必要な変更が加えられると、ジョブまたはワーカーを再起動できます。

注意: 詳細は、「異常終了したワーカーの再起動」を参照してください。

処理

  1. パッチ・ファイル・システムの環境ファイルを実行(ソーシング)して、環境を設定します。

    $ source <patch APPL_TOP path>/APPS<CONTEXT_NAME>.env

    注意: 詳細は、「ADユーティリティの実行」の「環境の設定」を参照してください。

  2. コマンドラインで「adctrl」と入力して、AD Controllerを起動します。

  3. ワーカー・プロセスの処理内容を確認します。

    AD Controllerのワーカー・ステータス画面を使用して処理中のファイルを特定し、ワーカー・ログ・ファイルをチェックして処理内容を確認します。

  4. ワーカーのプロセスIDを取得します。

    ジョブが異常停止と断定された場合は、ワーカーのプロセスIDを確認します。

    UNIX:

    $ ps -a | grep adworker

    Windows:

    「Windows タスク マネージャ」を起動して([Ctrl]キーと[Alt]キーを押しながら[Delete]キー、または[Ctrl]キーと[Shift]キーを押しながら[Esc]キーを使用して)、プロセスを表示します。

  5. ワーカーが起動したプロセスを特定します(ある場合)。

    子プロセスがある場合は、それらのプロセスIDを取得します。子プロセスの例には、SQL*PlusやFNDLOADがあります。

  6. ご使用のオペレーティング・システムで対応するコマンドを使用して、異常停止しているプロセスを停止します。

  7. ワーカー異常停止の原因となった問題を修正します。このための支援が必要な場合は、Oracleサポート・サービスに連絡します。

  8. ジョブまたはワーカーを再起動します。

    詳細は、この章の「異常終了したワーカーの再起動」を参照してください。

プロセスの再起動

この項では、AD Controllerの再起動オプションの選択が必要となる状況について説明します。

異常終了したワーカーの再起動

要件

異常終了したワーカーを再起動する必要があります。

説明

ワーカーが異常終了した場合、または異常停止しているワーカー・プロセスを終了した場合は、ワーカーを手動で再起動する必要があります。

一部のワーカー・プロセスは、子プロセスと呼ばれる別のプロセスを作成します。子プロセス(異常停止中)を終了した場合、そのプロセスを作成したワーカーのステータスには「Failed」が表示されます。問題を修正した後は、異常終了したジョブの再起動を選択します。ワーカーが再起動されると、関連する子プロセスも起動します。

処理

次のステップを実行してください。

  1. パッチ・ファイル・システムの環境ファイルを実行(ソーシング)して、環境を設定します。

    $ source <patch APPL_TOP path>/APPS<CONTEXT_NAME>.env

    注意: 詳細は、「ADユーティリティの実行」の「環境の設定」を参照してください。

  2. コマンドラインで「adctrl」と入力して、AD Controllerを起動します。

  3. オプション1を選択し、ワーカー・ステータスを確認します。

  4. ワーカー・ステータスごとに適切な処理を実行します。

    ワーカーに「Failed」が表示されている場合は、オプション2を選択して異常終了したジョブを再起動します。入力を求められたら、異常終了したワーカーの数を入力します。

    ワーカーに「Running」または「Restarted」ステータスが表示されていても、実際にプロセスが実行されていない場合は、次のメニュー・オプションを選択します。

    注意: ワーカー・プロセスの実行中は、オプション6を選択しないでください。このオプションを選択すると、同じワーカーIDを持つ重複ワーカー・プロセスが作成されます。

    ワーカーは、割り当てられたジョブを再起動して、必要な子プロセスを作成します。

マシン障害後のADユーティリティの再起動

要件

ADユーティリティの実行中に、マシンがクラッシュしました。ユーティリティを再起動する最適な方法は?

説明

マネージャは、マシンのクラッシュを自動的に検出できないため、すべてのジョブが異常終了してワーカーを手動で再起動した場合は、そのことを手動でマネージャに通知する必要があります。これを行わずにユーティリティを再起動すると、ユーティリティのステータスとシステムのステータスが同期しなくなります。

処理

次のステップを実行してください。

  1. パッチ・ファイル・システムの環境ファイルを実行(ソーシング)して、環境を設定します。

    $ source <patch APPL_TOP path>/APPS<CONTEXT_NAME>.env

    注意: 詳細は、「ADユーティリティの実行」の「環境の設定」を参照してください。

  2. コマンドラインで「adctrl」と入力して、AD Controllerを起動します。

  3. 次のオプションを選択します。

  4. マシンがクラッシュしたときに実行されていたADユーティリティを再起動します。

マネージャの停止および再起動

この項では、マネージャを停止して再度有効化する理由について説明します。

マネージャの停止

要件

ADユーティリティを実行中に停止する方法は?

説明

ADユーティリティは、その実行中に停止が必要となる状況があります。たとえば、AutoPatchまたはAD Administrationのセッション中に、データベースを停止する必要がある場合などです。

この停止は正しい順序で実行し、データに影響を与えないようにする必要があります。このための最適な方法は、ADユーティリティが正しい順序で停止するように、ワーカーを手動で停止する方法です。

処理

次のステップを実行してください。

  1. AD Controllerを起動します。

    パッチ・ファイル・システムの環境ファイルを実行(ソーシング)して、環境を設定します。

    $ source <patch APPL_TOP path>/APPS<CONTEXT_NAME>.env

    注意: 詳細は、「ADユーティリティの実行」の「環境の設定」を参照してください。

  2. コマンドラインで「adctrl」と入力して、AD Controllerを起動します。

  3. adctrlでオプション3を選択し、ワーカー番号に「all」と入力します。現在のジョブを完了するか、現在のジョブが異常終了すると各ワーカーが停止します。

  4. ワーカー・プロセスが実行されていないことを確認します。ご使用のプラットフォームに適したコマンドを使用します。

    UNIX:

    $ ps -a | grep adworker

    Windows:

    「Windows タスク マネージャ」を起動して([Ctrl]キーと[Alt]キーを押しながら[Delete]キー、または[Ctrl]キーと[Shift]キーを押しながら[Esc]キーを使用して)、関連するプロセスを表示します。

  5. すべてのワーカーが停止すると、マネージャおよびADユーティリティが終了します。

マネージャの再起動

要件

ワーカーがジョブを実行している必要があるときに、ジョブを実行中のワーカーがありません。問題は?

説明

再起動されたワーカーは、ワーカー・プロセスが実行されているかぎり、異常終了したジョブをただちに再開します。それ以外のワーカーは、異常終了したジョブの依存性またはフェーズにジョブが残されていないことが原因でジョブを実行できない場合、「Waiting」ステータスに変更されます。ワーカーが実行できない場合、マネージャはアイドル状態になり、次のようなメッセージが画面に表示されます。

ATTENTION: All workers either have failed or are waiting:
FAILED: file cedropcb.sql on worker 1.
FAILED: file adgrnctx.sql on worker 2.
FAILED: file aftwf01.sql on worker 3.
ATTENTION: Please fix the above failed worker(s) so the manager can continue.

処理

異常終了したワーカーごとに、次のステップを実行してください。

  1. AD Controllerを起動します。

    注意: 詳細は、「ADユーティリティの実行」の「環境の設定」を参照してください。

  2. エラーの原因を調べます。

    オプション1を選択してステータスを表示します。ワーカー・ログ・ファイルを参照して異常終了したワーカーの有無を確認し、エラーの原因を特定します。

  3. エラーを解決します。

    ログ・ファイルに記録されている情報を利用します。問題の解決方法がわからない場合は、Oracleサポート・サービスに連絡します。

  4. 異常終了したジョブを再起動します。

    「AD Controller」メニューでオプション2を選択し、異常終了したジョブの再起動をワーカーに指示します。ワーカー・プロセスが再起動し、ADユーティリティが再度アクティブになります。