正常にミラーリングが出来ないときに、トリガーテーブルの情報が有益な情報となる場合があります。
■DB2におけるトリガーテーブル
DB2(UDB)からDBMotoを使用してミラーリングレプリケーションを行う場合、DB2のトリガーテーブルを参照し、差分をターゲットに転送します。
正常にミラーリングが出来ないときに、トリガーテーブルの情報が有益な情報となる場合があります。
■トリガーテーブル情報について
一例としてDBMotoを使用した取得手順を掲載しますが、実際はお客様側のDB2へのアクセスでご利用いただいているツールで同義の内容を実施いただいた結果をファイルでご提供お願いします。
具体的には下記のテーブルの全件検索結果をファイルにてご提供お願いします。
※( )内は全件結果取得のSQLです。
1. _DBM__TRG_OBJS (select * from SchemaName.”_DBM__TRG_OBJS”)
2. _DBM__MASTERLOG (select * from SchemaName.”_DBM__MASTERLOG”)
3. _DBM__LOG_xx (select * from SchemaName.”_DBM__LOG_xx”)
#3のテーブル名の”xx”の部分はテーブルごとに連番が割り振られています。
どのテーブルが何番に割り振られているかは下記のように#1のテーブルを確認することで確認できます。
※#1″_DBM__TRG_OBJS”の例
上記の場合、テーブル名”TBL_TEST1″のTAGが”1″となっているので、
#3のテーブル名は”_DBM__LOG_1″となります。
■トリガーテーブル情報取得手順(DBMotoを使用した場合の例)
1. DBMoto Enterprise Managerを起動します。
2. ソース設定のスキーマ名を右クリックし、「Select Tables」を選択します。
3. トリガーテーブルにチェックを入れます。
4. それぞれのテーブル名を右クリックし、「Open Table」を選択します。
5. 全件検索結果が表示されるので、Ctrl + A ですべてを選択し、Ctrl + C でコピーし、テキストファイルなどに貼り付けます。
↓↓↓
■参考
※#2″_DBM__MASTERLOG”の例
TID (トランザクションID)
SNAME (スキーマ名)
TNAME (テーブル名)
TTS (タイムスタンプ)
TUSER (テーブル更新ユーザ名)
※#3″_DBM__LOG_xx”の例
__TID (トランザクションID)
__OP (I…Insert、B…UpdateBefore、A…UpdateAfter、D…Delete)
NO, NAME, COMMENT (実際のテーブルの値)
——————————————————————-
(注)上記の手順はDB2 UBDを例にしていますが、他のトリガーテーブルを利用するデータベース(Informix, Sybase, 一部MySQL)にも有効です。
関連したトピックス
- Syniti(旧DBMoto)レプリケーションに必要なOracleユーザ権限 Trigger使用時
- 初期同期(リフレッシュ)がより便利に! ステージングリフレッシュ機能
- ソースコネクションでのトランザクションログの設定(DB2 UDB)【リアルタイムレプリケーションDBMoto】
- DBMotoレプリケーションに必要なMySQLユーザ権限
- Oracleトランザクションセットアップ例(Log ReaderまたはLog Server Agent)[Syniti Data Replication]
- DBMotoレプリケーションに必要なOracleユーザ権限
- [ DB2 Connectivity ] 開発キット C# Toolkit で出来ること :プログラミング無しで検証可能
- DBMotoレプリケーションに必要なOracle 12c(PDB/CDB)権限
- GlueSyncでNoSQL活用を加速:データモデリング編
- DBMotoレプリケーションに必要なPostgreSQLユーザ権限