この章では、以下のオペレーティング・システムにおける収集および変更適用プログラムのセットアップおよび操作の方法について説明します。
この章では、 Windows 32 ビット・オペレーティング・システムのオンデマンド複製についても説明します。 オンデマンドの複製の詳細については、オンデマンドの複製 (Windows 32 ビット・オペレーティング・システムのみ)を参照してください。
収集および変更適用プログラムの操作に関する項を読む前に、以下の項をお読みください。
収集および変更適用プログラムの実行に使用されているユーザー ID は、次のような権限と特権を持っていなければなりません。
セットアップは、ソース、ターゲット、および制御サーバーの構成と、Windows での NT サービスのセットアップから成ります。 以下の項に、各サーバーの構成法についてと、 ソース・サーバーでエンド・ユーザーに認証を設定する方法について、 および NT サービス コントロール・マネージャーのセットアップ方法について述べます。
DB2 CONNECT TO database
ただし、database は、ソース・サーバー・データベースです。
DB2 UPDATE DATABASE CONFIGURATION FOR database_alias USING LOGRETAIN ON DB2 BACKUP DATABASE database_alias
または:
DB2 UPDATE DATABASE CONFIGURATION FOR database_alias USING USEREXIT ON DB2 BACKUP DATABASE database_alias
インストール要件に基づいて DBHEAP、APPLHEAPSZ、PCKCACHESZ、 LOCKLIST、 および LOGBUFSZ を増やすことが必要である場合があります。
DB2 BIND @CAPTURE.LST ISOLATION UR BLOCKING ALL
ただし UR は、パフォーマンスを向上するための非コミット読み取り形式のリストを指定します。
これらのコマンドは、パッケージ・リストを作成します。 その名前は、CAPTURE.LST ファイル内で見つけることができます。
重要: 変更適用プログラム・パッケージは、実行時に自動的にバインドされます。 そのため、Windows および OS/2 で変更適用プログラム・パッケージをバインドするための以下のステップはオプションにすぎません。 オプションを指定したい場合、 またはすべてのバインド・プロセスが正常に完了したことをチェックしたい場合は、 以下のステップを実行してください。
DB2 CONNECT TO database
ここで、database は、ソース、ターゲット、または制御サーバーです。 サーバー・データベースがリモート・データベースとしてカタログ化されているなら、 DB2 CONNECT TO コマンドでユーザー ID とパスワードを指定する必要があるかもしれません。 たとえば、次のようになります。
DB2 CONNECT TO database USER userid USING password
DB2 BIND @APPLYCS.LST ISOLATION CS BLOCKING ALL GRANT PUBLIC
DB2 BIND @APPLYUR.LST ISOLATION UR BLOCKING ALL GRANT PUBLIC
ただし、CS はカーソル固定形式でリストを指定するのに対し、UR は非コミット読み取り形式でリストを指定します。
変更適用プログラム制御表は静的 SQL 呼び出しを使用するため、その制御表がサーバーで使用されているかどうかに関係なく、変更適用バインド・プロセスは、 バインド先の各サーバーのほぼすべての制御表を検索します。
これらのコマンドは、パッケージ・リストを作成します。 その名前は、APPLYCS.LST および APPLYUR.LST ファイル内で見つけることができます。
ソース・サーバーでエンド・ユーザー認証が行われるようにするには、AUTH=SERVER 方式を指定したパスワード・ファイルを提供する必要があります。 変更適用プログラムは、ソース・サーバーに接続するときにこのファイルを使用します。 変更適用プログラムを実行するユーザー ID に対してだけ読み取りアクセスを許可してください。
パスワード・ファイルを作成するには、次のようにします。
パスワード・ファイルは以下の基準にかなっている必要があります。
applyqual.PWD
applyqual は、大文字小文字が区別されます。サブスクリプション・セット表の変更適用修飾子 (APPLY_QUAL) の値と一致しなければなりません。
例: DATADIR.PWD
この命名規則は、ファイル拡張子が .PWD である以外はログ・ファイル名 (applyqual.app) および予備ファイル名 (applyqual.nnn) のときと同じです。
SERVER=server_name USER=userid PWD=password
ここで、
認証と機密保護の詳細については、DB2 ユニバーサル・データベース 管理の手引き を参照してください。
収集および変更適用プログラム (Windows 版) を操作するには、DB2 コマンド・プロセッサーを使用するか、 または NT サービス コントロール・マネージャー (SCM) を使用しています。 SCM を使うと、NT コントロール・パネルからサービスとして収集および変更適用プログラムを自動的に始動することができます。
収集および変更適用プログラムをサービスとして操作したい場合は、 複製サービスは手動でインストールする必要があります (インストールは自動ではありません)。 以下のステップは、複製サービスをインストールし、それを NT サービスとしてセットアップする方法を説明しています。
ここに出てくる x:\ は、実行可能プログラムが置かれているドライブとディレクトリーを指しています。 通常、これらのプログラムは \sqllib\bin ディレクトリーにあります。
複製サービスをインストールし、NT サービスとしてセットアップするには、次のようにします。
ASNINST x:\ASNSERV.EXE
ASNPATH=x:重要: ASNPATH 変数には円記号を含めないでください。
db_name x:\ASNCCP parameters
db_name x:\ASNAPPLY parameters
ここで db_name は、収集プログラムの場合はソース・データベースの名前、 変更適用プログラムの場合は制御データベースの名前を指定します。 x:\ はプログラムの位置、parameters は 1 つ以上の呼び出しパラメーター (変更適用修飾子など) を指定します。
収集プログラムおよび変更適用プログラムのトレース機能を使うには、そのファイルに呼び出しパラメーターを指定します。 たとえば、次のようになります。
DBNAME1 C:\SQLLIB\BIN\ASNCCP COLD TRACE<CRLF> DBNAME2 C:\SQLLIB\BIN\ASNAPPLY APPLYQUAL DBNAME2 TRCFLOW TRCFILE<CRLF>
変更適用プログラム・トレースを生成するには、通常のトレース呼び出しパラメーター (TRCFLOW など) の他に、TRCFILE 呼び出しパラメーターが必要です。
トレースに出力ファイル名は指定しないでください。 出力ファイル名は、デフォルトのファイル名と共にデフォルト位置に保存されます。次のとおりです。
x:\instancenamedbname.trc
x:\APPLYtimestamp.trc
x:\ntserv.asn
複製サービス・プログラムは、すべてのメッセージを x:\asnserv.log に保管します。 何らかの問題が生じた場合は、このログ・ファイルでエラー・メッセージを調べてください。
収集および変更適用プログラムを停止するには、次のようにします。
重要: サービスを開始した後、収集および変更適用プログラムは ASNSERV とは関係なく稼働します。 したがって、ASNSERV を停止しても、収集および変更適用プログラムは停止しません。 収集プログラムを停止するには、コマンド・ウィンドウで ASNCMD STOP コマンドを使用します。 変更適用プログラムを停止するには、コマンド・ウィンドウで ASNASTOP コマンドを使用します。
NT サービスから複製サービスを除去するには、次のようにします。
複製サービスを NT コントロール・パネルから除去するには、ASNREMV プログラムを使用します。
管理者は、ここに記載されているコマンドを使用して、収集プログラム (Windows 版) および収集プログラム (OS/2 版) を操作することができます。 NT または OS/2 ウィンドウにコマンドを入力するか、キーの組み合わせを入力してください。
ここでは、収集プログラムに関する以下の作業の実行方法について説明します。
ここには、収集プログラムの実行に関する制約事項も示されています。
いくつかのアクションは、実行中の収集プログラムを終了させてしまう原因になります。 以下のアクションのいずれかを実行したい場合は、その前に収集プログラムを停止してください。
DB2 ユーティリティーは変更をログに記録しないので、収集プログラムはそれらのいかなる変更も収集できません。
収集プログラムを開始する前に、2 つの環境変数を設定する必要があります。 以下のいずれかの機能を使用するときも、これらの変数を設定する必要があります。
環境変数を設定するには、以下のようにします。
SET DB2INSTANCE=db2_instance_name
収集プログラムは、開始すると、オペレーターが停止するか回復不能エラーが検出されるまで実行を続けます。
NT サービスを使って収集プログラムを開始するには、次のようにします。
また、NT コマンド行に STRTSERV と入力して複製サービスを開始することもできます。
DB2 コマンド・ウィンドウを使って収集プログラムを開始するには、次のようにします。
SET DB2INSTANCE=database_instance_name
収集プログラムの実行中に、収集プログラムを開始したディレクトリーの中に、 Database_instance_name Database_name>.CCP (Windows) または database_name.CCP (OS/2) という名前のファイルが作成されます。 このファイルは、収集プログラムが発行するメッセージのログ・ファイルです。 これらのメッセージは、トレース表にも記録されます。
>>-ASNCCP----+------------+---+--------+---+---------+----------> '-src_server-' +-WARM---+ +-PRUNE---+ +-WARMNS-+ '-NOPRUNE-' '-COLD---' >-----+---------+---+---------+---+----------+---+----------+---> +-NOTRACE-+ '-TRCFILE-' '-NOTRCTBL-' '-AUTOSTOP-' '-TRACE---' >-----+----------+---+-----------+---+---------+--------------->< '-LOGREUSE-' '-LOGSTDOUT-' +-ALLCHG--+ '-CHGONLY-'
表 30 は、呼び出しパラメーターを定義します。
表 30. Windows および OS/2 プラットフォームでの ASNCCP 呼び出しパラメーター定義
パラメーター | 定義 |
---|---|
src_server | ソース・サーバー名 (入力する場合) は最初のパラメーターでなければなりません。 指定しない場合、DB2DBDFT 環境変数からの値が使われます。 |
WARM (デフォルト) | ウォーム・スタート情報を入手できる場合、収集プログラムは、直前の実行の終了時点から処理を再開します。 収集プログラムは、ウォーム・スタートできない場合、コールド・スタートに切り替わります。 |
WARMNS | ウォーム・スタート情報を入手できる場合、収集プログラムは、直前の実行の終了時点から処理を再開します。 そうでない場合、メッセージを発行して終了します。 WARMNS を使うと、収集プログラムは自動的にコールド・スタートに切り替えません。収集プログラムは、トレース、UOW、CD、ウォーム・スタート表を元のままにしておきます。 エラーが発生した場合、収集プログラムは、warm が指定されているときのようにコールド・スタートに切り替わるのではなく、終了します。 |
COLD | 収集プログラムを起動すると、初期設定のときに CD 表、UOW 表、およびトレース表内のすべての列が削除されます。 これらの複製ソースに対するすべてのサブスクリプションは、変更適用プログラムの次回の処理サイクルで完全に最新表示されます。 ターゲットが不完全 CCD 表の場合、 全最新表示は行われません (ソース表とターゲット表の間のギャップの解決を参照してください)。 |
PRUNE (デフォルト) | 収集プログラムは、チューニング・パラメーター表で指定された間隔で、変更適用プログラムによりコピーされた CD および UOW 表の行を自動的に枝取りします。 さらに、ウォーム・スタート時にコピーされたものでなくても、 保存限度より古い CD および UOW 行を枝取りします。 |
NOPRUNE | 自動枝取りは使用不可になります。 収集プログラムは、PRUNE コマンドを入力した場合にのみ、 CD および UOW 表を枝取りします。 |
NOTRACE (デフォルト) | トレース情報は書き込まれません。 |
TRACE | トレース・メッセージを標準出力 stdout に書き込みます (TRCFILE も同時に指定した場合を除く)。 |
TRCFILE | trcfile と trace を両方指定すると、収集プログラムはトレース・ファイル (*.trc) にトレース出力を書き込みます。 このオプションを指定しない場合、収集プログラムはトレース出力を標準出力 stdout に送信します。 |
NOTRCTBL | 収集プログラム・メッセージは、トレース表にログ記録されません。 |
AUTOSTOP | 収集プログラムは、収集プログラムの開始前にログ記録されたすべてのトランザクションを収集すると終了します。 |
LOGREUSE | 収集プログラムは、ログ・ファイル (*.ccp) を再利用するために、まずそれを削除し、収集プログラムの再始動時にそれを再作成します。 このオプションを指定しない場合、収集プログラムは、再始動後もログ・ファイルにメッセージを追加します。 |
LOGSTDOUT | 収集プログラムは、すべてのメッセージを標準出力 (stdout) とログ・ファイルの両方に送信します。 |
ALLCHG (デフォルト) | ソース表の行に変更があるたびに、CD 表に項目を追加するよう指定します。 |
CHGONLY | 複製 (CD 表列) のために定義した列の値が変化した場合にだけ、 ソース表の行に変更が加えられたときに CD 表に項目を追加するよう指定します。 |
Windows の場合: 特定の時刻に収集プログラムを開始するには、AT コマンドを使用します。 AT コマンドを入力する場合は、その前に Windows スケジュール・サービスを開始している必要があります。 たとえば、次のコマンド・ストリングは 15:00 時 (3:00 p.m.) に収集プログラムを開始します。
c:\>AT 15:00 /interactive "c:\SQLLIB\BIN\db2cmd.exe c:\CAPTURE\asnccp.exe warmns"
OS/2 の場合: 特定の時刻に収集プログラム (OS/2 版) を開始するには、OS/2 プロダクティビティー・セットにあるアラーム・プログラムを使用します。
収集プログラムを規定どおりに停止して、その時点までに処理したログ・レコードをコミットするには、STOP コマンドを使用するか、キーの組み合わせを使用します。
既存の複製ソースを除去または修正するまえに、収集プログラムを停止してください。
Windows の場合: 収集プログラムを NT サービスとして開始した場合、 収集プログラムは ASNSERV から独立して実行されます。 ASNSERV を停止するには「NT サービス (NT Service)」ウィンドウで「複製 (Replication)」を選択してから、 「停止 (Stop)」押しボタンをクリックします。 しかし、これで収集プログラムを停止することはできません。 収集プログラムを停止するには、コマンド・ウィンドウで ASNCMD STOP コマンドを使用します。
Windows 版および OS/2 版: 収集プログラムを停止する前に、 環境変数を必ず設定するようにしてください (収集プログラム (Windows 版および OS/2 版) の環境変数の設定を参照してください)。 収集プログラムを停止するには、次のコマンドを入力します。
環境変数 DB2DBDFT を設定してある場合 (2 のステップを参照)
>>-ASNCMD--STOP------------------------------------------------><
環境変数 DB2DBDFT を設定していない場合
>>-ASNCMD--src_server--STOP------------------------------------><
SUSPEND コマンドは、ピーク時に収集プログラム環境を損なわずに、操作可能なトランザクションのためにオペレーティング・システム・リソースを解放します。 このコマンドは、RESUME コマンドが発行されるまで収集プログラムを延期します。
収集プログラムを延期する前に、 環境変数を必ず設定するようにしてください (収集プログラム (Windows 版および OS/2 版) の環境変数の設定を参照してください)。 収集プログラムを延期するには、次のコマンドを入力します。
環境変数 DB2DBDFT を設定してある場合 (2 のステップを参照)
>>-ASNCMD--SUSPEND---------------------------------------------><
環境変数 DB2DBDFT を設定していない場合
>>-ASNCMD--src_server--SUSPEND---------------------------------><
重要: 複製ソースを取り消すときは SUSPEND コマンドを使用しないでください。 代わりに、収集プログラムを停止してください。
SUSPEND コマンドを使って収集プログラムを延期した場合に、このプログラムを再始動するには RESUME コマンドを使用します。
収集プログラムを再開する前に、環境変数を必ず設定するようにしてください (収集プログラム (Windows 版および OS/2 版) の環境変数の設定を参照してください)。 収集プログラムを再開するには、次のコマンドを入力します。
環境変数 DB2DBDFT を設定してある場合 (2 のステップを参照)
>>-ASNCMD--RESUME----------------------------------------------><
環境変数 DB2DBDFT を設定していない場合
>>-ASNCMD--src_server--RESUME----------------------------------><
収集プログラムの実行中、複製ソースおよび CD 表に新しい複製ソースを追加するか、 ALTER ADD を使用して列を複製ソースに追加した場合に、 新しいソース表から変更を収集するには REINIT コマンドを使用します。 REINIT コマンドによって収集プログラムは、 新たに追加された複製ソースを登録表から取得するよう指示されます。
また REINIT は、チューニング・パラメーター表を再読み取りして、チューニング・パラメーターに変更が行われているかどうかも調べます。
収集プログラムを再初期設定する前に、 環境変数を必ず設定するようにしてください (収集プログラム (Windows 版および OS/2 版) の環境変数の設定を参照してください)。 収集プログラムを再初期設定するには、次のコマンドを入力します。
環境変数 DB2DBDFT を設定してある場合 (2 のステップを参照)
>>-ASNCMD--REINIT----------------------------------------------><
環境変数 DB2DBDFT を設定していない場合
>>-ASNCMD--src_server--REINIT----------------------------------><
重要: 収集プログラムの実行中、 複製ソースの取り消しまたは複製ソース表の除去を行った後の収集プログラムの再初期設定には REINIT コマンドを使用しないでください。 収集プログラムを停止してから、WARM または WARMNS オプションを付けて再始動してください。
CD および UOW 表の枝取りを実行するには、PRUNE コマンドを使います。
このコマンドは、表を一度だけ枝取りします。
変更データおよび作業単位表を枝取りする前に、 環境変数を必ず設定するようにしてください (収集プログラム (Windows 版および OS/2 版) の環境変数の設定を参照してください)。 表の枝取りを始めるには、次のようにコマンドを入力します。
環境変数 DB2DBDFT を設定してある場合 (2 のステップを参照)
>>-ASNCMD--PRUNE-----------------------------------------------><
環境変数 DB2DBDFT を設定していない場合
>>-ASNCMD--src_server--PRUNE-----------------------------------><
このコマンドが正常に待ち行列に入れられると、収集プログラムはメッセージ ASN0124I を発行します。
枝取り中に収集プログラムを停止または延期した場合、 枝取りを再開するには再度 PRUNE コマンドを入力する必要があります。 RESUME コマンドを入力しても、枝取りは再開されません。
GETLSEQ コマンドは、 現行のログ順序番号とタイム・スタンプを取得します。 この情報を使って、収集プログラムがどこまで DB2 ログを読み取ったかを判別できます。
収集済みログ進行状況を表示する前に、 環境変数を必ず設定するようにしてください (収集プログラム (Windows 版および OS/2 版) の環境変数の設定を参照してください)。 収集済みログ進行状況を表示するには、 次のようにコマンドを入力します。
環境変数 DB2DBDFT を設定してある場合 (2 のステップを参照)
>>-ASNCMD--GETLSEQ---------------------------------------------><
環境変数 DB2DBDFT を設定していない場合
>>-ASNCMD--src_server--GETLSEQ---------------------------------><
ヒント: | DB2 UDB Find Log Sequence Number コマンド (DB2FLSN) を使用して、 ログ順序番号に関連付けられた物理ログ・ファイルを識別することができます。 この番号を使って、収集プログラムで必要なくなったログ・ファイルを削除またはアーカイブすることができます。 詳細については、DB2 ユニバーサル・データベース コマンド解説書 を参照してください。 |
管理担当者は、以降に記載されているコマンドを使うことによって、変更適用プログラムに関する以下の作業を実行することができます。
変更適用プログラムを開始する前に、次のことを確認してください。
変更適用を開始した後は、次のような時点まで実行が続けられます。
NT サービスを使って変更適用を開始するには、次のようにします。
また、Windows NT コマンド行に STRTSERV と入力して複製サービスを開始することもできます。
変更適用プログラムを Windows または OS/2 プラットフォームで開始するには、 次のようにします。
Windows または OS/2 ウィンドウから以下のステップを実行します。
SET DB2INSTANCE=db2_instance_name
>>-ASNAPPLY--Apl_qual----+-----------+---+-----------+----------> '-Ctrl_serv-' +-LOADXit---+ '-NOLOADXit-' >-----+----------+---+---------+---+---------+---+----------+---> +-INAMsg---+ +-NOTRC---+ '-TRCFILE-' +-NOTIFY---+ '-NOINAMsg-' +-TRCERR--+ '-NONOTIFY-' '-TRCFLOW-' >-----+---------+---+------------+---+----------+---------------> +-SLEEP---+ +-DELAY(n)---+ '-COPYONCE-' '-NOSLEEP-' '-ERRWAIT(n)-' >-----+----------+---+-----------+---+----------+-------------->< '-LOGREUSE-' '-LOGSTDOUT-' '-TRLREUSE-'
表 31 は、呼び出しパラメーターを定義します。
表 31. Windows および OS/2 プラットフォームでの ASNAPPLY 呼び出しパラメーター定義
パラメーター | 定義 |
---|---|
Apl_qual | 変更適用プログラム・インスタンスが、 処理されるサブスクリプション・セットを識別するのに使用する変更適用修飾子を指定します。 変更適用修飾子は、大文字小文字が区別され、さらにサブスクリプション・セット表の APPLY_QUAL の値と一致しなければなりません。 これは、最初のパラメーターでなければなりません。 |
Ctrl_serv | 複製制御表が常駐するサーバーの名前を指定します。 このパラメーターを指定しない場合のデフォルトは、デフォルト・データベースまたは DB2DBDFT の値です。 |
LOADXit | 変更適用プログラムが ASNLOAD を呼び出すように指定します。ASNLOAD は、ターゲット表を最新表示するためにエクスポートおよびロード・ユーティリティーを使う IBM 提供の出口ルーチンです。 |
NOLOADXit (デフォルト) | 変更適用プログラムは ASNLOAD を呼び出さないことを指定します。 |
INAMsg (デフォルト) | 変更適用プログラムが非活動化されるとき、このプログラムからメッセージが発行されることを指定します。 |
NOINAMsg | 変更適用プログラムはこのメッセージを発行しないことを指定します。 |
NOTRC (デフォルト) | 変更適用プログラムはトレースを生成しないことを指定します。 |
TRCERR | エラー情報のみを含んだトレースを変更適用プログラムが生成することを指定します。 |
TRCFLOW | エラーおよび実行の流れの情報を両方含んだトレースを変更適用プログラムが生成することを指定します。 |
TRCFILE | trcfile と trace を両方指定すると、変更適用プログラムはトレース・ファイル (*.trc) にトレース出力を書き込みます。このオプションを指定しない場合、変更適用プログラムはトレース出力を標準出力 stdout に送信します。 |
NOTIFY | 変更適用プログラムは ASNDONE を呼び出すことを指定します。ASNDONE は、 変更適用プログラムがサブスクリプション・セットをコピーし終えてから制御をユーザーに戻すための出口ルーチンです。 |
NONOTIFY (デフォルト) | 変更適用プログラムは ASNDONE を呼び出さないことを指定します。 |
SLEEP (デフォルト) | 処理に適する新しいサブスクリプション・セットがない場合に、変更適用プログラムがスリープ状態に入ることを指定します。 |
NOSLEEP | 処理に適する新しいサブスクリプション・セットがない場合に、変更適用プログラムが停止することを指定します。 |
DELAY(n) | 連続複製が使用される場合に、 それぞれの変更適用サイクルの終わりにおける遅延時間 (秒単位) を指定します。 n は、0、1、2、3、4、5、または 6 です。 デフォルトの遅延時間は 6 秒です。 |
ERRWAIT(n) | 変更適用プログラムがエラー状態になってから再試行するまでに待機する秒数を指定します。 ここで、n は秒数です。 変更適用プログラムは、ほとんど切れ目なく稼働して、変更適用追跡表に多数の行を生成するため、 指定する数が小さすぎないようにしてください。 デフォルトの待ち時間は 300 秒 (5 分) です。 |
COPYONCE | 変更適用プログラムは、
呼びだされた時点で適格なサブスクリプション・セットごとに 1 つのコピー・サイクルを実行し、
それから終了します。
適格なサブスクリプション・セットとは、以下の条件を満たすものです。
|
LOGREUSE | 変更適用プログラムは、ログ・ファイル (*.app) を再利用するために、まずそれを削除し、変更適用プログラムの再始動時にそれを再作成します。 このオプションを指定しない場合、変更適用プログラムは、再始動後もログ・ファイルにメッセージを追加します。 |
LOGSTDOUT | 変更適用プログラムは、すべてのメッセージを標準出力 (stdout) とログ・ファイルの両方に送信します。 |
TRLREUSE | 変更適用プログラムは、変更適用プログラムの開始時に適用追跡表を空にします。 |
Windows の場合: 特定の時刻に変更適用プログラムを開始するには、Windows の AT コマンドを使用します。 AT コマンドを入力する場合は、その前に Windows スケジュール・サービスを開始している必要があります。 たとえば、次のコマンド・ストリングは 15:00 時 (3:00 p.m.) に変更適用プログラムを開始します。
c:\>AT 15:00 /interactive "c:\SQLLIB\BIN\db2cmd.exe c:\SQLLIB\BIN\asnapply.exe qualid1 cntldb"
OS/2 の場合: 特定の時刻に変更適用プログラムを開始するには、OS/2 プロダクティビティー・セットにあるアラーム・プログラムを使用します。
変更適用プログラムを規定どおりに停止するには、ASNASTOP コマンドを使用するか、キーの組み合わせを使用します。
変更適用プログラムを停止するには、 変更適用プログラムを実行中のウィンドウとは別のウィンドウから、 次のステップを実行します。
>>-ASNASTOP--Apply_qualifier-----------------------------------><
Windows 32 ビット・オペレーティング・システムでは、 ASNSAT コマンドを使用してオンデマンドの複製ができます。 このコマンドは、変更適用プログラムを開始し、 登録表に行がある場合は、さらに収集プログラムも開始します。 (変更適用のみを開始するか、収集のみを開始するか、 それとも両方を開始するかは選択できません。) 収集プログラムは、ASNSAT によって開始される場合、 変更適用プログラムと同じサーバーで実行されます。 各プログラムは、複製のサイクルで自分が果たすべき役割を終えると、 自動的に終了します。
このコマンドの、収集および変更適用オプション・パラメーターは、 サテライト環境用に最適化されています。 ASNSAT コマンドをサテライト環境で使用するための詳細については、 サテライト管理 手引きおよび解説書 を参照してください。 コマンドを非サテライト環境で使用する場合は、 収集および変更適用プログラムのオプション・パラメーターを上書きできます。
ASNSAT コマンドの構文は次のとおりです。
>>-ASNSAT----+------------------+---+----------------+----------> '- -q--apply_qual--' '- -n--cntl_srv--' >-----+----------------+----------------------------------------> '- -t--trgt_srv--' >-----+-----------------------------------------+---------------> | .-------------------------------. | | V | | '- -c-----optional Capture parameter---+--' >-----+---------------------------------------+---------------->< | .-----------------------------. | | V | | '- -a-----optional Apply parameter---+--'
表 32. ASNSAT のオプションおよび呼び出しパラメーターの定義 (Windows 32 ビット・オペレーティング・システムのみ)
オプション | 定義 |
---|---|
-q apply_qual | 変更適用プログラム・インスタンスが、処理されるサブスクリプションを識別するのに使用する変更適用修飾子を指定します。 変更適用修飾子は、大文字小文字が区別され、さらにサブスクリプション・セット表の APPLY_QUAL 列の値と一致しなければなりません。 これは、最初のパラメーターでなければなりません。 |
-n cntl_serv | 複製制御表が常駐するサーバーの名前を指定します。 このパラメーターを指定しない場合のデフォルトは、デフォルト・データベースまたは DB2DBDFT の値です。 |
-t trgt_serv | ターゲット表が常駐するサーバーの名前を指定します。 |
-c | 収集プログラムのオプションの呼び出しパラメーターを指定します。 このオプションを指定しないと、 ASNSAT コマンドはデフォルト(warm、prune、notrace、 logreuse、logstdout、trcfile、notrctbl、および autostop) を使用します。 |
-a | 変更適用プログラムのオプションの呼び出しパラメーターを指定します。 このオプションを指定しないと、 ASNSAT コマンドはデフォルト (noinam、 notrc、 nonotify、 logreuse、 logstdout、 trcfile、 trlreuse、 copyonce、 loadx) を使用します。 |
収集および変更適用パラメーターの詳細については、 表 30 および 表 31 をそれぞれ参照してください。
DataPropagator for Microsoft Jetは、不定期接続 LAN 内の Microsoft Access や Microsoft Jet データベース、 およびモービル環境をサポートします。 特別なプログラミングを行わなくても、サーバー・データを Microsoft Access の表に複製して、表示と更新の両方を行うことができます。
DataPropagator for Microsoft Jet は、収集機能と変更適用機能の両方を含み、管理機能の一部を含む、単一の実行機能です。 DataPropagator for Microsoft Jet は、Microsoft Windows NT または Windows 95 の下のクライアント・マシン上で実行し、 DB2 クライアント・アプリケーション・イネーブラー (CAE) を介してソース・データベースにアクセスします。 DataPropagator for Microsoft Jet は、 DB2 DataJoiner バージョン 2 リリース 2.1.1 の一部としてパッケージされますが (このソフトウェアを使用するために DB2 DataJoiner サーバーをインストールする必要はありません)、 DB2 ユニバーサル・データベース (DB2 UDB)、DB2 Common Server V2、および DB2 コネクトで実行することもできます。 DataPropagator for Microsoft Jet は、制御点で DataJoiner 複製管理ツール (DJRA) を必要とします。
DataPropagator for Microsoft Jet は、Microsoft Jet データベースとの間でリレーショナル表を複製し、(Microsoft Jet 複製モデルを使用して) すべての更新対立を検出して記録します。 ソース・サーバー は、DB2 DataJoiner によって定義された DB2 または非 DB2 複製ソースのどちらでも可能です。 制御サーバー は、DB2 または DB2 DataJoiner データベースでなければなりません。
図 22 では、DataPropagator for Microsoft Jet が Microsoft Access および Microsoft Jet データベースの複製をサポートする方法を図示します。
図 22. Microsoft Jet データベース複製. DataPropagator for Microsoft Jet は、Microsoft Access および Microsoft Jet データベースをサポートすることによって IBM のデータ複製ソリューションを拡張します。
![]() |
大きな共同データベースから複製されたサブセット がある小さい DBMS では、 サービス担当員およびモービル技術者は、サーバー・ネットワークから切断されていても有意義なデスクトップ・アプリケーションを実行することができます。 これらのユーザーは、デスクトップ・データベース、電子メール、およびメッセージ・サービスを同期するのに必要な時間だけ、その共同ネットワークに時々接続します。 サブセットの詳細については、列および行のサブセット化を参照してください。
DataPropagator for Microsoft Jet 管理では、管理のために Microsoft Jet データベースに直接接続することは必要ありません。 DJRA は、制御サーバー・データベース内に制御情報を保守します。 ラップトップ上で実行している DataPropagator for Microsoft Jet は、Microsoft Jet データベース、表、および追加の列を作成し、サーバー内の制御情報の現行状態に基づいて表および古い列を除去することができます。 Microsoft Jet アプリケーションを展開するには、アプリケーション、データベース、および複製ソフトウェアは、ラップトップ・コンピューターを分散する前にインストールしておかなければなりません。 ただし、Microsoft Jet データベースは事前に作成しておく必要がありません。
DataPropagator for Microsoft Jet による非同期処理のラップトップを分散させる前でも後でも、DJRA ツールを使用すれば、 いつでも Microsoft Jet データベース用の複製ソースおよびサブスクリプション定義を定義または再定義することができます。
ラップトップに問題がある場合、単に Jet データベースを削除し、DataPropagator for Microsoft Jet を使って再同期することによって、Microsoft Jet データベース、表、および内容を再作成することができます。 DataPropagator for Microsoft Jet は、データベースを自動的に再作成することができます。
モービル複製に関する使用法シナリオの詳細については、不定期接続を参照してください。
DB2 データベースのネットワーク内では、DB2 DataPropagator は、トランザクション対立を検出できる 随時更新 モデルをサポートします。 DataPropagator for Microsoft Jet は、weaker 行対立検出 (標準 Microsoft Jet モデルに類似) を除く、随時更新モデルをサポートします。 DataPropagator for Microsoft Jet の使用を選択する場合、標準 Microsoft Jet 複製モデルに精通しており、その使い方に慣れている必要があります。
DataPropagator for Microsoft Jet は、組み込み Microsoft Jet 複製機能と非常に類似した方法で、対立表 で同期対立を報告します。 このプロセスにより、更新されない可能性が生じます。 たとえば、ラップトップ上で DB2 ユニバーサル・データベース・サーバーの単一ユーザー・バージョンを使用する場合、 アプリケーションは、共同サーバーと同期するときに、成功かまったくの失敗かというトランザクションのセマンティクスが保証されます。 ただし、モービル・データベースとして Microsoft Jet を使用する場合、同期対立は、行単位で処理されるために、更新されない可能性があります。 したがって、ある更新は、対立しているとしてフラグが付けられますが、別の更新は、共同データベースに伝搬することがあります。 この状態が許容されない場合、すべての潜在的な対立についての解決方法を自分でプログラミングする必要があります。 DataPropagator for Microsoft Jet が対立エラーを処理する方法の詳細については、エラー回復を参照してください。 自分で解決方法をプログラミングする方法については、該当する Microsoft 資料を参照してください。
以下の用語は、Microsoft Jet データベース複製に関係する複製概念を表しています。 一般の複製用語の定義については、用語集を参照してください。
複製環境を整えるには、複製ソース、制御サーバー、およびクライアント環境を準備する必要があります。 以下の項では、複製環境を準備する方法について解説します。
DataPropagator for Microsoft Jet を使うためにサーバーを準備することは、DB2 DataPropagator の準備と似ています。 サーバーを準備するには、次のようにします。
クライアントを準備するには、以下のソフトウェアをインストールします (インストール済みでない場合)。
ソースまたは制御サーバーが認証を必要としているなら、パスワード・ファイルを作成してください。
パスワード・ファイルを作成するには、次のようにします。
パスワード・ファイルは以下の基準にかなっている必要があります。
ここで APPLY_QUAL は変更適用修飾子 (大文字) を表します。 変更適用修飾子の値は、サブスクリプション・セットを定義するときに指定します。
例: DATADIR.PWD
ここで DATADIR は、制御サーバーで定義されているサブスクリプション・セットの変更適用修飾子です。
SERVER=server_name PWD=password USER=userid
ファイルには、ブランク行またはコメント行を含めることはできません。
認証と機密保護の詳細については、DataJoiner Administration Supplement を参照してください。
ここで示されているコマンドを使用して、DataPropagator for Microsoft Jet を操作することができます。
ここでは、以下の作業の実行方法について説明します。
DataPropagator for Microsoft Jet を開始する前に、各 DB2 ソース・サーバー上で収集プログラムを開始しなければなりません (該当する場合)。
DataPropagator for Microsoft Jet を開始する前に、必要な回線または LAN 接続を確立しなければなりません。 DataPropagator for Microsoft Jet は電話接続を直接管理しません。したがって、手動でサーバーをダイヤルアップするか、 または自動ダイヤルを行うソフトウェアを使用して、DataPropagator for Microsoft Jet を呼び出してデータベース同期を実行する前に接続を確立する必要があります。
DataPropagator for Microsoft Jet を開始するには、ASNJET コマンドを使用します。 コマンド・プロンプトから ASNJET コマンドを入力してください。
>>-ASNJET--apply_qual--ctrl_srvr----+----------+---+---------+--> +-INAMSG---+ +-NOTRC---+ '-NOINAMSG-' +-TRCERR--+ '-TRCFLOW-' >-----+----------+---+----------+------------------------------>< +-NOTIFY---+ +-MOBILE---+ '-NONOTIFY-' '-NOMOBILE-'
表 33 は、パラメーターを定義します。
表 33. ASNJET コマンド・パラメーター定義 (DataPropagator for Microsoft Jet 用)
例 1: DataPropagator for Microsoft Jet は変更適用修飾子 MYQUAL とともに呼び出され、制御サーバーは CNTLSRVR であり、 非活動メッセージは生成されず、トレースは生成されず、ASNJDONE 出口ルーチンは呼び出されず、活動状態のサブスクリプションは 1 回だけコピーされ、それからプログラムは終了します。
ASNJET MYQUAL CNTLSRVR MOBILE
例 2: コマンド・プロンプトに次のコマンドを入力すると、DataPropagator for Microsoft Jet は変更適用修飾子 AQ2 とともに呼び出され、制御サーバーは CNTLSRV であり、 拡張トレースが生成され、プログラムは ASNJSTOP コマンドを使って停止されるまで継続的に実行します。
ASNJET AQ2 CNTLSRV TRCFLOW NOMOBILE
MOBILE オプションを使って DataPropagator for Microsoft Jet を開始する場合、DataPropagator for Microsoft Jet は、活動状態のすべてのサブスクリプションが処理されるまで実行し、それから終了します。 DataPropagator for Microsoft Jet を停止する場合、ASNJSTOP コマンドを使用すると、 現行のサブスクリプション・セットがコピーされてその時点までに処理されたログ・レコードをコミットするとすぐに、正常な仕方でプログラムを停止することができます。
以下のコマンドを使って、DataPropagator for Microsoft Jet を停止します。 コマンド・プロンプトから ASNJSTOP コマンドを入力してください。
>>-ASNJSTOP--apply_qual----------------------------------------><
ここで apply_qual は、ASNJET コマンドを使って DataPropagator for Microsoft Jet を開始したときに使用した変更適用修飾子です。
例: コマンド・プロンプトから次のコマンドを入力すると、DataPropagator for Microsoft Jet は、現行のサブスクリプション・セットが処理された直後に変更適用修飾子 MQUAL の処理を停止します。
ASNJSTOP MYQUAL
DataPropagator for Microsoft Jet を停止させるためにプログラムが実行しているウィンドウで、以下のキーの組み合わせの 1 つを使用することもできます。
ASNJET の実行時にエラーが発生する場合には、以下のことを確認してください。
エラー・メッセージ情報については、収集プログラムと変更適用プログラムのメッセージを参照してください。 トラブルシューティングの詳細については、トラブルシューティング (Troubleshooting)を参照してください。
ASNJET コマンドを使って DataPropagator for Microsoft Jet を開始するときに NOTIFY パラメーターを指定すると、成功または失敗のどちらであるかに関係なく、DataPropagator for Microsoft Jet は、 各サブスクリプション・セットの完了時に出口ルーチン ASNJDONE を呼び出します。 ASNJDONE.SMP は、製品に付属のサンプル・プログラムです。 これは使用する導入システムの要件に合うように変更できます。 たとえば、出口ルーチンは、エラー表を検査して、拒否された更新を検出し、メッセージの発行やアラートの生成などのアクションをさらに始動することができます。
このサンプルを修正する方法の詳細については、サンプル出口ルーチン ASNJDONE.SMP の冒頭の項を参照してください。
DataPropagator for Microsoft Jet が ASNJDONE に渡すパラメーターは、以下のとおりです。
DataPropagator for Microsoft Jet が ASNJDONE に渡す状況値が -1 の場合、対立またはエラーが報告された可能性があります。 エラー・メッセージ表内のエラー・コードおよびメッセージを調べるために、出口ルーチンを設定することができます。 (エラー・メッセージ表内には複数の行がある場合もあります。)
DataPropagator for Microsoft Jet が RDBMS ソースと行レプリカ・ターゲット表との間に更新対立を検出する場合、以下のように ASNJDONE 出口ルーチンに関する追加情報を保管します。
参照保全検査などのその他のエラーの場合、DataPropagator for Microsoft Jet は、(該当すれば) エラー情報表内に追加情報を入れ、行レプリカ表およびエラーの発生の原因となった行を識別します。
出口ルーチンは、この情報を使用して修正処置をとることができます。 出口ルーチンが戻る場合、状況はサブスクリプション・セット表内で -1 のままです。 DataPropagator for Microsoft Jet は、出口ルーチンから出力または戻りコードを予期しません。
DataPropagator for Microsoft Jet は、既存の DB2 DataPropagator 制御表に加え、以下の新しい制御表を必要とします。 これらの新しい制御表の列および索引定義の詳細については、表の構造を参照してください。