レプリケーションの手引きおよび解説書


データ複製のさまざまな作業

この章では、複製プロセスのさまざまな段階で実行する主要な複製作業について紹介します。 これらの作業は、以下の主要な段階に分けられます。

  1. 複製要件の計画
  2. 複製環境のセットアップ
  3. 複製環境における操作

この章を読んだ後に上記の作業の詳細を知りたい場合は、管理を参照してください。 特定のオペレーティング・システムで収集および変更適用プログラムを使用するための具体的な情報については、操作も参照してください。


複製要件の計画

適切な複製環境を考案する上で重要なステップは、アプリケーション・データの特性、データにアクセスする必要がある利用者、そのアクセスの必要頻度を決定することです。

DB2 データ複製を使えば、複数の場所にあるデータを保守し、その各種コピーの同期を保つことができます。 ソース・データの送信元となる場所、 ソース情報の全部をコピーするのかそれとも一部をコピーするのか、 変更だけをコピーするのか、および必要とするコピー (つまりターゲット) 数を決定する必要があります。 また、コピーを入れる場所も決定する必要があります。

ソース表とターゲット表を同時に更新することはできませんが、更新のスケジュールによってアプリケーションと複製環境の要件を満たすことができます。 複製の頻度は、ソース更新時刻とターゲット更新時刻の間に許容される遅延時間によって異なります。 したがって、複製モデルを考案するにあたっては、コピーとソースの同期化方法、およびコピー相互の同期化方法を決定する必要があります。

アプリケーション・データ要件が明確になったなら、それらの要件を満たす複製モデルを設計することができます。 モデルの設計時には考慮しなければならないいろいろな要素があります。 決定を要する重要度の高い要素の中には、次のようなものがあります。

複製構成
データ要件に基づいて、統合、分散、随時更新、または不定期接続の構成が必要かどうかを決定する必要があります。 実際の環境では、これらの構成の 1 つまたは組み合わせを使えるような設計にすることができます。

制御サーバーの場所
制御表は、中央に置くよりも変更適用プログラムと同じサーバーに置いたほうが、パフォーマンスがわずかながら向上します。 変更適用プログラムは頻繁に制御サーバー内の制御表を読むためです。 変更適用プログラムで単一制御サーバーを共用すれば、制御情報を中央に保管することができます。 制御サーバーは、ソース・サーバー、ターゲット・サーバー、または変更適用プログラムが接続できる任意のデータベース・サーバーに置くことができます。 中央制御サーバーは大規模なネットワークの管理を簡素化できる点で望ましいものですが、2 つの難点があります。 つまり、変更適用プログラムはネットワーク経由で制御情報にアクセスする必要があり、制御サーバーが停止すると変更適用プロセスすべてが影響を受けます。 しかし、ソース・サーバーが機密保護機能のある環境にある場合は、そのソース・サーバーに制御サーバーを置くと機密保護が向上し、複製サブスクリプションの管理とモニターを集中処理できます。

使用するターゲット表のタイプ
使用するターゲット表のタイプは複製要件によって異なります。 各タイプはそれぞれ特定の状況に適しています。 たとえば、レプリカは随時更新複製に使用できる唯一のターゲット・タイプです。また、行レプリカは、DataPropagator for Microsoft Jet で使用できる唯一のターゲット・タイプです。

既存のターゲット表を使用するかどうか
管理インスタンスを使って自分用のターゲット表を作成したり、既存の表をターゲットとして使用したりすることができます。 既存表が DB2 表であれば、DB2 データ複製構成要素によってデータ・タイプがサポートされます。 複製環境に非 IBM データベースが含まれている場合、データ・タイプによっては、使用するソース表に直接マッピングできないことがあります。

どの列を複製に使用するか
変更後イメージ列値だけを収集したり、変更前イメージ列値と変更後イメージ列値の両方を収集したりできます。 監査目的でターゲットを使用する場合、あるいはレプリカ・ターゲット表がある場合は、変更後イメージと変更前イメージの列値を両方ともコピーする必要があります。

SQL 操作を収集する方法
CD 表において、あるいは非 IBM ソースの CCD 表において、すべての更新を 2 つの行として収集することができます。 すなわち、変更前イメージ列値の DELETE と、その後に続く変更後イメージの INSERT です。 これには、ターゲットの基本キーとなる列、ターゲットの区分化キーとなる列、およびサブスクリプション・セットの WHERE 文節または述部の一部である列が含まれます。 このようなオーバーヘッドの増加により、CD 表のサイズを調整しなければならない場合があります。

制約のレベル
参照保全を実施するために参照制約を使用することが必要なのは、レプリカ表であるターゲット表がある場合だけ です。 読み取り専用表があるなら、ターゲットに制約を設定する必要はありません。 サブスクリプション・セットを適切に定義するなら、他のタイプのターゲット表に関して確実に参照保全を実施することができます。

どの結合を使用するか
結合は視点の中で記述されます。視点は、複製ソースの中で定義されます。 たとえば、視点を使用すれば、コピーした列の名前を変更したり、サブスクリプション・メンバー述部の WHERE 文節にある関連する表の列を参照したり、複数の表の内部結合であるコピーを保守したり、 更新が加えられた時点で 1 つの表から別の表に情報を複製したりすることができます。

複製環境の計画に取りかかる場合、計画に関する詳細情報については、複製の計画を参照してください。


複製環境のセットアップ

複製モデルを設計したなら、複製環境をセットアップする必要があります。 複製環境のセットアップには、次のステップが関係しています。

  1. システムのセットアップ
  2. 複製基準の定義
  3. 初期複製の実行

残りの部分では、環境のセットアップに関係したステップを紹介します。 複製環境のセットアップには、複製環境のセットアップに関する詳細な指示が含まれています。

システムのセットアップ

システムをセットアップするには、次のステップを実行します。

  1. DataPropagator 製品の旧リリースから移行します。
  2. 適切なユーザー ID にアクセス権を付与します。

複製基準のセットアップ

複製基準をセットアップするには、次のステップを実行します。

  1. 管理ツールを構成します。 たとえば、DJRA を使用する場合は、データベースにパスワードを関連付ける必要があります。
  2. 複製制御表をカスタマイズし、作成します。
  3. 変更データ (CD) 表をカスタマイズします。 このステップはオプションです。 CD 表のデフォルト名と表スペースは変更することができます。 DB2 コントロール・センターを使用する場合は、複製ソースを定義する に、CD 表をカスタマイズする必要があります。 DJRA ツールを使用する場合は、複製ソースを定義する時点で CD 表をカスタマイズします。
  4. 複製ソースを定義します。 このステップには、データのコピー元となる表または視点、および収集する変更のタイプを識別することが含まれます。
  5. サブスクリプション・セットとサブスクリプション・セット・メンバーを定義します。 このステップには、複製ソースを変更の複製先となるターゲットと関連付けることが含まれます。 サブスクリプション・セットおよびサブスクリプション・セットのメンバーは、変更適用プログラムを開始する前にいつでも定義できます。
  6. 収集プログラムを構成します。 このステップには、ログ用のソース・サーバーを使用可能にすることが含まれます。 また、ソース・サーバーに対して収集プログラムを作成しバインドすることも含まれます。
  7. 変更適用プログラムを構成します。 このステップには、変更適用プログラム・パッケージを作成してソース・サーバー (ターゲット・サーバー、 および制御サーバー) にバインドすることが含まれます。 また、変更適用プログラムを作成してターゲット・サーバーにバインドすることも含まれます。 11

初期複製の実行

重要: 複製環境をセットアップする場合は、変更適用プログラムを開始する前に収集プログラムを開始し、完全に初期設定する必要があります。

初期複製を実行するには、次のステップを正確な順序で実行しなければなりません。

  1. 少なくとも 1 つの複製ソースが定義されていることを確認します。
  2. 収集プログラムを開始します。 このステップには、呼び出しパラメーター (CD 表と UOW 表の自動枝取りを回避する NOPRUNE など) を指定することが含まれます。 収集プログラムは完全に初期設定された後、変更適用プログラムから指示を受けるまで変更を収集しません。
  3. サブスクリプション・セット、またはサブスクリプション・セットのメンバーをまだ定義していなければ、 少なくとも 1 つを定義してください。
  4. 1 つまたは複数の変更適用プログラムを開始します。 このステップには、呼び出しパラメーター (ターゲット表を初期設定する出口ルーチン ASNLOAD を呼び出す LOADX など) を指定することが含まれます。 それぞれの変更適用プログラムはすべてのサブスクリプション・セット・メンバーに関して全最新表示コピーを実行し、 収集プログラムは関連する複製ソースに関する変更の収集を開始します。 12

ヒント:ウォーム・スタートを実行できなくなるような問題 (データベースや表スペースを使用できない場合など) を修復できるようにするには、 収集プログラムの WARMNS オプションを使用してください。

複製環境への追加

複製環境に複製ソースとサブスクリプション・セットを追加する必要が生じることがあるかもしれません。

複製環境に追加するには、次のステップを正確な順序で実行しなければなりません。

  1. 新しい複製ソースを定義します。
  2. 収集プログラムの reinit コマンドを実行するか、収集プログラムを停止してからウォーム・スタートします。
  3. 新しいサブスクリプション・セット、およびサブスクリプション・セットのメンバーを定義します。
  4. 変更適用プログラムがすでに実行中であり、新しいサブスクリプション・セット に関連付けられた変更適用修飾子をそのプログラムが使用している場合、 変更適用プログラムはその新しいサブスクリプション・セットを自動的に認識します。 それ以外の場合、変更適用プログラムが新しいサブスクリプション・セットを認識するためには、 その前に適切な変更適用修飾子を使って新しい変更適用プログラムを開始しなければなりません。

複製環境のコピー

あるシステム (たとえばテスト・システム) 上の複製環境を定義したなら、その複製環境を別のシステム (たとえば実動システム) にコピーすることができます。 プロモート機能を使えば、表、複製ソース、サブスクリプション・セットのリバース・エンジニアリングを実行し、 適切なデータ定義言語 (DDL) やデータ操作言語 (DML) を使ってスクリプト・ファイルを作成することができます。 プロモート機能についての詳細は、別のシステムへの複製構成のコピー、および管理インターフェース用のオンライン・ヘルプを参照してください。


複製環境における操作

複製環境が起動および実行されていて、更新が複製されているなら、定期的な保守作業を実行する必要があります。 その中には、次の作業が含まれます。

制御表の枝取りの構成
内容を定期的に枝取りしないなら、UOW 表と CD 表がどんどん大きくなってしまいます。 枝取りは、システムを構成して自動的に実行したり手動で実行したりできます。 それらの表から古い情報を除去する頻度を制御してください。 表の枝取りをする頻度が不十分な場合、表の属する表スペースが不足するため、収集プログラムが強制停止されることになります。 枝取りの頻度が多過ぎたり、枝取りがピーク時に実行されると、変更収集プロセスに支障が生じます。 オプションとしての枝取り頻度を複製環境で使用する場合は、実際の複製環境に最適な値を使用してください。

重要な基準のモニター
複製環境の実行効率を決定する要素はさまざまです。 DJRA の一部である複製モニターを使用すれば、収集と適用変更の構成要素の活動、およびサブスクリプション・セットの状況をモニターするのに役立つ報告書を生成することができます。 たとえば、報告書には活動記録の情報が入っており、サブスクリプションの待ち時間についての傾向を見定めるのに役立ちます。

データ変更対立の処理
随時更新複製を使用し、更新対立を防止する構成に設計しなかった場合、更新対立および拒否されたトランザクションを処理する必要があります。

定期的なデータベース保守の実行
複製環境を円滑に運用するには、データベース保守作業を定期的に実行する必要があります。 たとえば、表と索引に関する新しい統計情報を収集するには、DB2 カタログ表に対して RUNSTATS ユーティリティーを使用します。 また、CD 表と UOW 表のデータが十分な量に達した後に RUNSTATS ユーティリティーを 1 回使用すると、DB2 最適化プログラムはそれらの表に対して索引を使用できるようになります。 変更データ表、作業単位表、およびターゲット表については、REORG ユーティリティー (または AS/400 では RGZPFM コマンド) を定期的に使用します。 また、サブスクリプション・セット統計とエラー情報が入っている適用追跡表から行を削除する必要もあります。

DB2 ユーティリティー操作の調整
複製制御表が入っている表スペースを使用する DB2 ユーティリティー (REORG、RUNSTATS、BIND PACKAGE、REVOKE など) を実行したい場合は、 そのユーティリティーを実行する前に収集および変更適用プログラムを停止しなければなりません。

業務要件の変更に合わせて複製構成を変更する
時には、複製環境を変更する必要が発生するかもしれません。 既存のソース表に新しい列を加える場合もソース表を除去する場合も、複製基準を変更することが必要になります。 また、パスワード・ファイルを保守する必要もあります。 複製構成を変更する方法について詳しくは、 複製構成の変更を参照してください。

トラブルシューティング
複製環境のパフォーマンスが予想を下回ったり、データを複製できなかったりする場合は、複製アナライザーを実行することができます。 複製アナライザーは、DB2 ユニバーサル・データベースと DataJoiner 複製管理ツールに同梱されているツールです。 複製アナライザーは、収集プログラムや変更適用プログラムの動作を分析するために使用することができます。 これにより、「収集プログラムが収集を実行しないのはなぜか」、 「変更適用プログラムが変更適用を実行しないのはなぜか」といった質問の回答が得られます。 複製アナライザーは、診断プログラムを支援したり、複製セットアップを検証したり、 パフォーマンスのチューニングに役立つ提案を示したりできます。 また、適用追跡表を見て変更適用プログラムに関する状況情報を調べたり、 適用追跡表を見て収集プログラムに関する状況情報を調べたりすることができます。 詳細については、問題判別を参照してください。

複製環境での操作についての一般情報は、DB2 DataPropagator の操作を参照してください。 特定のオペレーティング・システムでの操作について情報は、操作の該当する章を参照してください。


脚注:

11
収集プログラムおよび変更適用プログラムが置かれているのが OS/390 上ではない場合、 これらのプログラムはバインドを自動的に実行します。

12
IBM 以外のロード・ユーティリティーを使用する場合は、 DJRA のオフライン・ロード機能を使うことをお勧めします。 DJRA でオフライン・ロード機能を設定する方法については、 DJRA を使ったターゲット表のオフライン・ロード を参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]