単一のトランザクションで複数のデータベースを使用している場合は、 トランザクション内で更新されるデータベースの数によって、 環境の設定と管理に求められる要件が異なってきます。
データが複数のデータベースに分散している場合には、 1 つのデータベースを更新中に、それ以外のデータベースから読み取ることもできます。 このようなタイプのアクセスを複数サイト更新 または 2 フェーズ・コミット といい、 単一の作業単位内 (トランザクション) で実行できます。 複数サイト更新の別の例については、複数のデータベースの更新を参照してください。
図 39. 単一のトランザクションで複数のデータベースを使用する場合
![]() |
図 39 には、 2 つのデータベース・サーバー (1 つは当座預金の表と普通預金の表を含み、 もう 1 つは銀行手数料料金表を含む) にアクセスして、 基金振替アプリケーションを実行するデータベース・クライアントが示されています。 この例は、図 38に示される例と類似していますが、 データベースの数と表の位置が違っています。
この環境で基金振替アプリケーションをセットアップするには、以下の処理を行う必要があります。
データベースがホストまたは AS/400 データベース・サーバーにある場合、 これらのサーバーへの接続には DB2 コネクトが必要です。 セットアップについては、 いずれかの DB2 コネクト 概説およびインストール を参照してください。 DB2 コネクトの使用については、DB2 コネクト 使用者の手引き を参照してください。
データが複数のデータベースに分散している場合は、 単一のトランザクションで複数のデータベースの読み取りと更新を行いたいと思う場合があります。 このタイプのデータベース・アクセスは、 複数サイト更新 と呼ばれます。
図 40. 単一のトランザクションで複数のデータベースを更新する
![]() |
図 40 には、3 つのデータベース・サーバー (それぞれ当座預金の表、 普通預金の表、および銀行手数料料金表を含む) にアクセスして、 基金振替アプリケーションを実行するデータベース・クライアントが示されています。
この環境で基金振替アプリケーションをセットアップするには、以下の処理を行う必要があります。
データベース・マネージャーには、単一の作業単位内で複数のデータベースを更新する作業を調整する ために使用できるトランザクション・マネージャー機能があります。 データベース・クライアントは作業単位を自動的に調整し、 トランザクション・マネージャー・データベース を使用して、 それぞれのトランザクションを登録し、その完了状況を記録します。
IBM TXSeries、BEA Tuxedo、 または Microsoft Transaction Server などの XA 準拠の トランザクション・マネージャーを使用している場合は、 統合に関する説明について 第 10 章, トランザクション・マネージャーの設計を参照してください。
UNIX ベースのシステム、Windows オペレーティング・システム、 または OS/2 版の DB2 UDB を使ってトランザクションを調整する場合は、 いくつかの構成上の要件を満たす必要があります。 通信に TCP/IP だけを使用し、 トランザクションに組み込まれている データベース・サーバーが DB2 UDB と DB2 (OS/390 版) だけである場合は、 単純な構成を使用できます。
以下のすべてが当てはまる環境では、 複数サイト更新のための構成ステップは単純です。
DB2 コネクト同期点マネージャーは DB2 インスタンスの作成時に自動的に構成されるもので、 以下の場合に必要です。
これは、ホストまたは AS/400 データベース・サーバーでの SNA 接続性と TCP/IP 接続性の両方に当てはまります。 詳細については、第 10 章, トランザクション・マネージャーの設計を参照してください。 DB2 コネクト同期点マネージャーが必要でない環境は、 DB2 コネクト・サーバーでコマンド db2 update dbm cfg using spm_name NULL を 発行してこれをオフにすることができます。 その後、DB2 を停止して再始動してください。
トランザクション・マネージャー・データベースとして使用されるデータベースは、 データベース構成パラメーター tm_database によって、 データベース・クライアントで決められます。 この構成パラメーターについて詳しくは、 第 32 章, DB2 の構成 を参照してください。 このパラメーターを設定するときは、以下の要素を考慮に入れてください。
このデータベース・サーバーを トランザクション・マネージャー・データベースとして使用することをお勧めします。 一般的に、OS/390 システムはワークステーション・サーバーよりも安全で、 偶発的な電源遮断、リブート、などの可能性が低くなっています。 したがって、再同期時に使われる回復ログは、より確かなものとなります。
1ST_CONN を使用するときには注意が必要です。 この構成を使用するのは、 参加するすべてのデータベースを正しくカタログ化するのが容易な場合のみ、 つまり、以下のような場合のみにしてください。
トランザクション・マネージャー・データベースとして使用されているデータベースからの切断をアプリケーションが試みると、 警告メッセージを受け取り、作業単位がコミットされるまで接続はそのまま保持されることに注意してください。
以下のような環境では、複数サイト更新の構成ステップは複雑になります。
トランザクション・マネージャー・データベースとして使用されるデータベースは、 データベース構成パラメーター tm_database によって、 データベース・クライアントで決められます。 この構成パラメーターについて詳しくは、 第 32 章, DB2 の構成 を参照してください。 このパラメーターを設定するときは、以下の要素を考慮に入れてください。
1ST_CONN を使用するときには注意が必要です。 この構成を使用するのは、 参加するすべてのデータベースを正しくカタログ化するのが容易な場合のみ、 つまり、以下のような場合のみにしてください。
トランザクション・マネージャー・データベースとして使用されているデータベースからの切断をアプリケーションが試みると、 警告メッセージを受け取り、作業単位がコミットされるまで接続はそのまま保持されることに注意してください。