ページの先頭行へ戻る
PRIMEFLEX for HA Database 業務開発ガイド(Native SQL編)
FUJITSU Integrated System

4.5.1 コネクションの強制切断

コネクションの強制切断は、アプリケーションの異常状態を解消する場合に利用します。

たとえば、接続したまま長時間使用していないコネクションや、資源を占有したままのコネクションが存在すると、新しいコネクションの接続が失敗したり、待ち状態になることがあります。

このような場合には、rdbtermコマンドを使用して、原因となるコネクションを切断することで新しいコネクションの接続や、待ち状態の解除を行うことができます。

なお、rdbtermコマンドのコネクションの切断は非同期で実行されます。

コネクションが回収されたかどうかは、rdbcninfコマンドで確認してください。

参照

rdbtermコマンドの指定方法の詳細については、“Symfoware Server コマンドリファレンス”を参照してください。

4.5.1.1 コネクションの接続がエラーになる場合の対処

アプリケーションに“JYP1052E”が返却された場合には、不要なコネクションが存在しないかを、rdbcninfコマンドで確認してください。不要なコネクションかどうかは、rdbcninfコマンドのトランザクション状態(Tran)やアイドル時間(Idle)を基に、長時間アプリケーションからの要求のないコネクションを特定します。この不要なコネクションを、rdbtermコマンドで切断することにより、新しいコネクションの接続が可能になります。

操作例
rdb: ERROR: qdg12147e:通信処理において異常が発生しました:'JYP1052E 接続できる
     通信の最大数を越えました.通信種別 =“SYS”’ (システム名=DBAP)

$ rdbcninf -s 

RDBII rdbcninf DATE:2007/04/14 TIME:11/36/00 

Remote Connection Status(exec/term/free/total) : 5/ 0/ 0/ 5 

Status  Idle   Tran   Type    Connection-Info 
EXEC    00:00  ACT    TCP/IP  10.124.4.123/19562/1 
EXEC    00:00  ACT    TCP/IP  10.124.4.123/19562/2 
EXEC    00:00  ACT    TCP/IP  10.124.4.123/19562/3 
EXEC   131:32  INACT  TCP/IP  10.124.4.234/19598/1 
EXEC   125:58  INACT  TCP/IP  10.124.4.234/19616/1 

4.5.1.2 アプリケーションの応答が長時間ない場合の対処

アプリケーションと接続しているRDBサーバの応答が長時間ない場合は、対象となる資源を別のアプリケーションが占有したままとなっているため、待ち状態になっている可能性があります。この場合は、rdbtermコマンドにより、資源を占有しているコネクションを切断することで、アプリケーションの処理を続行することができます。占有しているかどうかは、rdblkinfコマンドおよびrdbcninfコマンドを基に特定します。

コネクションの切断方法を、以下に示します。

操作例
rdb: ERROR: qdg12147e:通信処理において異常が発生しました:'JYP1052E 接続できる
     通信の最大数を越えました.通信種別 =“SYS”’ (システム名=DBAP)

$ rdblkinf -l -e 

RDBII rdblkinf DATE:2007/04/14 TIME:11/35/50 

DSI-name : DB0001.DSI0001 
  Status  Uid    Pid    Sid  Type    Name                  Unit  Purpose 
  ACTIVE  I4874  19656  1    TCP/IP  10.124.4.123/DEFAULT  DSI   REFER|UPDATE  
  WAIT    I4874  19641  2    TCP/IP  10.124.4.123/DEFAULT  DSI   REFER 

$ rdbcninf -s 

RDBII rdbcninf DATE:2007/04/14 TIME:11/36/00 

Remote Connection Status(exec/term/free/total) : 0/ 0/ 0/ 5 

$ rdbterm -p 19656/1