自動クライアント・リルートについての説明およびセットアップ
- Db2 Enterprise Server Edition ( パーティション・データベース環境)
- Db2 Enterprise Server Edition ( IBM Db2 pureScale® Feature
- InfoSphere® Replication Server
- IBM PowerHA® SystemMirror® for AIX®
- 高可用性災害時リカバリー (HADR)
自動クライアント・リルートは、HADR および Db2 pureScale Feature と連携して機能し、アクセスされているデータベースのフェイルオーバー後にクライアント・アプリケーションが最小限の中断で作業を続行できるようにします。
- IBM データ・サーバー・クライアント は、代替サーバーを持つ Db2 Connect サーバーを介して z/OS® または i5/OS システムに接続します。 自動クライアント・リルートは、 IBM Data Server Client と 2 つの Db2 Connect サーバーの間で使用されます。
- Db2 for z/OS Parallel Sysplex ® データ共有環境にアクセスする Db2 Connect クライアントまたはサーバー製品。 自動クライアント・リルートは、 Db2 Connect と z/OS Parallel Sysplex システムとの間で使用されます。 自動クライアント・リルート・フィーチャーは、 Db2 Connectライセンス・クライアントと Parallel Sysplex との間のシームレスなフェイルオーバーをサポートします。 シームレスなフェイルオーバーについて詳しくは、関連リンクを参照してください。
接続 ( Db2 C) サーバーとその代替サーバーの場合、ローカル・データベースを同期する必要がないため、オリジナルと代替の両方の 接続 ( Db2 C) サーバーに、同一のデータベース別名を使用してアクセスできるようにカタログされたターゲット・ホストまたは システム i データベースがあることを確認するだけで十分です。
Db2 データベース・システムが通信障害からリカバリーできるようにするためには、 通信障害が発生する前に、代替サーバーの場所を指定しておく必要があります。 UPDATE ALTERNATE SERVER FOR DATABASE コマンドは、特定のデータベース上の代替サーバー・ロケーションを定義するために使用します。
サーバー・インスタンスの特定のデータベースで代替サーバー・ロケーションを指定すると、接続プロセスの一部として、代替サーバー・ロケーション情報が IBM データ・サーバー・クライアント に返されます。 Db2 Connect クライアントまたはサーバー製品と、ホストまたは System i データベース・サーバーとの間で自動クライアント・リルートを使用する場合、リモート・サーバーはそれ自体に 1 つ以上の代替アドレスを提供する必要があります。 Db2 for z/OSの場合、データベースがシスプレックス・データ共用環境であれば、複数のアドレスが認識されます。 したがって、代替サーバーを Db2 Connectにカタログする必要はありません。 何らかの理由でクライアントとサーバー間の通信が失われた場合、 IBM Data Server Client は、代替サーバー情報を使用して接続を再確立しようとします。 IBM データ・サーバー・クライアント は、元のサーバーである可能性があるデータベース・サーバーと、そのサーバーのデータベース・ディレクトリー・ファイルにリストされている代替サーバー、または z/OS 並列シスプレックス・システムによって戻されるサーバー・リストにある代替サーバーとの再接続を試みます。 接続を再確立しようとするこうした試行は、最初は非常に短い時間間隔で行われ、徐々に試行の間隔が長くなります。
接続が成功すると、通信障害の後にデータベース接続が再確立されたことを示す SQL30108N が戻されます。 ホスト名または IP アドレスと、サービス名またはポート番号が戻されます。 IBM データ・サーバー・クライアント は、元のサーバーまたは代替サーバーのいずれに対してもクライアント通信を再確立できない場合にのみ、元の通信障害のエラーをアプリケーションに返します。
- CLI ドライバーは、接続が失敗してもすぐには新しいトランスポートを探しません。 CLI ドライバーは、アプリケーションが SET ステートメント (特殊レジスター) または SQL ステートメントを再サブミットすると、トランスポートを割り振ります。 ただし、非シームレス ACR フィーチャーが有効になっていて、WLB フィーチャーが無効になっている場合、 CLI ドライバーは直ちに新しいトランスポートを検索し、次に使用可能なメンバーに再接続します。
- SQL30108N は、 CLI ドライバーが 1 次グループのメンバーへの再接続に失敗し、代替グループに切り替える必要がある場合に、アプリケーションに 2 回戻ります。 代替グループが db2dsdriver.cfg ファイルに alternategroup パラメーターで指定されていて、enableAlternateGroupSeamlessAcr が FALSE に設定されていると、このエラーが 2 回戻されます。 最初の SQL30108N エラー (理由コード 2) は、現行グループのメンバーへの既存の接続が失敗したときに戻されます。 2 番目の SQL30108N エラー (理由コード 4) は、既存の 1 次グループ内のすべてのメンバーに対する接続試行がすべて失敗したときに戻されます。 その後、代替グループへの再接続が認可されている場合、アプリケーションは 2 回目の SET ステートメントまたは SQL ステートメントを再実行依頼できます。 CLI ドライバーは、ACR 接続エラー (SQL30108N) が戻されたときに、同じ接続ハンドルで障害が発生したメンバーを追跡して、障害が発生したメンバーにステートメントが再実行依頼されないようにします。注: SQL30108N は、以下のシナリオでは 2 回返されません。
- Db2 Connect サーバーがゲートウェイとして使用される場合。
- ACR フィーチャーが明示的に有効にされ、WLB フィーチャーが無効な場合。
- リモート・クライアントとローカル・クライアントの両方のために DB2 Connect サーバーを使用してホストまたは System i データベースへのアクセスを提供する場合、システム・データベースのディレクトリー項目にある代替サーバーの接続情報に関して混乱が生じる可能性があります。 この混乱を最小限に抑えるために、同じホストまたは System i データベースを表すように、システム・データベースのディレクトリーで 2 つの項目をカタログすることを検討してください。 リモート・クライアント用に 1 つの項目、ローカル・クライアント用にもう 1 つの項目をカタログします。
- ターゲット Db2 for z/OS サーバーから返される並列シスプレックス情報は、 Db2 Connect サーバーのキャッシュにのみ保持されます。 ディスクに書き込まれる代替サーバーは 1 つのみです。 複数の代替サーバーまたは複数のアクティブ・サーバーが存在する場合、その情報はメモリーでのみ維持され、プロセスが終了すると失われます。
10.10.10.1 hostname01.linux hostname01
10.10.10.2 hostname02.linux hostname02
代替サーバーが指定されている場合、一般的に、通信エラーが検出されたときに自動クライアント・リルートが使用可能になります。 高可用性災害時リカバリー (HADR) 環境では、SQL1776N が HADR スタンバイ・サーバーから戻された場合にも、使用可能になります。
HADR および Db2 pureScale に関する考慮事項
Db2 pureScale インスタンス内の 1 つのメンバーへの接続を確立すると、返されるサーバー・リストには、そのインスタンスのすべてのメンバーに関する情報だけでなく、代替サーバー上の Db2 pureScale インスタンスのホスト名とポートに関する情報も含まれます。 クライアントは、 Db2 pureScale インスタンス内の 1 つのメンバーに接続できない場合 (または HADR が構成されている場合は 1 次データベース上のメンバーに接続できない場合)、別のメンバーに接続しようとします。 どのメンバーにも接続できない場合は、指定された代替サーバー・アドレス (HADR 環境ではスタンバイ・データベース) で Db2 pureScale インスタンスを試行します。 可用性の向上のため、代替サーバー・アドレスとして接続ディストリビューターまたはマルチホーム DNS エントリーを使用できますが、その際には必ず、代替サーバーの複数のメンバーが含まれるようにディストリビューターまたはマルチホーム DNS エントリーを構成する必要があります。
代替サーバーごとに 1 つだけメンバーをリストすることもできますが、リストされたメンバーがオフラインの場合にはクライアントがクラスターにアクセスできなくなるので、代替グループ方式を使用してクラスター内の複数のメンバーを定義することを強くお勧めします。 これを行う方法については、関連リンク
を参照してください。
- クライアント・アフィニティー
- 1 次メンバーとスタンバイ・メンバーをリストして、クライアントがどちらも試行できるようにします。 クライアント・アフィニティーおよび ACR を一緒に使用することはできません。 クライアント・アフィニティーが有効になっている場合、ACR で指定される代替サーバーは無視されます。 クライアント・アフィニティーが有効になっている場合、代替グループは定義できません。 詳しくは、
Db2のクライアント・アフィニティー
のトピックを参照してください。 - 仮想 IP
- 常に現行の 1 次サーバーを指し示す仮想 IP アドレスを定義します。