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

不適合メッセージを受信した場合、変更管理サービスは停止されます。メッセージング エラーによって 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> を使用して、移動中イベント キューで指定されたキューをパージします。
パージ トピック <topic_name> を使用して、一時キャッシュ バッファリング トピックで指定されたトピックをパージします。
8. TIBCO EMS ユーティリティ パージ トピック <topic_name> を使用して、インクリメンタル キャッシュ用に構成されたすべてのデータ ソースの変更通知パネルで指定された入力 EMS トピックをパージします。
9. Central Events Server で TDV Change Messaging Service を再起動します。
10. 各インクリメンタル メインテナンス キャッシュについて、以下の手順で無効になっているキャッシュをすべて再起動します。

ビューの [キャッシング] タブの [インクリメンタル メインテイン] チェック ボックスをオフにします。

ビューを保存します。

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

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

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