Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU -
目次 索引 前ページ次ページ

上へ第6章 クライアント・サーバ
上へ6.7 リモートアクセスする場合の注意事項

6.7.2 RDB2_TCP接続時の注意事項

リモートのデータベースに対してRDB2_TCPにより通信を行った場合、クライアントの電源切断によりデータベース資源が占有されたままとなることがあります。このような場合には、接続先のシステムでrdbtermコマンを使用することにより、データベース資源の解放を行うことができます。また、Symfoware/RDBでは、電源切断後に再度RDB2_TCPで通信されたときに、クライアントのシステム起動時刻を利用し、データベース資源の解放を行います。そのため、クライアントのシステム時刻を業務中に変更すると、クライアントから依頼されている業務で利用しているデータベース資源が不当に解放されることがあります。クライアントのシステム時刻は、業務中は変更しないでください。

クライアントの電源切断によりデータベース資源が解放されない場合は、クライアントを再起動します。応用プログラムがCONNECTを実行すると、解放されていないデータベースの資源が解放されます。

クライアントが電源切断した場合のデータベース資源の解放手順を以下に示します。

1.データベース資源アクセス中

image

2. クライアント電源切断

クライアントの電源切断によりデータベース資源が解放されない。

image

3. 電源切断後に再度RDB2_TCPで接続

image

(1) クライアントの電源切断によりデータベース資源が解放されない場合がある。

(2) クライアントが電源切断したため、再起動する。

(3) 応用プログラムがCONNECT文を実行すると、解放されていないデータベースの資源の解放を行う。

 

また、アプリケーションサーバとデータベースサーバが分離した3階層モデルにおいて、アプリケーションサーバをフェイルオーバ運した場合は、運用システムの電源切断によりデータベース資源が占有されたままとなる場合があります。このとき、運用システムから待機システムに切り替わって再度RDB2_TCP接続によって通信が行われますが、運用システムと待機システムのIPアドレスが異なるため、待機システムにおいて応用プログラムがCONNECT文を実行しても、データベース資源が占有されたままとなります。フェイルオーバ運用をしている場合には、応用プログラムを実行する際に、クライアント用の動作環境ファイルにクラスタサービスを設定して、運用システムと待機システムの関連付けを行う必要があります。クラスタサービス名の設定についての詳細は、“クライアント用の動作環境ファイルの作成”を参照してください。

以下に、アプリケーションサーバとデータベースサーバが分離した3階層モデルにおいて、アプリケーションサーバをフェイルオーバ運用した場合のデータベース資源の解放手順を示します。

1. データベース資源アクセス中

image

2. 運用システムの電源切断

運用システムが電源切断されたため、データベース資源が解放されない。

image

3. 待機システムに切り替わって再度RDB2_TCP接続をする

image

運用系のクライアント用の動作環境ファイル

CLUSTER_SERVICE_NAME = (SERVICE1)

待機系のクライアント用の動作環境ファイル

CLUSTER_SERVICE_NAME = (SERVICE1)

(1) 運用システムからリモートデータベースに対して、RDB2_TCP接続でデータベースにアクセスしている。

(2) 運用システムの電源切断により待機システムに切り替わる。このとき、データベース資源の占有が解除されていない。

(3) 待機システムから再度RDB2_TCP接続でCONNECT文を実行すると、解放されていないデータベース資源の解放を行う。ただし、この場合、応用プログラムの実行時に、クライアント用の動作環境ファイルにクラスタサービス名CLUSTER_SERVICE_NAMEを設定しておく必要がある。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2003-2004