ページの先頭行へ戻る
Symfoware Server V12.1.x アプリケーション開発ガイド(共通編)
FUJITSU Software

1.4 リモートアクセス時の注意事項

リモートアクセスを行う場合、クライアントの電源切断によりデータベース資源が占有されたままとなることがあります。この場合、以下のいずれかの方法でデータベース資源の解放を行います。

注意

データベース簡単運用では、rdbtermコマンドによるデータベース資源の解放はできません。

なお、Symfoware/RDBでは、電源切断後に再度リモートアクセスが行われると、クライアントのシステム起動時刻を利用し、データベース資源の解放を行います。このため、クライアントのシステム時刻を業務中に変更すると、クライアントから依頼されている業務で利用しているデータベース資源が不当に解放されることがあります。クライアントのシステム時刻は、業務中は変更しないでください。

また、Connection Managerを利用している場合は、Connection Managerがクライアントのダウン検出し、コネクション自動削除機能によりデータベース資源の解放を行うため、データベース資源が不当に解放されることはありません。

クライアントを再起動してデータベース資源を解放する手順を以下に示します。クライアントの再起動で、アプリケーションがCONNECT文を実行すると、解放されていないデータベースの資源が解放されます。

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

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

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

3. 電源切断後に再度リモートアクセス

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

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

(3) アプリケーションがCONNECT文を実行すると、解放されていないデータベースの資源の解放を行う。


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

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

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

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

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

3. 待機系のRDBシステムに切り替わって再度リモートアクセス

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

CLUSTER_SERVICE_NAME = (SERVICE1)

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

CLUSTER_SERVICE_NAME = (SERVICE1)

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

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

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