メッセージ エラーからのリカバリー
不適合メッセージを受信した場合、変更管理サービスは停止されます。メッセージング エラーによって 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のインストールと構成」を参照してください。) |
|
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トピックは、監視対象のソースへの変更が報告されると自動的に変更通知メッセージの受信を開始します。