CDC Replication がデータベースと対話する方法について
CDC Replication は、ログを読み取るか、表にデータを適用することにより、データベースと対話するときに、データベースへの依存関係を作成します。
この従属関係は、以下のようなさまざまな形で現れます。
- ログ管理
- リソースの使用率および可用性
- 変更管理
ログ管理
ログ管理では、 CDC Replication がデータを複製するまで、 CDC Replication が読み取るログを保持する必要があります。 ほとんどの CDC Replication エンジンで使用可能な dmshowlogdependency コマンドは、 CDC Replication が引き続き依存しているデータベース・ログを通知します。 データベース・ログは、コマンドの発行時に表示されるログのリストに表示されなくなるまで、削除しないでください。
このポリシーに従わない場合の結果として、 CDC Replication は、データベースに応じてログ・ファイルが読み取り可能になるのを待つ間、エラーで終了するか、ハングしているように見えます。 ログ・ファイルを削除してしまい、永続的に使用不可になっている場合は、データをリフレッシュする以外のオプションはありません。 CDC Replication は、スキップされたログ・ファイルでどのデータが失われるかを認識しないため、データ保全性を維持しながらログをスキップすることはできません。
同様に、ログ・ファイルには、 CDC Replication がログ・ファイルを読み取ることができる十分なファイル・システム権限が必要です。 そのような許可が十分でない場合、 CDC Replication は失敗し、指定されたログを読み取りのために開くことができなかったことを示すメッセージが表示されます。
リソースの使用率および可用性
CDC Replication は、複製元のデータベース、または複製先のデータベースと同じサーバーに頻繁にインストールされます。 このため、 CDC Replication が使用するために割り振られたメモリーが、実際にマシン上で物理的に使用可能であることを確認することが重要です。 デフォルトでは、一部のデータベースは、マシン上ですべての使用可能メモリーを使用するように構成できます。 このような構成は、実行するメモリーがないため、 CDC Replicationでは機能しません。 CDC Replication を実行できるようにするには、少なくとも IBM® Data Replication に割り振られているメモリー量をデータベースから確保する必要があります。
リソース不足の症状には、メモリー不足状態、通信障害、非常に長い待ち時間、タイムアウト・エラーなどが原因で失敗する CDC Replication の多くのバリエーションがあります。
変更管理
スキーマの進化と呼ばれることもありますが、変更管理とは、 CDC Replication が複製するデータベース表の構造に対する変更を計画し、それらの変更を CDC Replication の操作と調整して、変更によってレプリケーションが中断されないようにする必要があることを意味します。
データベースと CDC Replication は、複製される表の構造について同じ理解を共有する必要があります。 共有の理解がない場合、 CDC Replication は表データを誤って解釈するため、そのデータを誤って複製します。 CDC Replication は、調整されていない表構造の変更による潜在的なデータ損失や破損からユーザーを保護しようとしますが、常に保護できるわけではありません。 調整されていない表構造の変更によって生じるリカバリー作業を最小限に抑えるには、ご使用のデータベースに適した変更管理手順に従うことがベスト・プラクティスとなります。 データベースと CDC Replication の間で変更管理を調整することで、最小限の労力でレプリケーションをスムーズに継続できます。 変更管理の実施は、ソース・データベースとターゲット・データベースの両方の表に適用されることに注意してください。
表構造の変更を誤って実行してしまったことに気付いた場合は、調整されていない表構造の変更からのリカバリーに役立つ技術情報も利用できます。