スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

19.13.1 対処手順

UAP又はユティリティが終了しないと(接続中のユーザが存在すると)HiRDBを終了できません。HiRDBの終了時に接続中のユーザが存在する場合は,KFPS05120-Wメッセージを出力し,接続ユーザ情報ファイル及び接続ユーザ詳細ファイルを出力します。このとき,HiRDB管理者は次に示す手順に従って接続中のユーザを切断し,HiRDBを終了してください。

〈手順〉
[図データ]

処理ボックスの左にある数字はこの後で説明している( )レベルに対応しています。例えば,5の操作は(5)で説明しています。
<この項の構成>
(1) 接続中のユーザを調べます
(2) 実行中のトランザクションが存在するか調べます
(3) READY(p,?)又はFORGETTING(?,w)状態のトランザクションが存在しますか?
(4) 未決着状態のトランザクションを決着させます
(5) 実行中のトランザクションが存在しますか?
(6) トランザクションを強制終了しますか?
(7) 接続中のユーザ(UAP)をpdcancelコマンドで強制終了します
(8) 1分程度待ちます
(9) トランザクションが終了するのを待ちます
(10) 接続中のユーザ(UAP)をpdcancelコマンドで切断します
(11) 1分程度待ちます
(12) pdstopコマンドがタイムアウトしていますか?
(13) pdstopコマンドを実行します
(14) KFPS01840-Iメッセージが出力されましたか?

(1) 接続中のユーザを調べます

(a) pdls -d prcコマンドで接続中のユーザを調べる場合
 
pdls -d prc
 
HOSTNAME : k95x620(173420)
STATUS   PID   UID   GID   SVID   TIME      PROGRAM    C-PID   C-GRP
 
  L      22118 334   300   fes1   173330    uap00      22205   PC
 

〔説明〕
PROGRAMに表示されているUAP識別子を確認します。接続中のUAPはuap00です。
(b) 接続ユーザ情報ファイルで接続中のユーザを調べる場合

接続先ユーザ情報ファイルの出力内容については,「19.13.2 接続ユーザ情報ファイルと接続ユーザ詳細ファイル」を参照してください。

 
UNIT ID : UNT1(173420)
 UID  PID    GID  SVID  TIME    PROGRAM  C-GRP  C-PID   C-IP
 334  22118  300  fes1  173330  uap00    PC     22205   172.17.32.37
 

〔説明〕
PROGRAMに表示されているUAP識別子を確認します。接続中のUAPはuap00です。

(2) 実行中のトランザクションが存在するか調べます

pdls -d trnコマンドを実行するか,又は接続ユーザ詳細ファイル中のpdls -d trnコマンドの実行結果から実行中のトランザクションが存在するかを調べます。

接続ユーザ詳細ファイルの出力内容については,「19.13.2 接続ユーザ情報ファイルと接続ユーザ詳細ファイル」を参照してください。

(3) READY(p,?)又はFORGETTING(?,w)状態のトランザクションが存在しますか?

pdls -d trnコマンドの実行結果,又は接続ユーザ詳細ファイルの情報からREADY(p,?)又はFORGETTING(?,w)状態のトランザクションが存在するかを調べてください。

(4) 未決着状態のトランザクションを決着させます

19.14 未決着状態のトランザクションがあるときの対処方法」を参照して未決着状態のトランザクションを決着してください。

(5) 実行中のトランザクションが存在しますか?

pdls -d trnコマンドの実行結果,又は接続ユーザ詳細ファイルの情報からREADY(p,?)又はFORGETTING(?,w)状態以外のトランザクションが存在するかを調べてください。

(6) トランザクションを強制終了しますか?

READY(p,?)又はFORGETTING(?,w)状態以外のトランザクションが存在した場合,そのトランザクションを強制終了するか,トランザクションが決着するのを待つかを決定します。実行中のトランザクションの処理時間が短い場合はトランザクションの終了を待ってください。処理時間が長い場合はトランザクションを強制終了してください。

(7) 接続中のユーザ(UAP)をpdcancelコマンドで強制終了します

pdcancelコマンドでトランザクションを強制終了します。

HiRDB/シングルサーバの場合

 
pdcancel -u UAP00 -i 22118
 

HiRDB/パラレルサーバの場合(実行例1)

 
pdcancel -x k95x620 -u UAP00 -i 22118
 

HiRDB/パラレルサーバの場合(実行例2)

 
pdcancel -X UNT1 -u UAP00 -i 22118
 

〔説明〕
-u:UAP識別子を指定します。
-x:UAPが接続しているフロントエンドサーバがあるホスト名を指定します。指定するホスト名はpdls -d prcコマンドの実行結果のHOSTNAMEに表示されます。
-X:ユニット識別子を指定します。指定するユニット識別子は接続ユーザ情報ファイルのUNIT IDに表示されます。
-i:プロセスIDを指定します。

(8) 1分程度待ちます

pdcancelコマンドの実行後,トランザクションが自動的に決着するのを待ちます。

(9) トランザクションが終了するのを待ちます

トランザクションを強制終了しない場合は,トランザクションが終了するのを待ちます。

(10) 接続中のユーザ(UAP)をpdcancelコマンドで切断します

接続中のユーザにトランザクションが存在しない場合は,接続中のユーザをpdcancelコマンドで切断してください。

HiRDB/シングルサーバの場合

 
pdcancel -i 22118 -d
 

HiRDB/パラレルサーバの場合(実行例1)

 
pdcancel -x k95x620 -i 22118 -d
 

HiRDB/パラレルサーバの場合(実行例2)

 
pdcancel -X UNT1 -i 22118 -d
 

〔説明〕
-x:UAPが接続しているフロントエンドサーバがあるホスト名を指定します。指定するホスト名はpdls -d prcコマンドの実行結果のHOSTNAMEに表示されます。
-X:ユニット識別子を指定します。指定するユニット識別子は接続ユーザ情報ファイルのUNIT IDに表示されます。
-i:プロセスIDを指定します。
-d:HiRDB側のサーバプロセスを強制終了する場合に指定します。-dオプションを指定するとcoreファイルが出力されます。coreファイルが不要な場合はpdcspoolコマンドで削除してください。

(11) 1分程度待ちます

pdcancelコマンドの実行後はユーザの接続が切断されて,HiRDBの終了処理が再開されるのを待ちます。

(12) pdstopコマンドがタイムアウトしていますか?

KFPS05047-Eメッセージが出力されていると,pdstopコマンドがタイムアウトしています。

(13) pdstopコマンドを実行します

pdstopコマンドがタイムアウトした場合は,再度pdstopコマンドを実行してください。

(14) KFPS01840-Iメッセージが出力されましたか?

KFPS01840-Iメッセージが出力されている場合,HiRDBの終了処理が開始されています。