メッセージ エラーからのリカバリー

不適合メッセージを受信した場合、変更管理サービスは停止されます。メッセージング エラーによって CMS が停止されると、すべてのインクリメンタル キャッシュはDisabledとマークされ、「<ops/>」という内容のサブスクリプション失敗メッセージがすべてのサブスクライブ クライアントに送られます。

cs_server.logに次のような例外メッセージがないか確認する必要があります。

Exception: java.lang.Exception: Invalid message element: expecting 'before' element, got 'missing'...

無効なメッセージエレメントは、メッセージ形式が壊れており、スキーマ要件の範囲外であることを示しています。 CMS は、サブスクライブしているクライアントに「<ops/>」メッセージを発行し、キャッシュを無効にして停止し、CMS とメッセージングを構成済みの状態から再開できるようにします。

例外がデータ タイプの不一致である場合、エラーの原因は Oracle GoldenGate プロセスではない可能性が高いため、それらのプロセスを再作成する必要はありません。ただし、破損したデータをシステムから消去するために、キューとトピックをパージする必要がある場合があります。

メッセージングの問題を解決するには

1. Oracle GoldenGate がインストールされている/dirprm サブディレクトリにある Oracle GoldenGate 構成パラメーター ファイルを確認します。パラメーター GETUPDATEBEFORES、NOCOMPRESSUPDATES、および NOCOMPRESSDELETES (およびその他の関連パラメーター) が、CMS と互換性のあるメッセージを作成するように設定されていることを確認してください。
2. 「extract」プロセスと「JMS Pump」プロセスを停止します。
3. GoldenGate extract プロセスと JMS Pump プロセスを削除します。
4. 関連する 2 つの *.prm ファイルで定義されている証跡ファイルを削除します。証跡ファイルは通常、GoldenGate ホーム ディレクトリ $GGHOME/dirdat の dirdat フォルダーにあり、ファイルはすべて、exttrail ファイル名グループの名前に指定された 2 文字のプレフィックスで始まります。 (「 Oracle GoldenGateのインストールと構成」を参照してください。)
5. 構成パラメーターを修正します。
6. .obey ファイルを使用して、GoldenGate extract プロセスと JMS Pump プロセスを再作成します。
7. TDV-Managed Destinations構成パラメーターが false に設定されている場合は、TIBCO EMS ユーティリティを使用して、次のように、変更管理サービス > セントラル機能 > メッセージング > 内部 EMS で指定されたキューとトピックを削除します。
パージ キュー <queue_name> を使用して、移動中イベント キューで指定されたキューをパージします。
purge topic <topic_name> を使用して、一時キャッシュ バッファリング トピックで指定されたトピックをパージします。
8. TIBCO EMS ユーティリティ パージ トピック <topic_name> を使用して、インクリメンタル キャッシュ用に構成されたすべてのデータ ソースの変更通知パネルで指定された入力 EMS トピックをパージします。
9. Central Events Server で TDV Change Messaging Service を再起動します。
10. 増分的に維持されるキャッシュごとに、次のコマンドを使用して、無効になっているすべてのキャッシュを再起動します。

ビューの [キャッシング] タブの [増分的に維持] チェック ボックスをオフにします。

ビューを保存します。

Incrementally Maintained チェック ボックスをオンにして、ビューを再度保存します。 GoldenGate 監視ユーティリティによって報告された SCN タイムスタンプに基づいてマテリアライズド ビューを作成することにより、キャッシュが自身を再初期化するまで、しばらく待ちます。

その後、[Disabled(無効)]とマークされている、インクリメンタルに保持されるキャッシュのステータスが[Up(稼働中)]と表示されます。これらのキャッシュは同期が維持され、監視対象のデータソースに加えられたすべての変更をミラーリングします。

サブスクライバーがサブスクライブしているビューに関する変更通知をリッスンしているアウトバウンドEMSトピックは、監視対象のソースへの変更が報告されると自動的に変更通知メッセージの受信を開始します。