複製が失敗したり、予期しない方法で実行されたりする場合、 問題の原因を判別して、その問題を修正する解決方法を見つける必要があります。 DB2 DataPropagator には、問題判別作業の助けとして、 エラー・メッセージ、トレース・レコード、ログ・レコード、 および制御表に保管された情報が準備されています。 製品が提供する情報を使用して自分で問題を修正できることもありますが、 IBM ソフトウェア・サポートに連絡して解決を図るのが最善の場合もあります。 この章の内容は、以下のとおりです。
本書には、問題を判別する上で助けになる他の情報源も含まれています。
推奨事項: 問題判別機能を使用して複製のシナリオをテストまたはデバッグする場合は、 次の点に注意してください。
以下に示すシナリオは、 この章に説明のある機能を使って複製エラーをトレースする方法について示したものです。
複製ソースとサブスクリプション・セットを定義した後、 複製要求の SQL ステートメントが正常に終了したものの、 変更適用プログラムがそのデータを正常に複製しないとします。 この場合、エラーを判別するには、次のようにします。
DB2 コントロール・センターまたは DJRA は、ソース・サーバー、ターゲット・サーバー、 または制御サーバーから情報を収集して管理用の SQL ステートメントを作成するときや、 実際にその SQL ステートメントを実行して複製ソースとサブスクリプション・セットをセットアップするときに、 エラーを検出することがあります。 主要な標識は、エラーに付随する SQL メッセージ、SQLSTATE コード、 および収集および変更適用プログラムのエラー・メッセージ (ASN という文字で始まる) です。 DB2 エラー・メッセージおよび SQL 状態については、DB2 ユニバーサル・データベース・メッセージ解説書 (またはご使用のプラットフォームに応じた DB2 メッセージ解説書) を参照してください。 ASN メッセージについては、 収集プログラムと変更適用プログラムのメッセージおよび AS/400 の場合の複製のメッセージでも説明されています。
収集および変更適用プログラムのメッセージは、 次のようなところで発行され記録されます。
複製ソースおよびサブスクリプションの定義のために DB2 コントロール・センターまたは DJRA が生成した SQL がエラーなしに実行されても、 変更データの収集と複製の際に収集プログラムと変更適用プログラムが問題を検出することがあります。 そのようなエラーの原因は、変更適用プログラムの問題判別、収集プログラムの問題判別、 および トラブルシューティング (Troubleshooting)の各節で調べることができます。
DB2 には、変更適用プログラム用の以下の問題判別ツールが備わっています。
変更適用プログラムはサブスクリプション・セットの複製を試行するたびに、 適用追跡表 (ASN.IBMSNAP_APPLYTRAIL) に新しい行を挿入します。 この表は、他の制御表と同様、各制御サーバーに置かれ、 正常なサブスクリプション・サイクル、 または異常なサブスクリプション・サイクルごとに 1 行が割り当てられます。 変更適用プログラムはこの表にデータを追加するので、 この表を定期的に枝取りしてください。 適用追跡表については、適用追跡表を参照してください。
サブスクリプション・セットが正常に複製されない場合、 適用追跡表はその SQL コードと SQLSTATE を記録します。 問題に関連するその他の SQL コードと SQL 状態は、 変更適用プログラムのトレース・ファイルに入っています。
適用追跡表から問題判別情報を照会するには、 以下のようにします。
複製アナライザーを使用して、 この表の情報を表示します。複製アナライザーの使用を参照してください。 適用追跡表にある情報を直接照会して、 失敗したサブスクリプション・セットの問題判別情報を収集することもできます。
SELECT TARGET_TABLE, STATUS, SQLSTATE, SQLCODE, SQLERRM, APPERRM, LASTRUN, LASTSUCCESS FROM ASN.IBMSNAP_APPLYTRAIL WHERE STATUS <> 0 ORDER BY TARGET_TABLE, LASTRUN DESC, SQLCODE DESC, SQLSTATE ASC
この照会は、適用追跡表から以下の列を戻します。
ある種の複製エラーを引き起こす原因を特定するための助けとして、 変更適用プログラムのオペレーションを追跡することができます。 変更適用プログラムは、 変更適用プログラムの開始コマンドにトレース・パラメーターが含まれている場合にトレース・ファイルを作成します。 コマンドの構文については、 操作の中の、 各プラットフォームに対応する「収集プログラムおよび変更適用プログラム」の章を参照してください。
変更適用プログラムは、その活動を追跡しながら、 トレース・ファイルにある以下の種類の情報を記録します。
変更適用プログラムは、エラーを検出した時点でエラー・メッセージと標識をトレース・ファイルに挿入します。
トレース・ファイルを作成するには、以下のようにします。
トレース・パラメーターを指定する場合には、 トレース・ファイル名も指定する必要があります (ワークステーションのシステムの場合は、 トレース・ファイル名の前により大きい記号 (>) を付けて、 ファイルに出力をリダイレクトします)。 たとえば、トレース機能をオンにして変更適用プログラム (Windows 版) を開始するには、 コマンド行から次のコマンドを発行します。
asnapply ApplyQual CtlSrvr trcflow > apply.trc
ここで、ApplyQual は変更適用修飾子、 CtlSrvr は制御サーバー、 apply.trc はトレース・ファイルです。 トレース・ファイルは、変更適用プログラムを開始するディレクトリーに作成されます。
変更適用プログラムの活動の概略を知るため、変更適用プログラムのログ・ファイルを調べることができます。 ログ・ファイルは、変更適用プログラムを開始するディレクトリーにあります。 このファイルには、変更適用プログラムが出すメッセージが入っています。 変更適用プログラムのログ・ファイルにある情報は高水準のものであるため、 多くの場合、適用追跡表を使ってもっと詳細な情報を調べることになります。
ログ・ファイルの名前は ApplyQual.APP です。ここで、 ApplyQual は変更適用プログラムのインスタンスに関連付けられている変更適用修飾子です。
DB2 には、収集プログラム用の以下の問題判別ツールが備わっています。
この節では、AS/400、OS/390、VM、 および VSE などのオペレーティング・システムで動作する収集プログラムの問題判別についても説明します。
収集プログラムは、メッセージを発行する対象となるイベントが生じると、 トレース表 (ASN.IBMSNAP_TRACE) に新しい行を挿入します。 この表は、ソース・サーバーに置かれ、 収集プログラムの活動に関する基本情報が入れられます。 トレース表については、トレース表を参照してください。
問題判別情報のトレース表を照会するには、 以下のようにします。
複製アナライザーを使用して、 この表の情報を表示します。複製アナライザーの使用を参照してください。 トレース表にある情報を直接照会して、 収集プログラムの問題判別情報を収集することもできます。
SELECT * FROM ASN.IBMSNAP_TRACE ORDER BY TRACE_TIME
この照会は、トレース表から以下の列を戻します。
AS/400 システムの場合、この表には以下の列も入っています。
ある種の複製エラーを引き起こす原因を特定するための助けとして、 収集プログラムのオペレーションを追跡することができます。 収集プログラムは、 収集プログラムの開始コマンドにトレース・パラメーターが含まれている場合にトレース・ファイルを作成します。 コマンドの構文については、 操作の中の、 各プラットフォームに対応する「収集プログラムおよび変更適用プログラム」の章を参照してください。
収集プログラムは、エラーを検出した時点でエラー・メッセージと標識をトレース・ファイルに挿入します。
AS/400 システムで問題をトレースするには、 制御およびジャーナル・ジョブのジョブ・ログを見てください。 詳しい情報については、 AS/400 の問題判別を参照してください。
トレース・ファイルを作成するには、以下のようにします。
asnccp SrcSrvr trace > capture.trc
ここで、SrcSrvr はソース・サーバーであり、 capture.trc はトレース・ファイルです。 上記のコマンドには、開始の種類 (WARM、WARMNS、 または COLD) または枝取りの種類 (PRUNE または NOPRUNE) のパラメーターが指定されていないため、 収集プログラムは省略時値 (WARM および PRUNE) を使用します。 トレース・ファイルは、 収集プログラムを開始するディレクトリーに作成されます。
収集プログラムの活動の概略を知るため、収集プログラムのログ・ファイルを調べることができます。 ログ・ファイルは、収集プログラムを開始するディレクトリーにあります。 このファイルには、収集プログラムが出すメッセージが入っています。
ログ・ファイルの名前は SrcSrvr.CPP です。 ここで、SrcSrvr はソース・サーバーの名前です。
OS/390、VM、および VSE 版の収集プログラムには以下のツールが準備されています。
SYSPRINT (OS/390 の場合)
コンソール (VM の場合)
STDOUT (VSE の場合)
OS/390 の場合、収集プログラムには以下のものも備わっています。
収集プログラム (AS/400 版) は主要入力ソースとしてジャーナルとジャーナル・レシーバーに依存しているため、その問題判別機能は独自のものです。 この節では、収集プログラム (AS/400 版) の問題判別機能、 および関連する問題回復方法 (アクティブなジョブに関する情報の収集、 ジャーナル・ジョブが開始しているかどうかの判別、 および問題判別に使用するデータの収集など) について説明します。
問題判別を行う上での最初のステップの 1 つは、 現在アクティブなジョブに関する情報を集めることです。 投入されたジョブの処理コマンド (WRKSBSJOB QZSNDPR) を発行して、 サブシステム内のアクティブなジョブのリストを入手します。 特定のジョブがみつからない場合は、 WRKSBMJOB コマンドを使ってそのジョブのジョブ・ログを検索し、 それを表示してください。 収集プログラム制御ジョブの名前は QZSNCTL5 です。 ジャーナル・ジョブの名前は、ジャーナル名と同じです (SQL コレクションのデフォルトのジャーナル名である QSQJRN か、ジャーナルのために指定した名前)。
後の問題判別プロセスで必要になることがあるので、 6 桁のジョブ番号を記録しておきます。
収集プログラムの開始後 5 分以上たってから、 1 つのジョブ (QDPRCTL5) しか実行していないことに気付いた場合には、 以下の条件を検査してください。
最初の STRDPRCAP コマンドを発行した時点では、 第 1 の条件は満たしていても第 2 の条件を満たさない複製ペアがあるかもしれません。 ジャーナル・ジョブが開始するには、両方の条件が満たされる必要があります。
2 分ごとに (または STRDPRCAP の WAIT パラメーターで指定した頻度で)、 両方の条件を満たす複製ソースが存在しているかどうかを調べるために QZSNCTL5 ジョブが働きます。 複製に適した複製ソースを見つけると、 このジョブはジャーナル・ジョブを開始します。
特定の複製ペアに対応する枝取り制御表の SYNCHPOINT 列が、 16 進数の 0 に設定されているかどうかを判別するには、 ソース・サーバーから以下の SQL ステートメントを実行します。
SELECT HEX(SYNCHPOINT) FROM ASN/IBMSNAP_PRUNCNTL WHERE SOURCE_TABLE='SrcTbl' AND SOURCE_OWNER='SrcOwn' AND SOURCE_VIEW_QUAL=SrcVwQual
ここで SrcTbl はライブラリー名、SrcOwn は表名、 そして SrcVwQual は問題の複製ソースのソース側での修飾子です。 SrcTbl と SrcOwn には、 両方とも大文字小文字の区別があります。
収集プログラムの問題判別には、以下の項目が必要です。 重要性の高い順に項目を示します。
SELECT DBXFIL FROM QSYS/QADBXREF WHERE DBXLFI = 'sqlname' AND DBXLIB = 'lib'
ここで、sqlname は、CD 表の SQL 名です。 sqlname と lib には、 両方とも大文字小文字の区別があります。
DMPOBJ QDPR/QZSNINDEX5 *USRIDX
SELECT A.*, HEX(CD_OLD_SYNCHPOINT), HEX(CD_NEW_SYNCHPOINT) FROM ASN/IBMSNAP_REGISTER A WHERE SOURCE_OWNER='SrcOwn' AND SOURCE_TABLE='SrcTbl' SELECT * FROM ASN.IBMSNAP_REG_EXT WHERE SOURCE_OWNER='SrcOwn' AND SOURCE_TABLE='SrcTbl'
SrcOwn はライブラリー名、SrcTbl は問題となっている複製ソースの表名です。 SrcOwn と SrcTbl には、 両方とも大文字小文字の区別があります。
SELECT A.*, HEX(SYNCHPOINT) FROM ASN/IBMSNAP_REGISTER A WHERE GLOBAL_RECORD = 'Y'
SELECT * FROM ASN/IBMSNAP_TRACE WHERE SUBSTR(JOB_NAME, 21, 6) = 'jobnum' ORDER BY TRACE_TIME
ここで、jobnum は調べるジョブのジョブ番号です。 DESCRIPTION 列には、ジョブに関する重要な情報が示されます。
例:
2000 年 3 月 31 日午前 7 時以降のトレース表の項目を収集するには、 以下の照会を実行します。
SELECT * FROM ASN/IBMSNAP_TRACE WHERE TRACE_TIME > '2000-03-31-07.00.00.000000' ORDER BY TRACE_TIME
2000 年 3 月 31 日午前 7 時以降のすべての ASN0303 (データ収集中断) トレース表の項目を収集するには、 以下の照会を実行します。
SELECT * FROM ASN/IBMSNAP_TRACE WHERE TRACE_TIME > '2000-03-31-07.00.00.000000' AND SUBSTR(DESCRIPTION, 1, 7) = 'ASN0303' ORDER BY TRACE_TIME
SELECT * FROM ASN/IBMSNAP_WARM_START WHERE JRN_LIB='JLib' AND JRN_NAME='JName'
JLib はライブラリー名、JName はジャーナルの表名です。 JLib と JName には、 両方とも大文字小文字の区別があります。
DMPOBJ QDPR/QDPRxxxxxx *USRSPC
複製アナライザーは、複製制御表、変更データ表、ターゲット表、 およびターゲット表の索引の正確性、整合性、および効率を分析します。 また、 データベース・パラメーターが最大の複製パフォーマンスを得られるものとなっているかどうかも検査します。 複製アナライザーは、 収集プログラムや変更適用プログラムの動作を分析するために使用することができます。 これにより、「収集プログラムが収集を実行しないのはなぜか」、 「変更適用プログラムが変更適用を実行しないのはなぜか」といった質問の回答が得られます。 複製アナライザーは、診断プログラムを支援したり、複製セットアップを検証したり、 パフォーマンスのチューニングに役立つ提案を示したりできます。
複製の設定が終了してから複製アナライザーを実行して、 収集プログラムや変更適用プログラムの障害を分析することもできますし、 単に設定を検査することもできます。 複製アナライザーは \sqllib\bin ディレクトリーにあります。 アナライザーのバインド・ファイル (analyze.bnd) は \sqllib\bnd ディレクトリーにありますが、 DB2 V6 および V7 の場合、アナライザーは自動的にバインドされるため、 プログラムをバインドする必要はありません。 DB2 V5 でアナライザーを実行する場合は、 以下のコマンドを使用してアナライザーをバインドします。
bind analyze.bnd isolation UR
重要: 複製アナライザーは、 DataPropagator バージョン 5 またはそれ以降のバージョンでのみ動作します。 DataPropagator バージョン 1 では動作しません。 DataPropagator バージョン 1 で動作するバージョンの複製アナライザーが必要な場合は、 IBM ソフトウェア・サポートにご連絡ください。
Windows のコマンド行から複製アナライザーを実行します。 複製アナライザーのコマンドファイル名 (analyze.exe) の後ろに、ソース、ターゲット、 および制御サーバーの DB2 別名のリストをブランクで区切って入力します (これらの名前は、 それぞれ 8 文字以下の長さでなければなりません)。
複製アナライザーはコマンド行から実行するため、 複製アナライザーの実行時に DJRA または DB2 コントロール・センターのいずれかを実行する必要はありません。
サーバーに接続するのにエンド・ユーザーの認証が必要な場合は、 現行ディレクトリーにパスワード・ファイルを作成する必要があります。 このファイルは、analyze.pwd という名前にし、 1 つまたは複数の項目を次のような形式で入れる必要があります。
SERVER=server_alias USER=userid PWD=password
出力が正確かどうかを調べるため、複製アナライザーを実行して、 生成されたファイルを IBM の担当者にお送りいただくよう、 IBM ソフトウェア・サポートからお願いすることがあります。
構文:
.-----------------. V | >>-analyze-+----DB_alias_name---+---+------------+---| A |--+---> | +-deepcheck--+ | | '-lightcheck-' | '-?----------------------------------------------' .------------------------. V | >---A-----+------------------+--+---+------------------+- '-q--=--ApplyQual--' '-f--=--directory--'
このキーワードには、大文字小文字の区別はありません。
出力: 複製アナライザーは、 出力 HTML ファイル (analyze.htm)を作成します。 このファイルは、任意の Web ブラウザーで開いて表示することができます。 このファイルは、アナライザーを実行するのと同じディレクトリー内か、 f キーワードによって指定されたディレクトリー内に保管されます。 アナライザーからのメッセージは標準出力に送信されます。 出力 HTML ファイルには、以下の情報が入っています。
上記の情報の一部は、deepcheck を指定した場合にのみ含められます。
例:
analyze mydb1 mydb2 analyze mydb1 mydb2 f=mydirectory analyze lightcheck mydb1 mydb2 analyze q=applyqual1 q=applyqual2 deepcheck mydb1 mydb2 f=mydirectory
ここでは、収集および変更適用プログラムの実行時に生じる様々な問題や、 こうした問題の原因を診断する方法について説明します。 複製分析器を使用して、複製環境に一般的な問題や固有の問題を判別する必要もあります。
問題: 収集プログラム (OS/390 版) が開始しない。
RUN JCL に指定されたすべての STEPLIB ライブラリーについて、APF 許可が実行されたことを確認してください。
問題: 収集プログラム (VM 版) または収集プログラム (VSE 版) が開始しない。
以下のことを確認します。
問題: 収集プログラムが更新を収集しない。
以下のいずれかのエラーが原因で、収集プログラムが更新を収集できない場合があります。
トレース表に、該当するエラー・メッセージがないかどうかを検査します。
問題: 収集プログラムが正常に実行したかどうかが分からない。
いったん収集および変更適用プログラムが開始されると、 変更適用プログラムはターゲット表を収集するために全最新表示を行います。 次に収集プログラムは、トレース表にメッセージ ASN0104I を書き込み、 表所有者名、表名、および開始ログ順序番号の値に関係する情報を提供します。 この情報により、収集プログラムが更新の収集を開始する地点が提供されます。
それ以降に収集された更新は、CD 表に入れられます。 それらの更新は最終的にはターゲット表に適用され、CD 表から枝取りされます。 収集プログラムの実行を開始してしばらくすると、CD 表の中に行が表示されるはずです (ソースに変更が加えられた場合)。 定期的にトレース表を調べて、収集プログラムの進行状態を確認してください。 エラーになったら、収集プログラムはそのエラーをコンソールに送り、それをトレース表にも記録します。 同様に、変更適用プログラムは、その情報を適用追跡表に記録します。
問題: 収集プログラム (OS/390 版) が、正しいメッセージ番号ではなく、 メッセージ ASN0000E を出した。
メッセージ ASN0000E は、RUN JCL に指定された VSAM メッセージ・ファイルが見つからなかった場合に発行される一般的なメッセージです。 VSAM メッセージ・ファイルのインストールについて詳しくは、 収集プログラム (OS/390 版) のプログラム資料説明書を参照してください。
問題: 収集プログラム (VM 版) または収集プログラム (VSE 版) が、 正しいメッセージ番号ではなくメッセージ ASN0000E を出した。
メッセージ ASN0000E は、デフォルトのメッセージ・ファイル ASNLS001 MSG か、 収集プログラム始動 JCL に指定されているメッセージ・ファイルのいずれかが見つからないときに出される一般的なメッセージです。 メッセージ・ファイルのインストールについて詳しくは、 収集プログラム (VM 版) または収集プログラム (VSE 版) のプログラム資料説明書を参照してください。
問題: 収集プログラムが終了してしまう。
収集プログラムは、重大エラーが発生するか、または stop コマンドが発行されると終了します。 収集プログラムは、正常完了または失敗のどちらかを示す戻りコードとともに終了します。 戻りコードは以下のとおりです。
問題: OS/390 環境の使用中に収集プログラム (OS/390 版) に障害が発生した。
収集プログラムは LE OS/390 版環境で動作します。 収集プログラムの開始時にお勧めする収集ジョブ・ステップの最小領域サイズは REGION=10M です。
問題: エラー・メッセージ 0509 が出された。
DB2 の複数のバージョン、または DB2 と DataJoiner が同じシステム上にインストールされているため、 エラー・メッセージ 0509 が出されます。
LIBPATH 環境変数が変更適用プログラムが開始されるのと同じ環境に設定されているかを確認してください。
問題: DB2 ユニバーサル・データベース用の変更適用構成要素が、SQLCODE= -330、SQLSTATE=22517、 "A string cannot be used, because its characters cannot be translated" (文字を変換できないため、ストリングは使用できません) とともに停止した。
DB2 (OS/390 版) と 別のプラットフォームの DB2 間でコピーを実行する場合に、 CCSID 変換が原因で INSERT が失敗することがあります。失敗するのは、 変換後の値が、挿入場所の DB2 列よりも長い場合です。
混合環境で実行する場合、ご使用の DB2 (OS/390 版) プログラムの CCSID サポート用の最新メインテナンスがインストールされていることを確認してください。
文字変換についての詳細は、 DB2 (OS/390 版) : インストールの手引き にある、文字変換の付録をご覧ください。
問題: 収集プログラムまたは変更適用プログラムを Windows NT サービスとして開始しようとして、 システム・エラー 1067 を受け取った。
エラー・コード 1067 は、以下の状況の下で発生します。
dbname pathname\asnccp.exe <parameters>
これは CRLF の後に続きます。
問題: ASNPATH 内の ASNSERV.LOG ファイルによって、変更適用プログラムが正しく開始されたが、 その変更適用処理の終了が通知される。
変更適用プログラムが終了した理由を突き止めるには、NTSERV.ASN の構文を以下のように変更してください。
...ASNAPPLY APPLYQUAL TRCFILE
トレース出力は、変更適用トレース・ファイルに書き出されます。
<ASNPATH pathname>ApplyQual.TRC
問題: バインドは正常に実行できたが、変更適用プログラムを実行すると、 まだ SQLCODE -805、SQLSTATE 51002 が出る。
ユーザー ID に変更適用プログラム・パッケージに対する EXECUTE 特権があることを確認し、 両方の変更適用プログラム・パッケージを制御、ソース、 およびターゲット・サーバー・データベースに確実にバインドするようにしてください。
問題: 非常に大きい表をコピーしたため、DB2 ログの容量がいっぱいになってしまった。
エラーが全最新表示のときに発生した場合、別の方法を使って大きい表をロードすることができます。 それには、ASNLOAD 出口ルーチンを使用できますが、 自分でロードすることもできます (DJRA を使ったターゲット表のオフライン・ロードに説明があります)。
変更データの適用のときにエラーが発生した場合、データ・ブロック・パラメーターを変更して、 大きい変更データ・ブロックを分割することができます。 データ・ブロック化値の指定を参照してください。
問題: 収集プログラムはコールド・スタートされたため、 変更適用プログラムは全最新表示を実行しているが、全最新表示は行いたくない。
ターゲット表が非常に大きいときに、自分のロード機構だけを使用することに決めた場合は、 それ以降に実行される変更適用プログラムの全最新表示をすべて抑止するのがよいかもしれません。 ソース・サーバーで、ソース表の登録表内の DISABLE_REFRESH フラグを 1 にセットします。 この場合、変更適用プログラムはメッセージ ASN1016E を出しますが、 全最新表示を実行するまでは何もコピーしません。
全最新表示を回避し、データの収集もできるだけ早く開始したい場合は、 DJRA のオフライン・ロード機能を使用することができます。 この場合、この表をアンロードして再ロードする必要はなく、 ステップ 1 およびステップ 4 のために生成した SQL を実行するだけです。 オフライン・ロードは、全最新表示を使用不能にするだけでなく、 ステップ 4 を終了するまでサブスクリプションを非活動化します。 DJRA を使ったターゲット表のオフライン・ロードを参照してください。
問題: ギャップが検出されたため、変更適用プログラムは、 ターゲット表の全最新表示を実行しない。
サブスクリプション・セット表内の LASTSUCCESS、SYNCHTIME、および SYNCHPOINT値を NULL にリセットして、強制的に全最新表示を行います。
問題: 2 度目に変更適用プログラム・インスタンスを起動しようとして失敗した。
おのおののインスタンスを、それぞれ固有の変更適用修飾子を使って実行しなければなりません。
問題: 機密保護違反メッセージを受け取りました。 変更適用プログラムはデータベースへの接続を許可されていません。
制御サーバー名、ユーザー ID、およびパスワード定義は、 パスワード・ファイルで指定されたものと正確に一致しなければならず、大文字小文字が区別されます。 定義をもう一度チェックしてください。
変更適用プログラム (AS/400 版) は、パスワード・ファイルを使用しないため、 STRDPRAPY CL コマンドのユーザー・パラメーターで指定したユーザー ID を使って、 データベースへの接続を試行します。DRDA 接続定義が正しく設定されているかどうか確認してください。
問題: SQLCODE = -1032 および SQLSTATE = 57019 の付いた ASN1003 を受け取った。
変更適用プログラムを呼び出す前に、データベース・マネージャーを始動しなければなりません。
問題: 変更適用プログラムが、 ソース・データを取り出す時に SQLCODE -206 を受け取る。
CCD 表を使用して複数の表への複製をステージングする場合は、 全ターゲット表が予期するすべての列を、CD または CCD 表に含めるようにします。 列をサブセット化したり、最終ターゲットに複製する UOW 列を選択したりすることは、 ターゲット表の定義後に CCD 表を複製シナリオに加えた場合、問題の原因となります。
この問題は、ターゲット表を手動で定義し、 かつ複製ソースの定義時にすべての列を含めなかった場合に限って生じるはずです。 CD および内部 CCD 表の定義が済んでから、 すべてのターゲット表の定義 (サブスクリプション・セットへの追加) を行えば、 この問題は回避できます。 DJRA は、ターゲット表の行が、 事前定義された CD または 内部 CCD 表にないということを許しません。 DJRA は、ターゲット表の列の有効なサブセットだけを表示します。
問題: DJRA を使用して制御表を作成している時に SQL1108 エラーが発生する。
DB2 DataJoiner が DJRA と同じ Windows NT システムにインストールされており、 かつ DB2 (OS/390 版) で制御表を作成しようとする場合に、SQL1108 エラーが生じます。 この問題は、 アプリケーションの初期化中に ddcs.dll がロードされないために、 この DLL の必要なメモリー・スペースとメモリーの衝突が生じることが原因で生じます。
この問題を回避するには、 環境変数 DB2DBMSADDR を設定します (範囲は 20000000 〜 70000000)。 これにより、DB2 はメモリーを別の仮想アドレス空間に置くため、 アプリケーションのアドレス空間とのメモリーの衝突を回避できます。
IBM ソフトウェア・サポートに連絡すると、次のような種類の質問を受けます。 これらの質問に対する回答を調べておけば、時間の節約になり、 自分でエラーを診断するのにも役立つことがあります。