2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Qレプリケーション・チュートリアル ASNCLP版(1)~シナリオ紹介・準備~

Last updated at Posted at 2023-03-30

これは、Qレプリケーション・チュートリアル ASNCLP版の1番目の記事です。
  | 次の記事(2)
(1) | (2) | (3) | (4) | (5)

:four_leaf_clover: はじめに :four_leaf_clover:

IBM InfoSphere Data Replication のQレプリケーションは、IBM Db2から、Db2あるいはOracleやSQL Serverへ、大量のデータを短い待ち時間で複製することができます。

Qレプリケーションそのものをまず知りたいという場合は、こちらの概要の資料を最初にご覧になるのが良いかと思います。
IBM Support :【SIL】【IM】Qレプリケーション概要

Qレプリケーションは、データの送受信にMQのキューを利用する、LUW(Linux,Unix,Windows)環境だけでなくz/OSでも同じアーキテクチャーで動くレプリケーション製品ですが、このQレプリケーションを試しに動かしてみようとした場合、こちら↓のチュートリアルを参考にすることも多いかと思います。

Q レプリケーション・チュートリアル - IBM Documentation
https://www.ibm.com/docs/ja/idr/11.4.0?topic=tutorials-q-replication-tutorial

このチュートリアルではレプリケーション・センターというGUIを使った方法でレプリケーションの定義を行っています。GUIは分かりやすいですが、実際のシステムでレプリケーション環境を構築する場合、対象の表数が多い場合などGUIでいちいち定義するのは逆に面倒とも言えます。

:four_leaf_clover: ASNCLP :four_leaf_clover:

実はQレプリケーションは、ASNCLPというコマンドレベルのツールを使って定義することもできます。
ASNCLPを利用すると、多くの定義をバッチ的にまとめて行うことが可能になります。
また、レプリケーション・センターを使用するためにはWindowsやLinuxマシンが必要ですが、ASNCLPはWindows、Linux、AIX、またz/OSでも使用することができ、実際の構築ではこちらの方法が多く利用されています。
RC_ASNCLP.png
そこでこの投稿では、このQレプリケーション・チュートリアルの内容をASNCLPをつかって行ったらどうなるかということで、その具体的内容や実行結果を含めて紹介したいと思います。
またMQ関連の定義も、チュートリアルでは1コマンドずつ実行していますが、そちらに関してもバッチ的にまとめて実行する方法をご紹介しています。

:four_leaf_clover: シナリオについて :four_leaf_clover:

シナリオは、チュートリアルの概要の記載内容に添って行います。
ここではLUW環境に2つのDb2データベース、そして2つのMQマネージャーを作成してレプリケーションを行うシナリオになっており、以下の3つのモジュールに分かれています

・モジュール 1: MQ のセットアップ
・モジュール 2: Q レプリケーションのセットアップ
・モジュール 3: Q レプリケーションの開始
構成.png
この投稿の手順も、実行する内容は基本的にはそれぞれのモジュールで行う作業に準じていますが、チュートリアルには含まれていないことや、別の方法や順番で実行している箇所もありますことを、ご了承ください。

元のチュートリアルとこの投稿の内容との違い

モジュール1:MQのセットアップ
チュートリアルでは、キューなどのMQオブジェクトの作成を、runmqsc セッションを利用して1つずつ作成していますが、ファイルにまとめて記載して実行する方法を紹介します。

モジュール 2: Q レプリケーションのセットアップ
チュートリアルでは、レプリケーション・センターを使って、制御表の作成やレプリケーション定義を行っていますが、これらをASNCLPで行う方法を紹介します。

モジュール 3: Q レプリケーションの開始
チュートリアルでは、Q キャプチャー・プログラムやQ アプライ・プログラムの開始や状況確認を、レプリケーション・センターを使って実行していますが、コマンドによる開始、状況確認、さらに停止をする方法を紹介します。

:four_leaf_clover: 使用している製品のレベルと環境 :four_leaf_clover:

ここでは、Windows版のMQ V9とDb2 V11.5で実行したコマンドや結果を掲載しています。
実行する内容はLinux,AIXでも基本的には同じです。
異なる箇所がある場合は、適宜コメントを入れてあります。

:four_leaf_clover: Qレプリケーションの導入について :four_leaf_clover:

Qレプリケーションの製品コードは、Db2のサーバーのコードに含まれているので、Db2を導入すれば、Qレプリケーションの製品コードの導入という作業は不要です。
ただし、チュートリアルでは明確に記載されていませんが、使用されるDb2が V11.5以上の場合は、Qレプリケーションを動かすためのライセンスの登録が必須になっています。
(Db2 V11.1まではQレプリケーションのライセンスが含まれているDb2のサーバー・エディションがありますが、V11.5からは全てのエディションで、専用のライセンスが必要です。)
ライセンス・ファイル(iidr.lic)は、InfoSphere® Data Replicationのアクティベーション・キットに含まれています。

参考.ライセンスの登録

■ライセンスの登録方法

db2licm -a iidr.lic
ライセンス登録 結果例
LIC1402I  ライセンスが正常に追加されました。

■ライセンス登録の確認

db2licm -l
ライセンス登録の確認 結果例
製品名:                                          "InfoSphere Data Replication"
ライセンス・タイプ:                              "CPU"
有効期限:                                        "永続"
製品 ID:                                         "iidr"
バージョン情報:                                  "11.5"
並行コネクター・ポリシー:                        "無効"
制約ポリシー:                                    "ソフト・ストップ"

:four_leaf_clover: シナリオの作業に入る前の準備 :four_leaf_clover:
 データベースの作成

Q レプリケーション・チュートリアルの概要に前提条件として記載されているように、データベースを2つ作成します。

Linux,AIX,Windowsいずれでも構いませんので、DB2コマンド・ウィンドが使える環境に入ってください。

1.SAMPLEデータベースの作成(Windowsの例)

db2sampl

db2samplコマンドの場所や使用方法は以下を参考にしてください
SAMPLE データベースの作成
https://www.ibm.com/docs/ja/db2/11.5?topic=database-creating-sample

1. SAMPLEデータベースの作成 結果例
  Creating database "SAMPLE"...
  Connecting to database "SAMPLE"...
  Creating tables and data in schema "DB2ADMIN"...
  Creating tables with XML columns and XML data in schema "DB2ADMIN"...

  'db2sampl' processing complete.

2.SAMPLEデータベース接続・切断の確認

db2 connect to sample
2. SAMPLEデータベースの接続確認 結果例
   データベース接続情報

 データベース・サーバー = DB2/NT64 11.5.8.0
 SQL 許可 ID            = DB2ADMIN
 ローカル・データベース別名 = SAMPLE
db2 terminate
2. SAMPLEデータベースの切断確認 結果例
DB20000I  TERMINATE コマンドが正常に完了しました。

3.SAMPLEデータベースの構成の確認

db2 get db cfg for sample | more
3. SAMPLEデータベースの構成の確認 結果例
       データベースのデータベース構成   sample

 データベース構成リリース・レベル                        = 0x1500
 データベース・リリース・レベル                          = 0x1500

 データベース・レベルの更新ペンディング                        = NO (0x0)
 データベース・テリトリー                                = JP
 データベース・コード・ページ                            = 1208
  データベース・コード・セット                          = UTF-8
 データベース国/地域コード                               = 81
 データベース照合順序                                    = IDENTITY
(以下省略)

上記で確認したように、SAMPLEデータベースはコードセットがUTF-8(Unicode)、テリトリーはJP、照合順序はIDENTITYなので、TARGETDBも同様に作成します。

4.TARGETDBデータベースの作成

db2 create database TARGETDB using codeset UTF-8 territory JP collate using identity
4. TARGETDBデータベースの作成 結果例
DB20000I  CREATE DATABASE コマンドが正常に完了しました。

5.TARGETDBデータベースの接続・切断の確認

db2 connect to targetdb
5. TARGETDBデータベースの接続確認 結果例
   データベース接続情報

 データベース・サーバー = DB2/NT64 11.5.8.0
 SQL 許可 ID            = DB2ADMIN
 ローカル・データベース別名 = TARGETDB
db2 terminate
5. TARGETDBデータベースの切断確認 結果例
DB20000I  TERMINATE コマンドが正常に完了しました。

6.TARGETDBデータベースの構成の確認

db2 get db cfg for targetdb | more
6. TARGETDBデータベースの構成の確認 結果例
       データベースのデータベース構成

 データベース構成リリース・レベル                        = 0x1500
 データベース・リリース・レベル                          = 0x1500

 データベース・レベルの更新ペンディング                        = NO (0x0)
 データベース・テリトリー                                = JP
 データベース・コード・ページ                            = 1208
  データベース・コード・セット                          = UTF-8
 データベース国/地域コード                               = 81
 データベース照合順序                                    = IDENTITY
(以下省略)

以上で、チュートリアルに記載されている準備作業はOKです。

では、各モジュールの作業に入ります。

次のステップ :four_leaf_clover: モジュール 1 :four_leaf_clover: MQ のセットアップ
→ Qレプリケーション・チュートリアル ASNCLP版(2)

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?