hdsstate反映側Datareplicatorのステータス情報の取得

機能

コマンドを実行した時点の反映側Datareplicatorの状態を標準出力に出力します。出力される情報は,次のとおりです。

形式

     hdsstate〔-d データ連動識別子|-g 同期反映グループ名〕

オプション

規則

出力形式

[図データ]

[図データ]

共通情報

  1. hdsid ~ semid=907
    hdsidには反映側Datareplicator識別子が出力されます。shmidには共用メモリIDが出力されます。semidにはセマフォIDが出力されます。
  2. PID:hdsmaster ~ hdsosimst=4694
    hdsmasterには反映マスタプロセスIDが出力されます。hdstcpmst又はhdsosimstには,指定した通信プロトコルに対応する反映通信マスタプロセスIDが出力されます。
    反映マスタプロセスが存在しない場合には,hdsstateコマンドを実行したときにエラーになります。反映通信マスタプロセスが存在しない場合には,反映通信マスタプロセスIDに0が出力されます。

同期反映グループ情報

  1. sync-group=Grp001
    sync-groupには同期反映グループ名称が出力されます。
  2. shmid=4
    shmidには同期反映グループで使用する共用メモリIDが出力されます。
  3. semid=1
    semidには同期反映グループで使用するセマフォIDが出力されます。
  4. PID:hdsrefsync=27266
    hdsrefsyncには同期管理プロセスのプロセスIDが出力されます。
  5. syncwait tran count=11
    前回のコミット以降,反映中の抽出側トランザクション数が出力されます。

反映情報

反映情報ファイル情報

  1. dsid=a1 [sync-group:Grp001]
    -dオプションで指定したデータ連動識別子が出力されます。指定したデータ連動識別子が存在しない場合には,hdsstateコマンドを実行したときにエラーになります。
    同期反映グループに指定されていないデータ連動識別子の場合の出力形式は次のとおりです。

    dsid=xx

    同期反映グループに指定されているデータ連動識別子の場合の出力形式は次のとおりです。

    dsid=xx [sync-group:同期反映グループ名]

  2. wrap count=1
    反映側Datareplicatorの初期開始時から,反映情報キューファイルを何順したかを出力します。
  3. qufile001 ~ status:unused
    反映環境定義のqufile001 ~ 008オペランドで指定した反映情報キューファイルごとに,使用状況を出力します。使用状況は次のように出力されます。
    using:使用中(更新情報が格納されている場合は常にusing)
    unused:未使用
  4. max used ratio:2005/11/10 13:47:41 70%
    反映情報キューファイルの使用率が最大値を示した日時と,その使用率が表示されます。
    反映情報キューファイルを初期化した時点,又はhdschgstatusコマンドで最大使用率をリセットした時点の表示形式は次のとおりです。

    max used ratio     : ****/**/** **:**:**    0%

  5. current used ratio:2005/11/10 13:47:41 10%
    hdsstateコマンドを実行した日時と,hdsstateコマンドを実行した時点の反映情報キューファイルの使用率が表示されます。
    受信処理情報
  6. PID:hdsosimst ~ protocol=OSI
    hdsosimstには受信プロセスIDが出力されます。protocolには通信プロトコルが出力されます。通信プロトコルは次のように出力されます。
    TCP/IP:TCP/IPプロトコル
    OSI:OSIプロトコル
    受信プロセスが存在しない場合には,受信プロセスIDには-1が出力されます。
  7. receiving event=exist
    抽出側システムと接続した受信イベントの有無が出力されます。受信イベントの有無は次のように出力されます。
    exist:受信イベントあり
    not exist:受信イベントなし
    N/A:該当しない(受信プロセスが停止中のため)
  8. write position ~ offset=2048
    更新情報の書き込み位置が出力されます。
    qufilexxxには反映環境定義で指定したqufile001 ~ 008オペランドのうちの,更新情報を書き込んでいる反映情報キューファイルに対応するものが出力されます。offsetには,更新情報の書き込み位置が,ファイルの先頭からのオフセットで出力されます。
    反映処理情報
  9. PID:hdsdefserv ~ definition-shmid=1305
    hdsdefservには反映定義サーバプロセスIDが出力されます。definition-shmidには定義情報格納用共用メモリIDが出力されます。
    反映定義サーバプロセスが存在しない場合,反映定義サーバプロセスIDには-1が出力されます。
  10. reflection mode ~ commit interval=1
    reflection modeには反映処理モードが出力されます。commit intervalには反映処理コミット間隔が出力されます。反映処理モードは次のように出力されます。
    init:反映処理初期化中
    trn:トランザクション単位反映方式で処理中
    tbl:表単位反映方式で処理中,又はUOC使用時
    spd:反映処理のサスペンド中(この場合12. ~ 18. は表示されません)
    N/A:該当しない(定義サーバプロセスが停止中のため)
    反映処理コミット間隔には,コミットを発行する間隔が抽出側システムでのトランザクション数で出力されます。
    反映処理コミット間隔に出力される値は,反映環境定義のcmtintvl,trncmtintvl,tblcmtintvlオペランドの指定値,又はhdsrfctlコマンドの-cオプションの指定値です。ただし,反映プロセスの起動処置中の場合には,0が出力されます。
  11. 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]"と出力されます。
  12. status ~ retbl
    statusには反映処理の状態が出力されます。last eventには反映処理が最後に検知したイベントの種別が出力されます。
    反映処理の状態は次のように出力されます。
    run:動作中
    definfo-wait:定義情報待ち
    data-wait1:更新情報受信待ち(送信終了通知反映前)
    data-wait2:更新情報受信待ち(送信終了通知反映後であり,hdsstopコマンドが実行可能)
    event-stop:イベント停止
    normal-stop:正常停止
    abnormal-stop:異常停止
    midway-stop:強制停止
    イベントの種別は次のように出力されます。
    none:イベント未検知
    trn:トランザクション単位反映イベント
    tbl:表単位反映イベント
    spd:反映処理停止イベント
    retrn:トランザクション単位反映再起動イベント
    retbl:表単位反映再起動イベント
    cntreset:反映処理数リセットイベント
    end:終了イベント
    other:その他
  13. DB-status:normal
    反映側DBの状態が次のように出力されます。
    normal:正常な状態又は反映処理初期化中
    critical:反映処理の同期点処理中に,反映処理が異常終了した状態
  14. read transaction=4
    反映処理を起動した時点からの,反映情報キューファイルから読み込んだトランザクション数が出力されます。
    ここで出力される値は,コミットに関係なく,反映情報キューファイルに格納された更新情報の合計値です。コミットされたトランザクションの件数については,17.に出力されます。
  15. read position ~ 1536
    更新情報の読み込み位置が出力されます。
    qufilexxxには反映環境定義で指定したqufile001 ~ 008オペランドのうちの,更新情報を読み込んでいる反映情報キューファイルに対応するものが出力されます。offsetには,更新情報の読み込み位置が,ファイルの先頭からのオフセットで出力されます。
  16. uocname=none
    uocを使っている場合,UOC名が出力されます。uocを使っていない場合には,noneが出力されます。ただし,定義情報格納用共用メモリが存在しないときには,"N/A"と出力されます。
  17. Reflection count ~ commit(extract transaction)=4
    反映処理を起動した時点から実行した反映処理の数が出力されます。これらの値は,反映側Datareplicatorを再開始しても,前回起動時の内容が引き継がれます。
    反映処理にUOCを使っている場合には,uocに引き渡した反映情報数が出力されます。UOCを使わない反映処理の場合には,SQLの実行数が出力されます。SQLの実行数は次のように出力されます。
    ins:insert数
    upd:update数
    del:delete数
    purge:purge数
    commit:commit数
    timestamp:時系列情報表に対するinsert数
    UOCを使っている場合には0
    commit(extract transaction):COMMITした抽出元のトランザクション数
  18. 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でコミットした時点からと,その更新データが反映されるまでの経過時間がマイナスです。抽出側のマシンの時刻が,反映側のマシンの時刻より進んでいます。
  19. 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に戻ります。

補 足