重複ディレクトリがソフトウェア・ライブラリで検出された場合のOPatchの更新ジョブの失敗

問題

OPatch更新ジョブが次のエラーで失敗します。
2021-11-28 10:31:19,127 RemoteJobWorker 20236 ERROR em.jobs startDownload.772- OpatchUpdateLatest: java.lang.NullPointerException: Category, 'Oracle Software Updates', has no child named, 'OPatch' at oracle.sysman.emInternalSDK.core.patch.util. ComponentUtil.getComponentCategory (ComponentUtil.java:854)
2012年1月のEnterprise Managerパッチ適用後に、次のエラーが表示されます。
Category, 'Oracle Software Updates' already exists.

原因

エラーが発生するのは、2つの「Patch Components」ディレクトリがソフトウェア・ライブラリで見つかった場合です。パッチ・アップロードまたはパッチ・ダウンロードの2つのジョブ(たとえば、OPatchパッチ・ダウンロード・ジョブと通常のパッチ・ダウンロード・ジョブ)を実行すると、競合状態が発生して、「Patch Components」という名前のディレクトリが2つ作成されます。これらの重複ディレクトリの作成時に、ソフトウェア・ライブラリにはエラーが表示されません。ただし、OPatch更新ジョブを実行すると、そのジョブはNullPointerExceptionで失敗します。

解決策

ソフトウェア・ライブラリに2つの「Patch Components」ディレクトリが表示された場合は、エントリ数が少ない方のディレクトリを削除してから、失敗したパッチ・ジョブを再試行してください。ソフトウェア・ライブラリにアクセスするには、「エンタープライズ」メニューから「プロビジョニングとパッチ適用」を選択し、「ソフトウェア・ライブラリ」をクリックします

「Patch Components」ディレクトリは1つしか表示されないが、Oracle Software Updates already existsというエラーが表示される場合。失敗したパッチのアップロードまたはダウンロードを再試行してください。