DB2 LUWのトランザクションログを利用したミラーリング【リアルタイムレプリケーションツールDBMoto】


DBMotoでは、DB2 LUW(DB2 for Linux Unix and Windows)からのミラーリングレプリケーションの形式として、トリガー形式DB2ログ利用形式の2つを用意しています。
トリガー形式ではレプリケーション対象のテーブルに対し、更新を検知する3つのトリガーとログ用テーブルを作成して変更点を検知しますが、対象テーブルに対し既存のトリガーがあり新たに設定できない場合などにはDB2ログ利用形式を採用します。

DB2ログ利用形式ではDB2のdb2ReadLog APIを使用し、ログを取得します。

DB2ログ利用形式の場合は、DB2側で事前準備が必要となります。以下は早見表です。

■ユーザ権限
DBADMまたはSYSADM権限を持ったユーザ。
これはストアドプロシージャを作成しDB2のAPI経由でログを読み取るのに必要です。
■ログ設定
LOGARCHMETH1パラメータが、LOGRETAINまたはDISKであること。
このパラメータを変更した場合、DB2側の仕様上オフラインフルバックアップの実施が必要です。
例)コマンドラインでは、db2 “BACKUP DB climb TO /home/db2inst1/dbbackup”
■DB2へのファイル設置先
このファイルはストアドプロシージャを作成する元となるファイルです。
インスタンスのホームディレクトリ直下のfunctionディレクトリに配置します。
例)/home/db2inst1/sqllib/function
■テンポラリテーブルスペースの使用
もしテンポラリテーブルスペースがない場合は作成する必要があります。


ここから先ではスクリーンショットを用い具体的な設定方法を案内します。

まずはDB2のログ設定を確認します。
ログ設定のパラメータはLOGARCHMETH1です。この値がLOGRETAINDISKである必要があります。
この設定を変更した後は、オフラインフルバックアップを実施する必要があります。
※アプリケーションが接続中だとオフラインバックアップが実施できません。
003

次にDBMotoから接続する際のユーザの権限を確認します。
DBADMまたはSYSADM権限があることを確認します。これがない場合、DB2のAPIを利用できません。

次にDB2上に配置するファイルを確認します。
このファイルはDBMotoインストール先フォルダ内のServerFiles->DB2UDBフォルダにあります。
複数ありますが、これはOSの種類とバージョン、そしてDB2のバージョンによって使用するファイルが変わります
ファイル名は「(OS種類およびバージョン)_(DB2バージョン)_db2udbreadlog03」という形で命名されているので、お使いの環境に対応するファイル名のものを選択してください。
※万が一存在していない場合は、弊社にお問い合わせください。用意いたします。
001

次にこのファイルをDB2に配置します。設置先のインスタンスユーザのホームディレクトリの、functionディレクトリに配置します。
このときファイル名をdb2udbreadlog03に変更する必要があります。パーミッションや所有者の変更は不要です。
002

次にDBMotoからDB2への接続を作成します。DBMotoのソース接続作成ウィザードの「セットアップ情報」の段階で「トランザクションを使用」にチェックを入れ、プルダウンメニューから「DB2UDB」を選択します。
下の確認ボタンをクリックし、ストアドプロシージャがすでにあるか確認します。
004

以下のアラートが出力されたら、OKを押します。このアラートは接続先のDB2にDBMotoのストアドプロシージャがまだない、または古いバージョンで作成されたものであることを示しています。
007

インストールボタンが有効になっているので、それをクリックすると、以下のアラートが表示されます。「はい」をクリックします。
008

「ログリーダーライブラリバージョン」が表示されれば、ストアドプロシージャが作成されています。
006


正常に利用できる場合、DB2 LUWからのレプリケーション作成時に、「ソースログ情報」の画面で「参照」ボタンを押すと、トランザクションIDが取得されます。
010

関連したトピックス

コメントを残す

メールアドレスが公開されることはありません。

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