プライマリ・コンテンツに移動
Oracle® OPatchユーザーズ・ガイド
13c リリース2
E49737-08
目次へ移動
目次
索引へ移動
索引

前
次

10 OPatchAutoのトラブルシューティング

この章では、使用中に発生する可能性のある一般的なOPatchAutoの問題について説明します。

この章の内容は次のとおりです。

10.1 OPatchAutoトラブルシューティング・アーキテクチャ

OPatchAutoは、パッチ適用プロセスを十分に自動化するために、様々なツール/ユーティリティにアクセスし、様々なパッチ適用フェーズを実行します。主なツール/ユーティリティは次の4つです。

  • OPatch - 製品(Fusion Middlewareなど)ホームにパッチを適用します。

  • rootcrs - パッチを適用可能にするためのファイルのロック解除およびGIスタックの起動と停止を行うことにより、GIホーム・アクセスを制御します。

  • patchgen - パッチ・レベルを記録します。

  • datapatch - データベース・インスタンスにSQL変更を適用します。

これらのツール/ユーティリティはパッチ適用プロセス中にアクセスされます。このため、OPatchAutoのトラブルシューティングには、個別のツールに関する問題の診断が含まれています。

10.2 OPatchAuto (ユースケース)

OPatchAutoを使用する際には、解決策を続行する方法が明確ではない問題が発生する場合があります。次のユースケースでは、このような問題が発生する可能性のある一般的なパッチ適用シナリオおよび問題を解決するために使用できる一般的な手順を示します。

10.2.1 OPatchの失敗

詳細は、「OPatchのトラブルシューティング」を参照してください。

10.2.2 Rootcrs.pl

rootcrs.plスクリプトは、クラスタ上にGrid Infrastructureスタックを構成するために必要な処理を実行します。OPatchAutoセッション時には、rootcrs.plスクリプトが原因のエラーが発生する場合があります。

10.2.2.1 Rootcrs.pl Prepatch

OPatchAutoが発行するコマンド: $GRID_HOME/crs/rootcrs.pl -prepatch

rootcrs.plが失敗した場合、次の例に示すように、エラー・コードとそれに関連するメッセージが生成されます。

CRS-1159: The cluster cannot be set to rolling patch mode because Grid Infrastructure is not active on at least one remote node.

メッセージが明確ではない場合に追加のヘルプを取得するには、OERRユーティリティを実行して、原因と推奨アクションに関する情報を取得します。

OERRの実行

特定のエラー・コードに対してOERRを実行すると、該当するエラー・コードの原因とアクションの両方が生成されます。

例10-1 CRSエラー

$GRID_HOME/bin/oerr crs 1159

Cause: The cluster could not be set to rolling patch mode because Grid Infrastructure was not active on any of the remote nodes.

Action: Start Grid Infrastructure on at least one remote node and retry the 'crsctl start rollingpatch' command, or retry patching using the non-rolling option.

例10-2 CLSRSCエラー

CLSRSC-400: A system reboot is required to continue installing.

oerr clsrsc 400

Cause: The installation of new drivers requires a node reboot to continue the install.

Action: Reboot the node and rerun the install or patch configuration step.

次の表に、パッチ適用セッション時に発生する可能性のある一般的なエラー・コードを示します。包括的なリストについては、Oracle® Databaseエラー・メッセージのマニュアルを参照してください。

表10-1 CRSエラー・コード

エラー・コード コンソール・メッセージ

1153

Grid Infrastructureをローリング・パッチ・モードに設定中にエラーが発生しました。

1154

Oracle ASMをローリング・パッチ・モードに設定中にエラーが発生しました。

1156

クラスタがアップグレードの途中であるため、ローリング・パッチ・モードの変更を拒否しています。

1157

クラスタが強制的にアップグレードされたため、ローリング・パッチ・モードの変更を拒否しています。

1158

クラスタをローリング・パッチ・モードに設定中にエラーが発生しました。

1159

Grid Infrastructureは少なくとも1つのリモート・ノードでアクティブではないため、クラスタはローリング・パッチ・モードに設定されません。

1162

パッチ・レベルがクラスタのすべてのノード間で一致していないため、ローリング・パッチ・モードの変更を拒否しています。ノード<patch_list>の所定のパッチ・レベルがパッチ・レベル<patch_level> (ノード<node_list>で見つかった)と同じではありません。

1163

Grid Infrastructureのローリング・パッチ・モードをリセット中にエラーが発生しました。

1164

Oracle ASMのローリング・パッチ・モードをリセット中にエラーが発生しました。

1166

Oracle ASMが<current_state>状態にあるため、ローリング・パッチ・モードの変更を拒否しています。

1168

クラスタのローリング・パッチ・モードをリセット中にエラーが発生しました。

1171

パッチ・レベルがクラスタのすべてのノード間で一致していないため、ローリング・パッチ・モードの変更を拒否しています。ノード<node_list>のパッチ・レベルがパッチ・レベル<patch_level> (ノード<node_list>で見つかった)と同じではありません。

1181

Grid Infrastructureのリリース・パッチ・レベルを取得中にエラーが発生しました。

1183

Grid Infrastructureのリリース・パッチ・レベルは<patch_level>で、パッチ<patch_list>の不完全なリストがローカル・ノード上で適用されています。

1191

Grid Infrastructureのソフトウェア・パッチ・レベルを取得中にエラーが発生しました。

10.2.2.2 Rootcrsに関する問題のユースケース

問題1: ロール不可能なパッチがローリング・モードで適用されている

2ノード(ノード1およびノード2)構成において、ロール不可能なパッチをローリング・モードで適用しようとしています。

注意:

デフォルトでは、OPatchAutoはローリング・モードでパッチを適用します。

パッチをローリング・モードで適用しているため、すべてのデータベースおよびスタックは停止していません。OPatchAutoを実行すると、予定どおりにスタック・インベントリを出力し、バイナリを更新します。

症状

rootcrs.pl -postpatch (Oracleパッチ適用ツール(OPatch)の起動後に必要な手順を実行)を実行すると、複数のノードのASMインスタンスのパッチ・レベルが異なることが原因で失敗します。この状況では、OPatchAuto (OPatchを実行)は、ゼロ以外の終了コードで失敗します。ただし、パッチはGIホームに残されたままです。スタックは起動できません。

推奨アクション

重要なのは、この状況ではパッチはすでにノード1に適用されているため、ロールバックする必要はないということです。通常、スタックの起動を試みるのは、最後に実行するステップです。スタックの起動に失敗した場合でも、パッチはノードに正常に適用されています。

パッチはロール不可能であるため、スタックに関する問題を解決するには、次の手順を実行します。

  1. すべてのノードのスタックを停止します。

  2. パッチREADMEに記載されている手動の手順に従って、残りのノードにパッチを適用します。

  3. すべてのノードのスタックを再起動します。

問題2: OPatchAutoがGIホームへのパッチ適用に失敗する

サブパッチ(P1およびP2)を含む1つのシステム・パッチがあります。OPatchAuto applyを実行すると、最初にRACホームにパッチを適用します。このシナリオでは、P1は時刻t1にRACに適用され、P2は時刻t2にRACに適用されます。OPatchAutoは、時刻t3にサブパッチP2をGIホームに適用しようと試みますが、失敗します。

症状

OPatchAutoは、ゼロ以外の終了コードで失敗します。エラー・メッセージは、GIホームでサブパッチP2を適用した際に失敗したことを示しています。エラー・メッセージには、ログ・ファイルの場所も記載されています。現在、RACホームにはP1およびP2が含まれていますが、GIホームではP2が欠落しています。

推奨アクション

欠落したパッチをGIホームに適用する必要があります。システム・パッチはすでにRACホームに正常に適用されているため、パッチをロールバックする必要はありません。

  1. ログ・ファイルから、GIホームでのパッチ適用が失敗した原因を判別します。

  2. GIホームでのパッチ適用が失敗したことに関する問題を修正します。

    GIホームでのパッチ適用が失敗した場合、考えられる原因が3つあります。

    • patchgen -- この状況では、patchgenユースケースで指定した推奨アクションを参照してください。「Patchgen」を参照してください。

      GIホームに手動でパッチを適用する必要があります。手順は、パッチのREADMEを参照してください。

    • opatch -callコマンドが失敗しました。この状況では、OPatch実行時にエラーが発生しています。たとえば、OPatchが必要なファイルをコピーできていません。

    • rootcrs.pl -prepatch (OPatchを起動する前に、必要な手順を実行)が失敗しました。

      失敗の原因に関係なく、問題を解決してパッチを手動でGIホームに適用する必要があります。

  3. GIホームでopatchauto resumeを再実行します。OPatchAutoによって、パッチ適用が失敗した時点から再開されます。

10.2.3 Patchgen

問題点

システム・パッチを適用すると、patchgenで発生したエラー状態の結果としてOPatchAutoが失敗します。

症状

OPatchAutoが失敗した際には、patchgenで発生した問題が原因でパッチの適用に失敗したことを示すSTDOUTエラー・メッセージが表示されます。

推奨アクション

  1. エラー・メッセージがpatchgenエラーの結果として表示されたものであるかどうかを判別します。メッセージ出力でキーワード「patchgen」を検索することにより、エラーの原因がpatchgenであるかどうかを判別できます。次に、patchgenによって生成されたエラー・メッセージの例を示します。キーワード「patchgen」とそれに関連するエラー・コードは太字で示されています。

  2. patchgenエラー・コードに応じて、oerrコマンドを実行し、patchgenで発生した特定の問題の原因とその問題を解決するための推奨アクションを取得します。推奨アクションを実装します。「OERRの実行」を参照してください。

  3. patchgenエラーが発生すると、パッチを維持するかまたはロールバックするかを尋ねられます。デフォルトでは、patchgenはパッチをロールバックします。パッチをロールバックするどうかにより、次のステップでの対策が決定されます。

    • パッチがロールバックされなかった場合は、patchgenを再度実行します。

      エラーが発生した場合でも、パッチ自体はロールバックされていないため、GI/RACホームに残されたままです。

    • パッチがロールバックされた場合、OPatchAutoはシステム・パッチをRACホームに適用しますが、サブパッチはすべてがGIホームに適用されるわけではありません。この時点で、システム・パッチの一部のみをGIホームに適用する必要があります。

      OPatchは、lsinventoryを介して適用されなかったパッチを通知します。特定のサブパッチを適用するには、次の手順に従って手動でパッチを適用する必要があります。

      1. スタックを停止します。

      2. GIホームでopatch apply (OPatchAutoではない)を実行します。

      手動によるパッチ適用の明示的な手順は、パッチのREADMEを参照してください。

例10-3 Patchgenエラー出力

$export ORACLE_HOME=/scratch/GI12/product/12.1.0/crs 
$/scratch/GI12/product/12.1.0/crs/bin/patchgen commit -pi 
13852018 loading the appropriate library for linux 
java.lang.UnsatisfiedLinkError: 
/scratch/GI12/product/12.1.0/crs/lib/libpatchgensh12.so (libasmclntsh12.so: 
cannot open shared object file: No such file or directory) 

次の表に、生成される可能性があるpatchgenエラー・コードを示します。

表10-2 Patchgenエラー・コード

エラー・コード 原因 デバッグ情報

2

内部エラー

一般的な失敗エラー・コード。

3

内部エラー

MS Windows: リソース・ファイルの読取りエラー。

4

内部エラー

MS Windows: リソース・ファイルの書込みエラー。

5

内部エラー

Unix: パッチ・リポジトリを開くのに失敗しました。

6

内部エラー

Unix: フルパスlibasmclntshの正規化に失敗しました。

7

内部エラー

Unix: パッチ・リポジトリへの書込みに失敗しました。

18

内部エラー

PGAの初期化に失敗しました。

19

内部エラー

パッチ・イテレータの初期化に失敗しました。

40

構文エラー。適切なメッセージが表示されます。

patchgenの引数がありません。

例: $]patchgen

41

構文エラー。適切なメッセージが表示されます。

引数がありません

patchgen commit/recover

例: patchgen commit

42

構文エラー。適切なメッセージが表示されます。

-pi patchidsが数字ではありません。

例: patchgen commit -pi 123d

43

構文エラー。適切なメッセージが表示されます。

-rb patchidsが数字ではありません。

例: patchgen commit -rb 123d

44

構文エラー。適切なメッセージが表示されます。

引数

patchgen commit/recover

-piまたは-rb以外になっています。

例: patchgen recover -random

45

構文エラー。適切なメッセージが表示されます。

Patchgenが無効な引数を指定して起動されました。

例: patchgen comit -pi

46

libpatchgensh12.soのロードに失敗しました。

10.2.4 datapatch

問題点

OPatchAutoを実行して、4つの製品(Fusion Middlewareなど)ホームを修正しようとしています。このパッチには、データベースを更新するためのビットおよびSQLの両方が含まれています。OPatchAutoを実行すると、次の2つのアクションが実行されます。

  • GI/RACホームへのビットの適用

  • SQLの実行(datapatchコマンドを使用)

通常は、GI/RACホームごとにOPatchAutoを実行します。実行するたびに、OPatchAutoはdatapatchを呼び出してパッチSQLを実行します。datapatchは、最初のn-1ノードでは何も実行しません(no-op)。最後(n番目)のノードで、datapatchはパッチSQLの実行を試みます。

datapatchが失敗した場合は、エラー・メッセージが表示されます。エラーの原因がdatapatchであるかどうかを確認するには、OPatchAutoデバッグ・ログを表示します。

症状

SQLPatch/datapatchが失敗したことを示す警告メッセージが表示されます。datapatchが最後のノードへのSQLの適用に失敗した際に、警告メッセージが生成されました。

推奨アクション

通常、警告メッセージは無視でき、最後のノードで手動でdatapatchを実行します。datapatchはデータベースへの接続を確立し、問合せ可能なインベントリ(http://docs.oracle.com/cd/E16655_01/appdev.121/e17602/d_qopatch.htm)を使用して、Oracleホームのバッチ・インベントリに関する情報を取得します。Oracle Databaseへの接続の確立に関する問題は、Oracleエラー・コードによる説明と適切な処置が示されているORA-nnnnnエラーになる可能性があります(http://docs.oracle.com/cd/B28359_01/server.111/b28278/toc.htm)。さらに、問合せ可能なインベントリには、いくつかの予想されるORA-nnnnnがあります。このようなエラーのリストは、http://docs.oracle.com/cd/E16655_01/appdev.121/e17602/d_qopatch.htm#CEGIFCHHで参照することができます。他の問題については、Oracleサポートに連絡してください。

ロール可能なパッチとロール不可能なパッチ: パッチは、ローリング・モードまたは非ローリング・モードのいずれかで適用するように設計されています。パッチがロール可能であるかまたはロール不可能であるかに応じて、対策を決定します。

パッチがロール可能である場合、SQLスクリプトに関してパッチに依存性はありません。データベースを問題なく起動できます。ロール可能なパッチは、ローリング・モードと非ローリング・モードの両方で適用できます。

ただし、パッチがロール不可能である場合は、最初にパッチをロールバックする必要があります。OPatchAutoは、ロール不可能なパッチをローリング・モードでは適用できないようにします。

順序

  1. OPatchAutoが、datapatch/sqlpatchについての警告とともに成功します。

  2. ロール可能なパッチの場合:

    1. ノード1からノード(n-1)までのdatapatchエラーは無視します。

    2. 最後のノード(ノードn)で、datapatchを再度実行します。このコマンドはログ・ファイルから切り取って貼り付けることができます。

    3. 最後のノードでまだdatapatchエラーが発生する場合は、Oracleサポートに連絡するか、またはサービス・リクエストを開きます。

  3. ロール不可能なパッチの場合:

    1. すべてのノードですべてのデータベースとスタックを手動で停止します。

    2. それぞれのノードでopatchauto applyを実行します。

    3. スタックとデータベースを起動します。datapatchが接続してSQLを適用するために、データベースを起動する必要があります。

    4. 最後のノードで、datapatchを手動で実行します。datapatchを実行しないと、パッチのSQLが適用されず、不具合修正の効果がありません。さらに、SQLを実装するための変更内容によっては、システムの動作が不正確になる場合があります。

    5. まだdatapatchが失敗する場合は、パッチをロールバックする必要があります。Oracleサポートに連絡して支援を要請するか、またはサービス・リクエストを開きます。

10.3 OPatchAutoのトラブルシューティング

OPatchAutoは、OPatchAutoの操作とパッチの適用にかかわる問題を診断するための複数の機会を提供します。

関連項目: 詳細は、「OPatchAutoのトラブルシューティング」を参照してください。

10.3.1 ロギングとデバッグ

OPatchAutoとパッチ適用プロセスにかかわる操作上の問題を診断する際に役立つ情報を提供する複数のログ・ファイルがあります。必要な診断情報(パッチとシステム構成の詳細など)がログ・ファイルに含まれるようにするには、OPatchAutoをデバッグ・モードで実行します。

次の手順では、一般的なトラブルシューティング・プロセスの詳細を示します。

  1. ログ・ファイルを調べます。

    ローカル・ノードのログ・ファイル

    ログ・ファイルは、OPatchAutoを実行したORACLE_HOMEにあります。

    場所: <ORACLE_HOME>/cfgtoollogs/opatchauto

    リモート・ノードのログ・ファイル

    ログ・ファイルは、リモート・ノードの<ORACLE_HOME>にあります。

    場所: <リモート・ノードのORACLE_HOME>/cfgtoollogs/opatchauto

    リモート・ノードの<ORACLE_HOME>の情報は、ローカル・ノードのメイン・ログ・ファイルにあります。

    ローカル・コンソールとメイン・ログ・ファイルにもリモート・ノードに関するログ情報が含まれています。コンソールからは、ローカルとリモートの両方のノードに関する特定のログ・ファイル情報を利用できます。ただし、詳細なログ情報を表示するには、ローカルとリモートのログ・ファイルを直接確認する必要があります。

  2. 障害が発生している場合、その問題を詳細に把握するために推奨される手順。

    障害が発生した場合は、ログを確認して、パッチ適用オーケストレーションが失敗した理由を調べます。問題の解決後に、パッチ適用オーケストレーションを再開できます。

  3. リモート・ノードでパッチがステージングされている場所を調べます。

    パッチは、リモート・ノードの次の場所に一時的にコピーされます。

    <ORACLE_HOME>/OPatch/auto/dbtmp/<patch_id>/

  4. OPatchAutoは、システム構成ログを生成します。その場所がコンソールに表示されます。

    次に例を示します。

    <ORACLE_HOME>/cfgtoollogs/opatchautodb/systemconfig*<timestamp>.log

    このログには、ブートストラップ、GI/SIHAの識別、ローカル・ノード上のユーザー資格証明チェックなど、パッチ実行アクティビティの開始前のOPatchAutoフローの詳細がすべて含まれています。

  5. OPatchAutoは、SRVCTL、ROOTCRSのようなグリッド・ユーティリティ、OPatchなどの他のコンポーネントと相互作用してパッチを適用します。障害は、これらのコンポーネントで発生することもあります。問題が発生している場所を特定するために、コンポーネントごとに次の基本チェックを実行できます。

    • SRVCTL: 情報の取得やデータベース・ホームの状態の変更のために提供されているユーティリティです。これは、OPatchAutoがいくつかの操作(ホームの停止、ホームの開始、ホームのステータス、インスタンスの再配置など)を実行するために使用します。opatchautoが、どの操作を実行しようとしているかは、opatchautoのログで調べることができます。現在、この領域でなんらかの失敗がある場合は、直接srvctlを使用してデータベース・ホームのステータスを確認できます。

      opatchautoがデバッグ・モードで実行されていると、srvctlの失敗したコマンドのログが次の場所で利用可能になります。このログは、失敗の理由を見つけるために分析できます。失敗の理由がシステム構成に関連している場合は、opatchautoを使用する前に修正する必要があります。

      /tmp/liveoutput_hostname.trc

    • Grid/SIHAホーム・ユーティリティ: OPatchAutoは、パッチ適用の前後にGI/SIHAホームを停止および開始するためにrootcrs.pl/roothas.plを使用します。このユーティリティは、システム構成またはパッチによっては一部のシナリオで失敗します。このユーティリティによって生成されるログは、次の場所にあります。

      <GIHome>/cfgtoollogs/crsconfig/crspatch*<timestamp>.log (GIバージョン< 12.2)

      <OracleBase>/crsdata/<host>/crsconfig/crspatch*<timestamp>.log (GIバージョン>= 12.2)

      <OracleBase>/diag/ (GIバージョン>= 12.2)

      このログを開いて失敗の理由を確認できます。その理由について詳しく知らない場合は、インターネット経由で考えられる原因や修正方法を検索できます。それでも問題が解決できない場合は、開発チームに詳細な調査を依頼してください。問題について最初に実行した分析の詳細とともに、すべてのログ・ファイルを必ず添付してください。これは、事前通知することで開発チームの時間の節約になります。

    • OPatchCore: OPatchAutoは適用/ロールバックのためにopatchのコアAPIを使用します。これらのAPIの実行に関するログは次の場所にあります。

      <ORACLE_HOME>/cfgtoollogs/opatchauto/opatchauto_<timestamp>_binary.log

      <ORACLE_HOME>/cfgtoollogs/opatchauto/core/opatch/opatch<timestamp>.log

10.3.2 検証

パッチの適用が正しく実行されたかどうかを確認できます。

  • パッチ適用の手順がローカルとリモートのどちらか(あるいは両方)のノードで実行されたことを検証します。

    パッチの適用がローカル・ノード上で実行された場合、コンソールからホスト情報を利用できません。

    パッチの適用がリモート・ノード上で実行された場合、コンソールからホスト情報を利用できます。

  • パッチがローリング・モードで実行されたことを検証します。

    パッチがローリング・モードで適用されたことをコンソールから直接検証できます。ローリング・モードでパッチが適用されるときには、次の順序のフェーズが発生します。

    1. 初期化フェーズのみ: ローカルとリモートの両方のノードで完了されます。

    2. 停止

    3. オフライン

    4. 起動

    5. オンライン

    6. ファイナライズ

    これらすべてのフェーズは、ローカル・ノード上でエンドツーエンドに実行されてからリモート・ノードに進みます。

    複数ノード環境では、これらすべてのフェーズが特定のノードでエンドツーエンドに実行されてから、その次のノードに進みます。

  • パッチが非ローリング・モードで実行されたことを検証します。

    パッチが非ローリング・モードで適用されたことをコンソールから直接検証できます。非ローリング・モードでパッチが適用されるときには、次の順序のフェーズが発生します。

    1. 初期化フェーズのみ: ローカルとリモートの両方のノードで完了されます。

    2. 停止

    3. オフライン

    4. 起動

    5. オンライン

    6. ファイナライズ

    Oracle Databaseリリース11.2の場合、各フェーズがすべてのノードで並行して実行されます。

    Oracle Databaseリリース12.0以降の場合、すべてのフェーズが最初にローカル・ノード上でエンドツーエンドに完了されます。その後で、各フェーズがn-2個のノードで並行して実行されます(nは、クラスタ内のノード数になります)。n番目のノードでは、すべてのフェーズがエンドツーエンドに完了されます。

  • パッチが適用またはロールバックされたことを検証します。

    • GRIDホームとRACホームの両方は、パッチの適用/ロールバックの前後で同じ状態になっている必要があります。

      GRIDホームとRACホームの現在のステータスを確認するには、次のコマンドを実行します。

      crsctl check status crs

      srvctl status database -d <database>

    • "opatch lsinv"コマンドを使用すると、ユーザーはシステムで使用可能なパッチを確認できます。

10.3.3 ROOTCRS POSTPATCH時のOHASD障害

問題: OPatchAutoを使用して12.1.0.2.0 GI/RACにOCT/JAN PSUでパッチを適用したとき、または12.1.0.2 PSUの複数回の適用/ロールバックの後で、rootcrs postpatch時にohasdの障害が発生します。

解決策: <crs_home>/./crs/sbs/crswrap.sh.sbsで次の変更を実行します。

この問題を解決するには、ohasdスクリプトで2つの行を変更します。

UID=`/usr/xpg4/bin/id -u`
# Check for root privilege
if [ $UID -eq 0 ];

ローカル変数としてUIDを使用するかわりに、別のもの(たとえばUID1)を使用してください。これにより、次の問題を防止できます。

bash-3.2# ./ohasd restart

./ohasd: line 279: UID: readonly variable

10.4 パッチ適用中の既知の問題

次のパッチ適用シナリオは、パッチ適用中に発生する可能性のある既知の問題の例です。

10.4.1 既知の問題: rootcrs.pl

次の問題は、rootcrs.plの実行に関連しています。

10.4.1.1 Opatchauto Rollbackの失敗

問題点

-norestartオプションが指定されていると、rootcrs.pl -postpatchopatchauto rollbackが失敗します。

症状

10月のPSUパッチのロールバック時に、-norestartモードでのOPatchAutoの実行がrootcrs.pl -postpatchステップで失敗します。

例10-4 コンソール出力

Starting CRS ... Failed 
Command "/usr/bin/perl /scratch/GI12/app/12.1.0/grid/crs/install/rootcrs.pl 
-postpatch -norestart" execution failed: 
Died at /scratch/GI12/app/12.1.0/grid/crs/install/crspatch.pm line 851.

推奨アクション:

前提条件である個別パッチが必須です。

10.4.1.2 リーフ・ノードへのパッチ適用時のOPatchAutoの失敗

問題点

リーフ・ノードのスタックが稼働していない場合、フレックス・クラスタのリーフ・ノードのopatchautoが失敗します。

症状

スタックがクラスタで稼働していない場合、フレックス・クラスタのリーフ・ノードでのOPatchAutoの実行が失敗します。これは、ローリング・モードおよび非ローリング・モードの両方のパッチ適用で発生します。次の例で示されるコンソール・メッセージとともにrootcrs.pl -prepatchが失敗します。

例10-5 コンソール出力

Using configuration parameter file: crs/install/crsconfig_params 2013/09/27 06:00:01 CLSRSC-455: Failed attempt to initiate patch on a Leaf node

推奨アクション:

パッチ適用の前に、リーフ・ノードのスタックを起動します。

10.4.2 既知の問題: datapatch

次の問題は、datapatchの実行に関連しています。

10.4.2.1 ロールバック中に最後のノードではなく最初のノードでdatapatchが実行される

問題点

opatchauto rollbackの実行中、最初のノードそのものでSQLの変更がロールバックされます。

症状

SQLの変更は最初のノードからロールバックされます。

例10-6 ログ・ファイル出力

Output from the command: 
2013-10-07_05-16-28 : 
SQL Patching tool version 12.1.0.1.0 on Mon Oct  7 05:15:31 2013 
Copyright (c) 2012, Oracle.  All rights reserved. 
. 
Connecting to database...OK 
Determining current state...done 
The following patches will be rolled back: 17027533

推奨アクション

パッチがすべてのノードからロールバックされる場合は、メッセージを無視します。回避策はありません。

10.4.3 既知の問題: OPatch

次の問題は、OPatchの実行に関連しています。

10.4.3.1 opatch napplyの失敗

問題点

アクティブ・ファイルが原因で、CRSホームでのopatch napplyステップ時にOPatchAutoが失敗します。

症状

Gridホームのパッチ適用時にOpatchautoが失敗します。

例10-7 ログ・メッセージ

[Sep 19, 2013 6:52:14 PM]    Following executables are active : 
                             /u01/app/12.1.0/grid/lib/libclntsh.so.12.1 
[Sep 19, 2013 6:52:14 PM]    Prerequisite check 
"CheckActiveFilesAndExecutables" failed.

推奨アクション

少し時間を置いてから、opatchauto resumeを実行します。

10.4.3.2 OPatchがJuly'17 DB PSUのロールバックに失敗する

問題: OPatchAutoがDB PSUのロールバックに失敗します。

症状: ロールバックで次のエラーが発生します: [Apr 4, 2017 2:30:09 PM] [SEVERE] OUI-67073:UtilSession failed: Following patch(es) are inactive and cannot be rolled back.

ユースケース: 前提条件は次のとおりです。
  • April 2017 DB PSUと、すべてのオーバーレイに必須のパッチを適用します

  • July 2017 DB PSUを適用します

手順: July 2017 DB PSUをロールバックする

事前条件: 非アクティブのパッチはロールバックできないためOPatchエラーが発生する

解決策: これはDB Oct PSUのOPatch 12.2.0.1.10で修正されています。opatchをアップグレードしてコマンドを再実行してください。

10.4.4 既知の問題: OPatchAuto

次の問題は、OPatchAutoの実行に関連しています。

10.4.4.1 OPatchAuto 12.1.0.1.7の既知の問題

次の問題は、OPatchAutoバージョン12.1.0.1.7に関連しています。

10.4.4.1.1 Real Applicaiton Clusterの名前がすべて大文字の場合、Opatchautoが失敗します。

問題: GI/RACセットアップ用のシステム・インスタンスを作成する際にRACの名前が大文字の場合、OPatchAutoはNULLポインタの例外を検出します。(バグ20858866)

症状: システムの初期設定で失敗が発生し、GI/RACのセットアップで操作が実行されないため、悪い影響はありません。

推奨アクション:

  • OPatch 12.1.0.1.6 (非HP)を使用してください

  • ベース・バグで指定されたOPatch ZIPファイルを使用します。

10.4.4.2 OPatchAuto 12.1.0.1.5の既知の問題

次の問題は、OPatchAutoバージョン12.1.0.1.5のみに関連しています。

10.4.4.2.1 ソフトウェアのみのホーム

問題: OPatchAutoでは、ソフトウェアのみのホームはサポートされません。

症状: config.shが次のエラー・メッセージで失敗します。

kfod.bin: cannot execute: No such file or directory

推奨アクション: パッチREADMEの指示に従って、パッチを手動で適用します。

10.4.4.2.2 OPatchAutoが共有ホームを判別できない

問題: OPatchAutoが共有ホームを見つけられないためエラーが発生します。これは共有ホームと非共有ホームのどちらでも発生することがあります。

症状: OPatchAutoによって次のエラーが生成されます。

System Configuration Collection failed: oracle.osysmodel.driver.crs.productdriver.ProductDriverException: Unable to determine if "ORACLE HOME" is a shared oracle home.

推奨アクション: OracleホームでROOTとして次のコマンド(以下の例)を実行して、根底にある問題を判別します。コマンドは、opatchautoが実行されたのと同じ場所で実行してください。

RACホームの場合:

su <RAC OWNER> -c "$GRID_HOME/bin/cluvfy comp ssa -t software -s

$DB_HOME -n $NODELIST -display_status"

GRIDホームの場合:

su <GRID OWNER> -c "$GRID_HOME/bin/cluvfy comp ssa -t software -s

$GRID_HOME/crs/install -n $NODELIST -display_status"

:

su <GRID OWNER> -c "$GRID_HOME/bin/cluvfy comp ssa -t software -s

$GRID_HOME/crs/install -n node1,node2,node3 -display_status"

根底にある問題が解決してから、opatchautoを再び実行します。

10.4.4.2.3 RAC Oneに関連する問題:

問題: OPatchAutoがRAC Oneデータベースのステータスを検出できません。このため、データベースにSQLの変更を適用できません。

症状: OPatchAutoによってコンソールに次のメッセージが表示されます。

[WARNING] The local database instance 'INST' from 'RAC_HOME' is not running. SQL changes, if any, will not be applied.

推奨アクション: RAC Oneデータベースに対してdatapatchコマンドを手動で実行します。正確なコマンドはopatchautoログ・ファイルに表示されます。

10.4.4.2.4 -norestartモードでのOPatchAutoの動作

問題: OPatchAutoを-norestartモードで実行した場合にも、メッセージ「Starting CRS ... Successful」が表示されます。

症状: OPatchAutoによってコンソールにこのメッセージが表示されます。

Starting CRS ... Successful

推奨アクション: メッセージを無視します。OPatchAutoによって必要な処理が実行されます。実際にはCRSは起動されません。

10.4.4.2.5 OPatchAutoがSystemPatch内の入力サブセット・パッチを適用できない

問題: 既存のパッチのサブセットである個別パッチがシステム・パッチに含まれる場合、OPatchAutoはそのシステム・パッチを適用できません。

症状: コマンドopatch prereq CheckConflictAgainstOHが失敗したと報告されます。

推奨アクション: ホームでスーパーセット・パッチをロールバックし、システム・パッチを適用してから、スーパーセット・パッチを再び適用します。

10.4.4.2.6 OPatchAutoがsrvctl start homeでエラー・コードCRS-2717で失敗する

問題: OPatchAutoがRACホームを起動できません。

症状: エラー・メッセージにコードCRS-2717が含まれます。

推奨アクション: OPatchAutoログ・ファイルに表示される保留中の手順を手動で実行します。

10.4.4.2.7 SystemInstanceの作成の失敗

問題: OPatchAutoがシステム・インスタンスの作成に失敗します。

症状: システム構成収集エラー: oracle.osysmodel.driver.crs.productdriver.ProductDriverException: oracle.ops.mgmt.cluster.ClusterInfoException: PRKC-1094 : crsのアクティブ・バージョンの取得に失敗しました:

推奨アクション: 使用可能な修正は、バグ19262534を参照してください。

10.4.4.3 datapatchがすべてのノードで実行される

問題点

opatchauto applyまたはopatchauto rollbackの実行によって、datapatchがすべてのノードで実行されます。

症状

パッチを適用する最初のノードで、RACデータベースがそのノードで構成されている場合、例10-8に示すメッセージが表示されます。

例10-8 コンソール出力

SQL changes, if any, are applied successfully on the following database(s):

推奨アクション

このメッセージは無視してかまいません。datapatchステップによって行われるSQLの変更の詳細は、OPatchAutoデバッグ・ログから取得できます。datapatchが、以前のパッチ適用セッションで保留になったSQL変更を適用していた可能性もあります。

10.4.4.4 OPatchAuto再開時にdatapatchが実行されない

問題点

opatchauto resume -rebootdatapatchステップが実行されません。

症状

opatchauto resume -rebootコマンドで、datapatchステップが実行されません。

推奨アクション

datapatchステップは、いずれのノードからも手動で実行できます。保留中のすべての変更も、次のOPatchAutoセッションのdatapatchコマンドによって実行されます。

環境変数ORACLE_HOMEおよびORACLE_SIDを設定し、次のコマンドを実行します。

$ORACLE_HOME/OPatch/datapatch

10.4.4.5 OPatchAutoがエラー・メッセージなしに失敗する

問題点

opatchautoコマンドが、コンソールにエラー・メッセージやスタック・トレースも出力せずに失敗します。

症状

コンソールおよびログ・ファイルには次のメッセージが表示されます。

例10-9 コンソール出力

Starting CRS ... Failed

例10-10 ログ・メッセージ

Failed to run this command :
/usr/bin/perl $GRID_HOME/crs/install/rootcrs.pl -postpatch
 
Executing command:
$RAC_HOME/bin/srvctl start home …

推奨アクション

次の場所にあるcrspatchログ・ファイルを参照し、タイムスタンプがOPatchAutoの実行時間を指していることを確認します。

$GRID_HOME/cfgtoollogs/crsconfig/crspatch_<hostname>_<timestamp>.log

このファイルに「CLSRSC-400: インストールを続行するにはシステムの再起動が必要です。」というメッセージが含まれる場合は、次の手順に従います。

  1. マシンを再起動します。

  2. 次のコマンドを実行します。

    opatchauto resume -reboot

10.5 一般的なエラーの症状と状態

次に一般的なエラー状態を示します。

10.5.1 Rootcrs.pl Postpatch

製品スタックを起動しようとする際にパッチの試行が失敗するようなパッチ・シナリオです。

10.5.2 Patcherr

再リンクの失敗が原因で、パッチの試行が失敗するパッチ・シナリオです。