問題タブ [oracle-streams]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - ペイロード/メッセージのサイズが 32K を超えているかどうかを判断するにはどうすればよいですか?
Oracle の Streams Advanced Queuing User's Guide and Reference によると、「タイプ RAW のペイロードを格納するために、Oracle Streams AQ は LOB 列を含むキュー テーブルをペイロード リポジトリとして作成します。ペイロードの最大サイズは、使用するプログラム インターフェイスによって決まります。 Oracle Streams AQにアクセスします。PL/SQL、Javaおよびプリコンパイラの制限は32K、OCIの制限は4Gです。」
私の質問は、ペイロード/メッセージのサイズが32Kを超えているかどうかをどのように判断できるかということです。
既存の Oracle プロシージャは次のようになります。
[更新] @kfinity の回答の助けを借りて、以下の最終的な解決策を見つけてください。
oracle-golden-gate - RMAN は、GG ダウンストリームに適用されていないアーカイブ ログを削除しません
3 つのホストのトポロジに問題があります。
プライマリには、RMAN を使用して 3 時間前のアーカイブ ログを削除するための OS タスクが (1 時間ごとに) スケジュールされています。アーカイブログの削除ポリシーは、「すべてのスタンバイに適用」に設定されています。
物理スタンバイとダウンストリームの 2 つのリモート log_archive_dest エントリがあります。毎日、タスクのログに「RMAN-08120: 警告: アーカイブされたログが削除されておらず、スタンバイによってまだ適用されていません」というメッセージが表示され、2 ~ 3 時間で解決されます。
問題の発生中に V$ARCHIVE_LOG を確認したところ、ダウンストリーム サーバーに REDO が適用されていないことがわかりました。ダウンストリーム サーバーの問題はまだ把握していませんが、「正常な」期間中はすべての適用プロセスが有効になっていますが、dba_apply_progress ビューでは、メッセージの apply_time が 01-JAN-1970 であることがわかります。
dba_capture ビューは、キャプチャ プロセスのステータスが ENABLED であることを示します。status_change_time は、およそ RMAN の問題が解決された時間です。
ゴールデン ゲート、ストリーム、およびダウンストリーム テクノロジは初めてです。リファレンスの Oracle Docs を読みましたが、キャプチャまたは適用プロセスのスケジュールについては何も見つかりませんでした。
他に何をチェックするか、何を読むべきか、誰かが理解するのを手伝ってくれませんか? すべての応答に感謝します。ありがとう。