hdsstate(反映側Datareplicatorのステータス情報の取得)
機能
コマンドを実行した時点の反映側Datareplicatorの状態を標準出力に出力します。出力される情報は,次のとおりです。
-
共通情報
反映側システムに対するすべての反映処理に共通な情報です。
-
同期反映グループ情報
同期反映グループに関する情報です。
-
反映情報キューファイル情報
反映情報キューファイルの使用状態を表す情報です。
-
受信処理情報
プロトコル種別,受信イベントの有無など受信処理の状態を表す情報です。
-
反映処理情報
反映処理の動作モード,コミット間隔など反映処理の状態を表す情報です。
形式
hdsstate〔-d データ連動識別子|-g 同期反映グループ名〕
オプション
-
特定の抽出側システムに対する反映側Datareplicatorのステータス情報を取得する場合に,取得の対象とする抽出側システムのデータ連動識別子を指定します。データ連動識別子に**を指定した場合は,引数不正エラーとなります。
抽出側DBがHiRDBの場合のデータ連動識別子については,「5.2 抽出システム定義」を参照してください。抽出側DBがメインフレーム側DBの場合のデータ連動識別子については,マニュアル「VOS3 XDMデータ連動機能 XDM/DS 解説・定義」を参照してください。
-dオプションを省略すると,すべての抽出側システムに対応する反映側Datareplicatorのステータス情報が取得されます。
-
反映トランザクション同期機能使用時,同期反映グループを構成するデータ連動識別子のステータス情報を取得する場合に,その同期反映グループ名を指定します。
-gオプションを省略すると,すべての抽出側システムに対応する反映側Datareplicatorのステータス情報が取得されます。
規則
-
hdsstateコマンドを実行して,正常終了すると0が返されます。異常終了すると1が返されます。
-
hdsstateコマンドは,反映側Datareplicatorが稼働中のときだけ実行できます。
-
反映側Datareplicatorではhdsstateコマンドを実行した時点でステータス情報を取得し,標準出力に出力します。このため出力される情報は,実際の反映側Datareplicatorの状態とは多少ずれが発生することがあります。
-
欠番指定されたデータ連動識別子の情報は出力されません。
出力形式
共通情報
-
hdsid 〜 semid=907
hdsidには反映側Datareplicator識別子が出力されます。shmidには共用メモリIDが出力されます。semidにはセマフォIDが出力されます。
-
PID:hdsmaster 〜 hdsosimst=4694
hdsmasterには反映マスタプロセスIDが出力されます。hdstcpmst又はhdsosimstには,指定した通信プロトコルに対応する反映通信マスタプロセスIDが出力されます。
反映マスタプロセスが存在しない場合には,hdsstateコマンドを実行したときにエラーになります。反映通信マスタプロセスが存在しない場合には,反映通信マスタプロセスIDに0が出力されます。
同期反映グループ情報
-
sync-group=Grp001
sync-groupには同期反映グループ名称が出力されます。
-
shmid=4
shmidには同期反映グループで使用する共用メモリIDが出力されます。
-
semid=1
semidには同期反映グループで使用するセマフォIDが出力されます。
-
PID:hdsrefsync=27266
hdsrefsyncには同期管理プロセスのプロセスIDが出力されます。
-
syncwait tran count=11
前回のコミット以降,反映中の抽出側トランザクション数が出力されます。
反映情報
反映情報ファイル情報
-
dsid=a1 [sync-group:Grp001]
-dオプションで指定したデータ連動識別子が出力されます。指定したデータ連動識別子が存在しない場合には,hdsstateコマンドを実行したときにエラーになります。
同期反映グループに指定されていないデータ連動識別子の場合の出力形式は次のとおりです。
dsid=xx
同期反映グループに指定されているデータ連動識別子の場合の出力形式は次のとおりです。
dsid=xx [sync-group:同期反映グループ名]
-
wrap count=1
反映側Datareplicatorの初期開始時から,反映情報キューファイルを何順したかを出力します。
-
qufile001 〜 status:unused
反映環境定義のqufile001 〜 008オペランドで指定した反映情報キューファイルごとに,使用状況を出力します。使用状況は次のように出力されます。
using:使用中(更新情報が格納されている場合は常にusing)
unused:未使用
-
max used ratio:2005/11/10 13:47:41 70%
反映情報キューファイルの使用率が最大値を示した日時と,その使用率が表示されます。
反映情報キューファイルを初期化した時点,又はhdschgstatusコマンドで最大使用率をリセットした時点の表示形式は次のとおりです。
max used ratio : ****/**/** **:**:** 0%
-
current used ratio:2005/11/10 13:47:41 10%
hdsstateコマンドを実行した日時と,hdsstateコマンドを実行した時点の反映情報キューファイルの使用率が表示されます。
受信処理情報
-
PID:hdsosimst 〜 protocol=OSI
hdsosimstには受信プロセスIDが出力されます。protocolには通信プロトコルが出力されます。通信プロトコルは次のように出力されます。
TCP/IP:TCP/IPプロトコル
OSI:OSIプロトコル
受信プロセスが存在しない場合には,受信プロセスIDには−1が出力されます。
-
receiving event=exist
抽出側システムと接続した受信イベントの有無が出力されます。受信イベントの有無は次のように出力されます。
exist:受信イベントあり
not exist:受信イベントなし
N/A:該当しない(受信プロセスが停止中のため)
-
write position 〜 offset=2048
更新情報の書き込み位置が出力されます。
qufilexxxには反映環境定義で指定したqufile001 〜 008オペランドのうちの,更新情報を書き込んでいる反映情報キューファイルに対応するものが出力されます。offsetには,更新情報の書き込み位置が,ファイルの先頭からのオフセットで出力されます。
反映処理情報
-
PID:hdsdefserv 〜 definition-shmid=1305
hdsdefservには反映定義サーバプロセスIDが出力されます。definition-shmidには定義情報格納用共用メモリIDが出力されます。
反映定義サーバプロセスが存在しない場合,反映定義サーバプロセスIDには−1が出力されます。
-
reflection mode 〜 commit interval=1
reflection modeには反映処理モードが出力されます。commit intervalには反映処理コミット間隔が出力されます。反映処理モードは次のように出力されます。
init:反映処理初期化中(Datareplicatorの初期化後,更新情報を受信していない,又は抽出側の正常停止を検知していない状態を示します)
trn:トランザクション単位反映方式で処理中
tbl:表単位反映方式で処理中,又はUOC使用時
spd:反映処理のサスペンド中(この場合12. 〜 18. は表示されません)
N/A:該当しない(定義サーバプロセスが停止中のため)
反映処理コミット間隔には,コミットを発行する間隔が抽出側システムでのトランザクション数で出力されます。
反映処理コミット間隔に出力される値は,反映環境定義のcmtintvl,trncmtintvl,tblcmtintvlオペランドの指定値,又はhdsrfctlコマンドの-cオプションの指定値です。ただし,反映プロセスの起動処置中の場合には,0が出力されます。
-
GROUP 〜 hdssqle=4715
GROUPには反映グループ名が出力されます。hdsreflectには反映プロセスIDが出力されます。hdssqleには反映SQLプロセス(UOCプロセス)IDが出力されます。ただし,反映処理の停止後はプロセスIDが−1で表示されます。
反映グループ名に出力される名称は,次のとおり異なります。
trngroup:reflection modeがtrn又はinitの場合
反映グループ名:reflection modeがtblの場合
othergrp:反映グループの指定がない場合
uocxxx:UOCを使っている場合(xxxは001から順に出力されます)
反映SQLプロセス(UOCプロセス)IDには,反映SQLプロセスの場合にはhdssqleと出力され,反映UOCプロセスの場合にはユーザが定義した反映UOCプロセス名が出力されます。ただし,定義情報格納用共用メモリが存在しないときには,"uoc[unknown]"と出力されます。
-
status 〜 retbl
statusには反映処理の状態が出力されます。last eventには反映処理が最後に検知したイベントの種別が出力されます。
- 反映処理の状態は次のように出力されます。
-
run:動作中
definfo-wait:定義情報待ち
data-wait1:更新情報受信待ち(送信終了通知反映前)
data-wait2:更新情報受信待ち(送信終了通知反映後)
event-stop:イベント停止
normal-stop:正常停止
abnormal-stop:異常停止
midway-stop:強制停止
- イベントの種別は次のように出力されます。
-
none:イベント未検知
trn:トランザクション単位反映イベント
tbl:表単位反映イベント
spd:反映処理停止イベント
retrn:トランザクション単位反映再起動イベント
retbl:表単位反映再起動イベント
cntreset:反映処理数リセットイベント
end:終了イベント
other:その他
-
DB-status:normal
反映側DBの状態が次のように出力されます。
normal:正常な状態又は反映処理初期化中
critical:反映処理の同期点処理中に,反映処理が異常終了した状態
-
read transaction=4
反映処理を起動した時点からの,反映情報キューファイルから読み込んだトランザクション数が出力されます。
ここで出力される値は,コミットに関係なく,反映情報キューファイルに格納された更新情報の合計値です。コミットされたトランザクションの件数については,17.に出力されます。
-
read position 〜 1536
更新情報の読み込み位置が出力されます。
qufilexxxには反映環境定義で指定したqufile001 〜 008オペランドのうちの,更新情報を読み込んでいる反映情報キューファイルに対応するものが出力されます。offsetには,更新情報の読み込み位置が,ファイルの先頭からのオフセットで出力されます。
-
uocname=none
uocを使っている場合,UOC名が出力されます。uocを使っていない場合には,noneが出力されます。ただし,定義情報格納用共用メモリが存在しないときには,"N/A"と出力されます。
-
Reflection count 〜 commit(extract transaction)=4
反映処理を起動した時点から実行した反映処理の数が出力されます。
反映処理にUOCを使っている場合には,uocに引き渡した反映情報数が出力されます。UOCを使わない反映処理の場合には,SQLの実行数が出力されます。SQLの実行数は次のように出力されます。
ins:insert数
upd:update数
del:delete数
purge:purge数
commit:commit数
- timestamp:時系列情報表に対するinsert数
-
UOCを使っている場合には0
commit(extract transaction):COMMITした抽出元のトランザクション数
-
reflect delay times = 0000:00:05/0000:10:00
抽出側のHiRDBでコミットした時点から,その更新データを反映側HiRDBで反映するまでの経過時間,及び反映定義に指定した値が出力されます。表示形式は次のとおりです。
表示形式
説明
0000:00:00/定義値
反映プロセスから何も出力されていません。
****:**:**/****:**:**
反映環境定義のreflect_delay_limit_timeオペランドに0が指定されています。
--:----:--/定義値
9999:59:59を超えました。
-xxxx:xx:xx/定義値
抽出側のHiRDBでコミットした時点からと,その更新データが反映されるまでの経過時間がマイナスです。抽出側のマシンの時刻が,反映側のマシンの時刻より進んでいます。
-
SQL distribute information 〜 timestamp=0
反映処理のSQLプロセスごとのcommit済み反映処理の数が出力されます。
この反映処理の数は,キーレンジ分割やハッシュ分割を実行したときのSQLプロセスの実行数を示します。SQLの実行数は次のように出力されます(ins,upd,del,purge,timestampは,17. と一致します)。
ins:insert数
upd:update数
del:delete数
purge:purge数
commit:commit数
timestamp:時系列情報表に対するinsert数
上記の値は,反映処理が起動したときだけ0に戻ります。
補 足
-
共通情報の1.〜2.は,反映側Datareplicatorが保持するすべてのReplication nodeに共通する情報です。
-
反映情報の1.〜19.は,データ連動識別子ごとに保持する情報です。このため,hdsstateコマンドの -dオプションを省略すると,すべてのデータ連動識別子の数だけ出力されます。-dオプションでデータ連動識別子を指定すると,指定したデータ連動識別子の数だけ出力されます。
-
反映情報の9.〜19.は,反映処理のグループの数だけ出力されます。
-
反映情報の14.は,処理中又は最後に処理したトランザクションを示します。17.は,反映が完了した(反映側DBにCOMMITした)トランザクション数を示します。
-
hdsstart -iコマンドで起動して,かつreflection modeがspdの場合は,commit intervalに0が表示されます。
-
SAMファイルからの更新情報を使ったデータ連動の場合,受信処理情報は次のようになって,反映情報の6.〜8.は出力されません。
Communication process not effective
-
反映情報の19.は,キーレンジ分割やハッシュ分割などの一つの反映プロセスに対して複数のSQLプロセスが起動するときにだけ出力されます。
-
反映情報の2.は,値が2147483647を超えると0に戻ります。
-
反映情報の14.,17.,19.は,値が18446744073709551615を超えると0に戻ります。
-
反映情報の14.,17.,19.で出力される情報は,反映側Datareplicatorの起動単位でリセットされます。
-
反映情報の17.及び19.で出力される情報は,次の契機でリセットされます。
-
反映側Datareplicatorの初期化(部分初期化を含む)又は起動※
-
反映環境定義のeventcntresetオペランドに指定したイベントの検知
注※ 反映システム定義のreflect_counter_resetにtrueを指定している場合
-
-
次の場合,反映処理件数はリセットされます。
-
前回稼働時の反映処理方式と異なる方式で反映側Datareplicatorを起動した場合
-
表単位反映方式で,かつ前回稼働時の反映グループについて,次の内容を変更した場合
・反映グループ名
・SQLプロセス数
・分割方式(キーレンジ分割,ハッシュ分割)
・キーレンジ分割の場合,キーレンジグループ数
・ハッシュ分割の場合,ハッシュ分割表のRDエリア数
なお,詳細については,反映システム定義のreflect_counter_resetオペランドを参照してください。
-