レプリケーションは、レプリケーション制御表がコントロールおよび ターゲット・データベースの両方に存在することを必須とします。レプリケーション制御表は、 ASN スキーマで検出され、IBMSNAP を用いてすべて開始します。レプリケーション制御表は、 制御表がすでに存在していない場合、コントロール・センターを介してレプリケーション・ソースを 定義する時にデータベース上に自動的に作成されます。制御表もターゲット DB に存在する必要があることに 注意してください。コントロール・センターを使用してレプリケーション・ソースを作成できる ターゲット DB に作成された制御表の設定を得るには、それからレプリケーション・ソースを除去し、 制御表だけ残します。 あるいは DJRA、 Data Joiner Replication Administration、つまり制御表のみ定義するための製品を使用できます。
制御表を定義するために DJRA を使用したい、 あるいは使用する必要がある場合、最初にインストールする必要があります。DJRA は、 DB2 の一部として出荷されます。DJRA をインストールするには、d:\sqllib\djra ディレクトリー (DB2 がインストールされている) に移動し、djra.exe パッケージをクリックします。これによって、 ご使用のシステムに DJRA がインストールされます。その後で Windows NT の「スタート」メニューから DJRA にアクセスするには、DB2 (Windows NT 版) 選択をクリックし、「レプリケーション」を選択し、 次に「レプリケーション管理ツール」を選択します。DJRA インターフェースは、 通常の NT アプリケーションと少し異なります。実行するそれぞれに機能ごとに、 実行される SQL のセットを作成しますが、それを実行することはしません。ユーザーは、 手動で生成された SQL を保管し、SQL の実行機能を選択して、SQL を実行します。
テスト中のシステムの場合、 収集およびアプライ・プログラムを実行するために、ご使用のシステムを構成する説明については、 「レプリケーションの手引きおよび解説書」を参照してください。使用するそれぞれのデータベースに、 収集およびアプライ・プログラムをバインドする必要があります。パスワード・ファイルを 作成する必要がないことに注意してください。データウェアハウスセンターは自動的に レプリケーション・サブスクリプションのパスワード・ファイルを作成します。
コントロール・センターを使用して、 レプリケーション・ソースを定義します。 データウェアハウスセンターは 5 つのタイプの レプリケーションをサポートします: ユーザー・コピー、時刻指定、基礎集約、変更集約、 およびステージング表 (CCD 表) です。ユーザー・コピー、時刻指定、 および圧縮ステージング表のタイプの場合、レプリケーション・ソース表に 1 次キーが必要です。他のレプリケーション・タイプでは必要ありません。このことは、 レプリケーション・ソースとして定義される入力表を選ぶ際に注意してください。レプリケーション・ ソースは実際、元のソース表および、データ変更をターゲット表に移動する前に保留しておくために 作成された CD (変更データ) 表の定義です。 コントロール・センターでレプリケーション・ソースを定義する時、 ソースおよびその CD 表を定義するために、レコードが ASN.IBMSNAP_REGISTER に書き出されます。CD 表は同時に作成されますが、最初にデータは入っていません。レプリケーション・ソースを定義する時、 変更後イメージ列のみを含めるか、変更前イメージ列と変更後イメージ列の両方を含めるか選ぶことができます。 これらの選択は、コントロール・センターのレプリケーション・ソース・インターフェースの チェック・ボックスで行なわれます。変更前イメージ列と変更後イメージ列の選択は、 新規 CD 表で作成される列に変換されます。CD 表で、変更後イメージ列には、 元のソース表列名と同じ名前が付きます。変更後イメージ列には、列名の最初の文字として 'X' が付きます。
コントロール・センターで、 一度レプリケーション・ソースを作成すると、それをデータウェアハウスセンターへインポートできます。 ソースをインポートする場合、「複製可能な表」というチェック・ボックスをクリックしてください。これは、 レプリケーション・ソースとして定義された表が何であるかを参照するために、 データウェアハウスセンターに ASN.IBMSNAP_REGISTER 表内のレコードを検索するよう指示します。
プロセス・ モデラーで、レプリケーション・タイプのいずれかを選択します: 基礎集約、変更集約、 時刻指定、ステージング表、ユーザー・コピーです。基礎集約、または変更集約の レプリケーション・タイプを定義する場合、データウェアハウスセンター内で基礎集約、 または変更集約レプリケーションをセットアップする方法について、 下記のセクションを参照してください。レプリケーション・タイプに適切なレプリケーション・ソースを 選択します。上記で述べたように、レプリケーション・タイプのユーザー・コピー、時刻指定、 および圧縮ステージング表では、入力ソースに 1 次キーが必要です。 レプリケーション・ソースをレプリケーション・ステップに接続します。レプリケーション・ステップの プロパティーをオープンします。「パラメーター」タブに移動します。必要な列を選択します。 ターゲット表を作成するようチェック・ボックスを選択します。ウェアハウス・ターゲットを選択します。 処理オプションに進み、パラメーターを埋めます。「了解」を押します。
DOS ウィンドウで、次のように入力します: ASNCCP source-database COLD PRUNE
COLD パラメーターは、コールド・スタートを示し、CD 表内の既存データを 削除します。PRUNE パラメーターは、収集プログラムに IBMSNAP_PRUNCNTL 表を 保守するよう指示します。収集プログラムを実行したままにします。 終了する時間になると、DOS ウィンドウから Ctrl-Break でそれを停止できます。 アプライ・プログラムを開始する前に、収集プログラムを開始する必要があることに 注意してください。
データウェアハウスセンターに戻り、 (定義されたレプリケーション・ステップの場合) テスト・モードにステップをプロモートします。これによって、 レプリケーション・サブスクリプション情報がレプリケーション制御表に書き込まれることになります。 サブスクリプションをサポートするために、IBMSNAP_SUBS_SET、IBMSNAP_SUBS_MEMBR、 IBMSNAP_SUBS_COLS、および IBMSNAP_SUBS_EVENT に追加されたレコードを参照します。 ターゲット表もまたターゲット・データベースに作成されます。レプリケーション・タイプが ユーザー・コピー、時刻指定、または圧縮ステージング表の場合、ターゲット表で 1 次キーが必要です。 コントロール・センターで、1 次キーを作成します。 いくつかのレプリケーション・ターゲット表もまたさまざまな列で固有索引を必要とします。 これらの固有索引を自身で作成する必要がないように、表が作成された時に、 これらの固有索引も作成されるよう、コードがデータウェアハウスセンターに存在します。 コントロール・センターで 1 次キーを定義し、固有索引がすでにその列に対して存在する場合、 1 次キーを作成した時に警告メッセージを受け取りますが、注意してください。 この警告メッセージは無視してください。
製品へのプロモートの間、 作成されるレプリケーション・サブスクリプトの変更はありません。これは他のステップと同種の厳密な データウェアハウスセンター操作です。
レプリケーション・ステップがテスト・モードへプロモート した後、実行できます。ソース表に変更を作成する前に、初期実行を行ってください。 Work-in-Progress (WIP) セクションへ進み、レプリケーション・ステップを選択してください。 実行します。ステップが実行したら、IBMSNAP_SUBS_EVENT 表のイベント・レコードは 更新され、IBMSNAP_SUBS_SET のサブスクリプション・レコードは活動状態であることを 通知します。サブスクリプションは即時に実行する必要があります。サブスクリプションが実行したら、 アプライ・プログラムは活動サブスクリプションを処理するエージェントによって呼び出されます。 その後元ソース表を更新する場合、CD 表にその変更データが移動されます。 レプリケーション・ステップが以下のように、アプライ・プログラムが再実行するように実行する場合、 変更データは CD 表からターゲット表に移動されます。
テストへのデモートの間、 作成されるレプリケーション・サブスクリプトの変更はありません。 これは他のステップと同種の厳密な データウェアハウスセンター操作です。
開発にレプリケーション・ステップをデモートする場合、 サブスクリプション情報はレプリケーション制御表から除去されます。 開発へのデモートが終了した後、特定のサブスクリプション用のレプリケーション制御表に 残っているレコードはありません。ターゲット表も この時点で削除されます。レプリケーション・ソースの定義に依存しているので、 CD 表は残ります。