[DB2]トリガーテーブル情報取得手順【リアルタイムレプリケーションツールDBMoto】


正常にミラーリングが出来ないときに、トリガーテーブルの情報が有益な情報となる場合があります。

■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)にも有効です。

関連したトピックス

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください