DB2サーバーでのHADRの構成およびWebsphereサーバーでのACRの構成

HADRはDB2データベースミラーリングツールです。 WebsphereのACRメカニズムを使用すると、データベースがドロップした場合に、クライアントをバックアップサーバーに自動的に切り替えることができます。 以下に、これらの両方を設定する方法を説明します8-)



DB2サーバーでのHADRの構成



ロシア語では、HADRの構成と説明がここに記載されています。

英語の完全なHADRリファレンスはこちら



グラフィカルなチャートとコンソールを使用してHADRを構成できます。 これはターミナルを介して行います。 小さなグラフではわずらわしいため、システム側とチューニング側の両方からエラーが発生します。 guiに問題はありませんでした... 8-)



SPDDATSERV(1次)サーバーとRSPDDATSERV(バックアップ)サーバー間のHADR構成の例を検討してください。

DAT6データベース。

1.最初に、メインサーバーがHADRで条件を満たし、最適に動作できるように、メインサーバーの構成パラメーターを変更する必要があります。

UPDATE DB CFG FOR DAT6 USING LOGINDEXBUILD ON; UPDATE DB CFG FOR DAT6 USING INDEXREC RESTART; UPDATE DB CFG FOR DAT6 USING LOGSECOND 10;
      
      





2.次に、このデータベースをフォルダーG:\ DB2Dumpにバックアップします

 --   CONNECT TO DAT6; QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS; UNQUIESCE DATABASE; CONNECT RESET; --     BACKUP DB DAT6 TO G:\DB2Dump COMPRESS;</code>
      
      





3.バックアップをバックアップシステムのディレクトリGに転送します:\ 2restore \ hadr

4.バックアップサーバーで、このベースのバックアップを作成します

 RESTORE DATABASE DAT6 FROM "G:\2restore\hadr" TO "D:" INTO DAT6 WITHOUT PROMPTING;
      
      





5.両方のサーバーで、ファイルC:\ Windows \ System32 \ drivers \ etc \ servicesを編集します。各データベースに対して、サービス名とポートを指定します。

例:

DB2_HADR_DAT 55001 / tcp

DB2_HADR_DAT2 55002 / tcp

DB2_HADR_DAT3 55003 / tcp

DB2_HADR_DAT4 55004 / tcp

DB2_HADR_DAT5 55005 / tcp

DB2_HADR_DAT6 55006 / tcp

6つのベース用に予約されているポートを次に示します。 たとえば、ポート55005はDAT5データベース用に予約されており、サービスの名前はDB2_HADR_DAT5です。 両方のシステムでサービス名とポートが一致していることをお勧めします。



6.メインサーバーで、データベースのHADR構成パラメーターを変更します

  UPDATE DB CFG FOR DAT6 USING HADR_SYNCMODE SYNC; UPDATE DB CFG FOR DAT6 USING HADR_TIMEOUT 120; UPDATE DB CFG FOR DAT6 USING HADR_LOCAL_HOST SPDDATSERV; UPDATE DB CFG FOR DAT6 USING HADR_LOCAL_SVC DB2_HADR_DAT6; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_HOST RSPDDATSERV; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_SVC DB2_HADR_DAT6; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_INST DB2;
      
      





HADR_SYNCMODE-動作モードは同期であり、データ損失の可能性を完全に排除します(上記リンクのモードの詳細)

HADR_TIMEOUT-接続タイムアウト

HADR_LOCAL_HOST-ローカルマシン名

HADR_LOCAL_SVC-句5で追加されたサービスの名前

HADR_REMOTE_HOST-バックアップマシンの名前

HADR_REMOTE_SVC-バックアップシステムのHADR_LOCAL_SVCパラメーターに類似

7.メインサーバーで、自動クライアントリダイレクト用のデータベースを指定します

 UPDATE ALTERNATE SERVER FOR DATABASE DAT6 USING HOSTNAME RSPDDATSERV PORT 50000;
      
      





8.メインサーバーでノードをカタログし、次にバックアップサーバーからベースをカタログします

 CATALOG TCPIP NODE DB2RES REMOTE RSPDDATSERV SERVER 50000 REMOTE_INSTANCE DB2; CATALOG DATABASE DAT6 AS RDAT6 AT NODE DB2RES;
      
      





9.バックアップサーバーで同様の操作を実行する

 --   HADR   UPDATE DB CFG FOR DAT6 USING HADR_SYNCMODE SYNC; UPDATE DB CFG FOR DAT6 USING HADR_TIMEOUT 120; --       UPDATE DB CFG FOR DAT6 USING HADR_LOCAL_HOST RSPDDATSERV; UPDATE DB CFG FOR DAT6 USING HADR_LOCAL_SVC DB2_HADR_DAT6; --    UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_HOST SPDDATSERV; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_SVC DB2_HADR_DAT6; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_INST DB2; --      ,   UPDATE ALTERNATE SERVER FOR DATABASE DAT6 USING HOSTNAME SPDDATSERV PORT 50000; --      CATALOG TCPIP NODE DB2DOR REMOTE SPDDATSERV SERVER 50000 REMOTE_INSTANCE DB2; CATALOG DATABASE DAT6 AS DDAT6 AT NODE DB2DOR;
      
      





10.最初に、スタンバイでHADRを実行します

 DEACTIVATE DATABASE DAT6; START HADR ON DATABASE DAT6 AS STANDBY;
      
      





11.次に、メイン

 DEACTIVATE DATABASE DAT6; START HADR ON DATABASE DAT6 AS PRIMARY;
      
      





以下は、両方のシステムのHADR.txtファイルのリストです。 このファイルでは、スクリプトの実行順序に番号が付けられています。

サーバー上に同じファイルを作成したら、データベースの名前のみを置き換えることで、HADRを簡単かつ段階的に構成できます。 主なことは、servicesファイルの編集を忘れないことです!

メインシステムからのファイル:

  -- 1.       UPDATE DB CFG FOR DAT6 USING LOGINDEXBUILD ON; UPDATE DB CFG FOR DAT6 USING INDEXREC RESTART; UPDATE DB CFG FOR DAT6 USING LOGSECOND 10; -- 2.   CONNECT TO DAT6; QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS; UNQUIESCE DATABASE; CONNECT RESET; BACKUP DB DAT6 TO G:\DB2Dump COMPRESS; -- 4.    HADR    UPDATE DB CFG FOR DAT6 USING HADR_SYNCMODE SYNC; UPDATE DB CFG FOR DAT6 USING HADR_TIMEOUT 120; UPDATE DB CFG FOR DAT6 USING HADR_LOCAL_HOST SPDDATSERV; UPDATE DB CFG FOR DAT6 USING HADR_LOCAL_SVC DB2_HADR_DAT6; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_HOST RSPDDATSERV; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_SVC DB2_HADR_DAT6; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_INST DB2; -- 5.       UPDATE ALTERNATE SERVER FOR DATABASE DAT6 USING HOSTNAME RSPDDATSERV PORT 50000; -- 6.      CATALOG TCPIP NODE DB2RES REMOTE RSPDDATSERV SERVER 50000 REMOTE_INSTANCE DB2; CATALOG DATABASE DAT6 AS RDAT6 AT NODE DB2RES; -- 11.    DEACTIVATE DATABASE DAT6; START HADR ON DATABASE DAT6 AS PRIMARY;
      
      





バックアップファイル:

  -- 3.    RESTORE DATABASE DAT6 FROM "G:\2restore\hadr" TO "D:" INTO DAT6 WITHOUT PROMPTING; -- 7.    HADR    UPDATE DB CFG FOR DAT6 USING HADR_SYNCMODE SYNC; UPDATE DB CFG FOR DAT6 USING HADR_TIMEOUT 120; UPDATE DB CFG FOR DAT6 USING HADR_LOCAL_HOST RSPDDATSERV; UPDATE DB CFG FOR DAT6 USING HADR_LOCAL_SVC DB2_HADR_DAT6; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_HOST SPDDATSERV; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_SVC DB2_HADR_DAT6; UPDATE DB CFG FOR DAT6 USING HADR_REMOTE_INST DB2; -- 8.       UDADATE ALTERNATE SERVER FOR DATABASE DAT6 USING HOSTNAME SPDDATSERV PORT 50000; -- 9.      CATALOG TCPIP NODE DB2DOR REMOTE SPDDATSERV SERVER 50000 REMOTE_INSTANCE DB2; CATALOG DATABASE DAT6 AS DDAT6 AT NODE DB2DOR; -- 10.  HADR    DEACTIVATE DATABASE DAT6; START HADR ON DATABASE DAT6 AS STANDBY;
      
      







DB2サーバーでのスケジューラーのセットアップ



サーバーまたはDB2サービスを再起動するたびに、データベースがアクティブになるまで(メインとバックアップの両方)HARD操作が中断されます。

アクティブ化は、最初の接続時、またはACTIVATE DB <db_name>コマンドを使用して強制的に行われます。

メインデータベースについて心配する必要がない場合は、 Websphereは常に接続しようとしているため、バックアップを強制的にアクティブにする必要があります。

これを行うには、Windowsスケジューラで、アプリケーションログにイベントをポップするタスクを実行できます。 このイベントは、DB2STARTコマンドの実行であり、DB2サービスの開始時に常に実行されます。 DB2STARTコマンドが実行されると、アプリケーションログはDB2-0からのイベントIDを記録します:1。

設定されたトリガーは次のようになります。

画像

これは、トリガーが設定された後に実行されるアクションが設定されているウィンドウの外観です

画像

図からわかるように、batファイルG:\ all_work \ activate_db.batが起動され、6つのベース(dat、dat2、..、dat6)がアクティブになります。 そして、ここに彼のリストがあります:

db2 activate db dat

db2 activate db dat2

db2 activate db dat3

db2 activate db dat4

db2 activate db dat5

db2 activate db dat6



WebsphereサーバーでのACRの構成



そのため、メインサーバーを停止してバックアップを開始した後、データソースを再構成し、ACRを構成する必要はありませんでした。 この場合、メインベースが切断されると、ACRは自動的にバックアップへの接続を試みます。 サーバー間でロールを切り替えるときにチェックしました(プライマリ/バックアップ)わずかな遅延があり、ユーザーは何も気づきませんでした。 プライマリサーバーが落ちた場合、バックアップを手動でプライマリに切り替える必要がありますが、その後、ACRはプライマリと同様にバックアップを切り替えて操作できるようになります。

WebsphereでACRを構成するには、 JDBC Communication Complexesコンソール> DB2 Universal JDBC Driver Provider> Data Sources> <Source Name >> WebSphere Application Server data source propertiesに設定し、スクリーンショットのようにパラメーターを設定します

画像

サーバー上のデータベースの計画的な変更については、次を入力します。

 db2 takeover hadr on db *DB*
      
      





緊急用

 db2 takeover hadr on db *DB* by force
      
      





次に、メインベースを固定した後、入力します

 db2 start hadr on db <DB> as stanby
      
      






All Articles