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です。この値がLOGRETAINかDISKである必要があります。
この設定を変更した後は、オフラインフルバックアップを実施する必要があります。
※アプリケーションが接続中だとオフラインバックアップが実施できません。
次にDBMotoから接続する際のユーザの権限を確認します。
DBADMまたはSYSADM権限があることを確認します。これがない場合、DB2のAPIを利用できません。
次にDB2上に配置するファイルを確認します。
このファイルはDBMotoインストール先フォルダ内のServerFiles->DB2UDBフォルダにあります。
複数ありますが、これはOSの種類とバージョン、そしてDB2のバージョンによって使用するファイルが変わります。
ファイル名は「(OS種類およびバージョン)_(DB2バージョン)_db2udbreadlog03」という形で命名されているので、お使いの環境に対応するファイル名のものを選択してください。
※万が一存在していない場合は、弊社にお問い合わせください。用意いたします。
次にこのファイルをDB2に配置します。設置先のインスタンスユーザのホームディレクトリの、functionディレクトリに配置します。
このときファイル名をdb2udbreadlog03に変更する必要があります。パーミッションや所有者の変更は不要です。
次にDBMotoからDB2への接続を作成します。DBMotoのソース接続作成ウィザードの「セットアップ情報」の段階で「トランザクションを使用」にチェックを入れ、プルダウンメニューから「DB2UDB」を選択します。
下の確認ボタンをクリックし、ストアドプロシージャがすでにあるか確認します。
以下のアラートが出力されたら、OKを押します。このアラートは接続先のDB2にDBMotoのストアドプロシージャがまだない、または古いバージョンで作成されたものであることを示しています。
インストールボタンが有効になっているので、それをクリックすると、以下のアラートが表示されます。「はい」をクリックします。
「ログリーダーライブラリバージョン」が表示されれば、ストアドプロシージャが作成されています。
正常に利用できる場合、DB2 LUWからのレプリケーション作成時に、「ソースログ情報」の画面で「参照」ボタンを押すと、トランザクションIDが取得されます。
関連したトピックス
- Microsoft SQL Serverのバックアップとリストア手法
- CloudBerry Backupによる SQL Serverの自動バックアップ
- Oracle RAC One Node環境を構成してみました ステップ1 Oracle Linux環境の導入
- HiT ODBC/DB2 v6.2とHiT OLEDB/DB2 v4.2のリリース
- SQL Server on Linuxの可用性について ①
- SQL Server for Linuxがすぐそこに! – WindowsデータベースがHA機能を追加
- Oracle RAC One Node環境を構成してみました ステップ4 Oracle Grid Infrastructureの導入
- 仮想化されたOracleデータベースの適切なバックアップ・リストア手法
- DBMotoでのMicrosoft SQL Server 2017 on Linuxとの接続検証