対象DBMoto:すべてのバージョン
対象データベース:DB2(Windows, Linux, AIX, z/OS)
レプリケーションモード:ミラーリング・シンクロナイゼーションでトリガーモード使用時
発生条件:レプリケーション作成完了時にエラー発生
●エラー内容:
ログリーダーに新しいレプリケーションを追加する際にエラー。
コマンド’CREATE TRIGGER …; END’の実行にエラーが発生しました。
SqlDb2DRDA: DRDA Execute exception occurred.execute: Too many transition tbles: “2” – STATE:54040 – CODE:-1424
execute: Too many transition tbles: “2” – STATE:54040 – CODE:-1424
●エラー発生理由
DBMotoはトリガーを使用した差分レプリケーションの際に、レプリケーション定義作成と同時に該当テーブルに対してトリガーを作成します。
本エラーはそのトリガー作成するために必要な「システム一時表スペース」がDB2側で不足していることが原因です。
テーブルのカラム数が多い場合に発生することがあります。
●対処法
対処法は以下の通りとなります。
(1)バッファープールのサイズを 32KB で作成する
(2)(1)を使用するようにシステム一時表スペースを作成する
以下はDB2クライアントアクセスツール「IBM Data Studio」での対処手順です。
1. バッファー・プールを右クリックし「バッファー・プールの作成」を選択します。
4. 表スペースを右クリックし「システム一時表スペースの作成」を選択します。
5. バッファー・プールを先ほど選択したものへ変更し保存します。
以上で設定は完了です。
DBMotoにて正常にレプリケーションを作成できることをご確認ください。
※バッファプールはCLPにて以下のコマンドで確認可能です。
SELECT BPNAME, BUFFERPOOLID, NPAGES, BLOCKSIZE, PAGESIZE FROM SYSCAT.BUFFERPOOLS
※表スペースはCLPにて以下のコマンドで確認可能です。
LIST TABLESPACES SHOW DETAIL
関連したトピックス
- HiT ODBC 400 で日本語文字化けが発生する場合
- DBMotoレプリケーションに必要なOracle 12c(PDB/CDB)権限
- Ritmo/iを使用してどのようにAS/400データベースに接続しますか?
- SQL Serverのビューをレプリケーションする場合の注意点【リアルタイムレプリケーションツールDBMoto】
- Oracleトランザクションセットアップ例(Log ReaderまたはLog Server Agent)[Syniti Data Replication]
- [HiT ODBC/DB2]設定とDB2 UDBとSQL開発ツール(Accessなど)との連携
- DBMotoレプリケーションに必要なOracleユーザ権限
- Ritmo/i5 v4.0.のリリース、VS2005とSQLServerとのインテグレーション
- Teradataを構築してDBMotoでOracle等からTeradataへのリアルタイム・レプリケーション
- DBMotoのレプリケーションパフォーマンスを向上させる方法