メッセージ エラーからのリカバリー
不適合メッセージを受信した場合、変更管理サービスは停止されます。メッセージング エラーによって 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> を使用して、移動中イベント キューで指定されたキューをパージします。 |
|
—
|
パージ トピック <topic_name> を使用して、一時キャッシュ バッファリング トピックで指定されたトピックをパージします。 |
|
8.
|
TIBCO EMS ユーティリティ パージ トピック <topic_name> を使用して、インクリメンタル キャッシュ用に構成されたすべてのデータ ソースの変更通知パネルで指定された入力 EMS トピックをパージします。 |
|
9.
|
Central Events Server で TDV Change Messaging Service を再起動します。 |
|
10.
|
各インクリメンタル メインテナンス キャッシュについて、以下の手順で無効になっているキャッシュをすべて再起動します。 |
ビューの [キャッシング] タブの [インクリメンタル メインテイン] チェック ボックスをオフにします。
ビューを保存します。
[インクリメンタル メインテイン] チェック ボックスをオンにして、ビューを再度保存します。GoldenGate 監視ユーティリティによって報告された SCN タイム スタンプに基づいてマテリアライズド ビューを作成することにより、キャッシュが自身を再初期化するまで、しばらく待ちます。
その後、[無効] とマークされている、インクリメンタルに保持されるキャッシュのステータスが [Up] と表示されます。これらのキャッシュは同期が維持され、監視対象のデータ ソースに加えられたすべての変更をミラーリングします。
サブスクライバーがサブスクライブしているビューに関する変更通知をリッスンしているアウトバウンド EMS トピックは、監視対象のソースへの変更が報告されると自動的に変更通知メッセージの受信を開始します。