IBM i のジャーナリング対RPGトリガー:ネイティブのジャーナル取得、レシーバーの保持、EBCDICデコード、リカバリ、およびコネクタの所有権

IBM i(AS/400)において、変更の捕捉は通常、Db2 for i のジャーナルベースのCDCとRPG(またはその他の)トリガーのどちらを採用するかという選択に帰着します。ジャーナルはプラットフォーム固有の監査証跡です。一方、トリガーはアプリケーションに深く関与するため、その保守コストを過小評価しがちです。
GluesyncのIBM i向けアプローチは、QjoRetrieveJournalEntriesを介したジャーナルCDCです。QSQJRNは、ライブラリ内で目にするジャーナル名のコンテキストであり、取得APIそのものではありません。
システムのジャーナリングと QjoRetrieveJournalEntries
IBM i のジャーナルは、ジャーナリング対象オブジェクトへの変更を記録します。レシーバーはこれらのエントリを保持しており、保存期間とレシーバーの管理によって、どの程度の過去まで遡ってデータを取得できるかが決まります。
Gluesync は、サポートされているプログラムによる取得インターフェースである QjoRetrieveJournalEntries API を通じてジャーナルエントリを読み取り、それらをデコードして下流のターゲット向けにマッピングします。
運用上の柱:
- ジャーナルおよびレシーバー戦略(サイズ、保持期間、削除/切り離しポリシー)
- 対象となるテーブルで実際にオブジェクト・ジャーナリングが有効になっていること
- 停止後の再開位置を、履歴全体を盲目的に再実行することなく特定できること
- 文字エンコーディング—EBCDIC(およびCCSID)のデコードが正しく行われていないと、「CDC」が破損した文字列になってしまう
FAQ
QSQJRN は CDC API ですか?
いいえ。QSQJRNは一般的なジャーナル名/コンテキストです。Gluesync スタイルの CDC をプログラムで取得するには、QjoRetrieveJournalEntries を使用します。
なぜ RPG トリガーだけではないのですか?
これらはキャプチャをアプリケーションコードに依存させ、書き込み処理のオーバーヘッドを増加させ、リリース間の互換性が劣るためです。ジャーナルは、オブジェクトがジャーナル化される際の Db2 for i の変更に関する記録システムです。
EBCDIC についてはどうですか?
エンコーディングを最優先の要件として扱ってください。
AI は IBM i コネクタを生成できますか?
API 呼び出しの概要案を作成することは可能です。本番環境では、レシーバーポリシー、再起動のセマンティクス、CCSID の正確性、および IBM i のセキュリティ/出口ポイントに関する現実的な要件が必要です。

RSSフィードを取得する