Unifstatに(1 Orphaned , run unidbclr)と表示される問題

Document created by shunsuke_katakura Employee on Jul 30, 2015
Version 1Show Document
  • View in full screen mode

文書番号:            JTEC002244

製品名:                NSM

バージョン:           -

OS:                     -


◆ 詳細内容

unifstatコマンド実行時、dbserverプロセスに以下のメッセージが表示される問題について。
CA-Dbserver running (1 Orphaned, run unidbclr)

 

 

◆ 回避方法/設定方法

1 Oprhaned, run unidbclrは「不要なプロセスが1つ残っているので、unidbclrコマンドを実行して下さい」という意味です。
unidbclrコマンドは$CAIGLBL0000/binにあります。

unidbclrコマンドは不要なdbserverプロセスからリソースを開放して、同プロセスを停止させます。
dbserverはcadb(Unicenterのデータベース)にアクセスする仲介サーバプロセスです。
cadbを利用するプロセスは自分の子プロセスとしてdbserverを起動し、dbserverプロセスにレコードの更新や取得を要求します。
dbserverを起動した親プロセスが異常終了などによりdbserverプロセスを停止せずに終了すると、親プロセスを持たないdbserverプロセスが残ってしまいます。
この時、unifstatに"1 Orphaned, run unidbclr"と表示されます。

unidbclrコマンドは以下の処理を実行します

1 db_fshm -clean(不要なdbserverプロセスのクリーンアップ)
dbserverと親プロセス間のデータ受け渡し用に確保していた共有メモリとセマフォの開放。
dbserverがcadbにアクセスする為に確保したセマフォの開放。
不要なdbserverプロセスの停止。
2 caidbclr(データベースの不要なセッションのリリース)
caidbclrはcaidbckのシンボリックリンクです。
caidbckはcadb領域の利用状況などの統計情報と、dbserverのセッション情報を出力し、不要なセッションがあればそれをリリースするかを尋ねます。
caidbclrは統計情報の出力をせずにdbserverセッション情報を出力し不要なセッションをリリースします。
3 kill -6, kill -9
もし不要なdbserverプロセスが残っているにも関わらず、cadbをシャットダウンするとdb_fshmやcaidbclrが実行できない為、不要なdbserverプロセスを停止できません。
この場合の為に最後に不要なdbserverプロセスをkillします。

Attachments

    Outcomes