Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


jnlrput

〈このページの構成〉

名称

アンロードジャーナルファイル,またはグローバルアーカイブアンロードジャーナルファイルのレコード出力

形式

jnlrput 〔-t〔開始〕〔,終了〕〕〔-e〕〔-f〕〔-l〕〔-c キー〕
        〔-u トランザクショングローバル識別子
                                  〔,トランザクションブランチ識別子〕〕
        〔-o ジャーナル取得モード〔ジャーナル取得モード〕…〕
        〔-j レコード種別〔レコード種別〕…〕〔-q _trn〕〔-q _rpc〕
        〔-d 任意抽出条件〕〔-x〕〔ファイル名〔△ファイル名〕…〕

機能

指定したアンロードジャーナルファイル,またはグローバルアーカイブアンロードジャーナルファイルから,ユーザジャーナルや各種統計用ジャーナルの情報を標準出力に出力します。

出力できる情報を次に示します。

オプション

●-t 〔開始〕〔,終了〕

レコードデータ情報の出力範囲をジャーナル出力時刻で指定します。

開始には,出力を開始する時刻を指定します。終了には,出力を終了する時刻を指定します。

開始は,1970年1月1日0時0分0秒から当年当月当日の現在時刻までの範囲で指定します。

開始,または終了のどちらか一方を必ず指定してください。開始の指定を省略すると,アンロードジャーナルファイルの先頭から指定した終了時刻までが出力範囲になります。終了の指定を省略すると,指定した開始時刻からアンロードジャーナルファイルの最後までが出力範囲になります。

開始,および終了は,「hhmmss〔MMDD〔YYYY〕〕」の形式で指定します。

hh:時(00≦hh≦23)

指定を省略できません。

mm:分(00≦mm≦59)

指定を省略できません。

ss:秒(00≦ss≦59)

指定を省略できません。

MM:月(01≦MM≦12)

指定を省略できます。

DD:日(01≦DD≦31)

指定を省略できます。

YYYY:年(1970からの西暦を4けたで指定します)

指定を省略できます。

注※

開始,または終了の「年」の指定を省略した場合は,当年の指定月日時刻と見なされます。「年,月,日」の指定を省略した場合,当年当月当日の指定時刻と見なされます。「月,日」,「月」,または「日」だけを省略することはできません。省略した場合はオプションエラーになります。「月」または「日」を省略したい場合は,「年」,「月」,「日」のすべてを省略してください。

-tオプションの指定を省略すると,指定したファイル内のすべてのジャーナルを出力します。

●-e

コミット決着済みのユーザジャーナルレコード(UJ)だけを出力します。

-eオプションの指定を省略すると,すべてのユーザジャーナルレコード(UJ)を出力します。

●-f

最初のファイルから,コミット決着済みのユーザジャーナルレコードを出力します。このとき,ジャーナルファイルの先頭ブロック番号が1から昇順に連番かどうかをチェックします。エラーがあれば処理を終了します。

-fオプションは,-eオプションを指定したときだけ有効です。

-fオプションの指定を省略すると,前回のレコード出力処理からの引き継ぎがあるものとして,引き継ぎファイルの最終ブロック番号+1から昇順に連番であることがチェックされます。エラーがあれば処理を終了します。

●-l

最後のファイルから,コミット決着済みのユーザジャーナルレコードを出力します。その後,引き継ぎファイルを削除します。

-lオプションは,-eオプションを指定したときだけ有効です。

-lオプションの指定を省略すると,次回のレコード出力処理への引き継ぎがあるものとして,引き継ぎファイルを作成します。

●-c キー  〜((001〜999))《001》

引き継ぎファイルの名称の一部を指定します。実際は,OpenTP1が「jnlrput***」という名称でファイルを作成し,***にはこのオプションで指定した値が設定されて,引き継ぎファイルの名称となります。

●-u トランザクショングローバル識別子〔,トランザクションブランチ識別子〕

〜〈33けたの英数字,特殊文字,および16進数字〉

出力するユーザジャーナルレコードをトランザクション識別子で指定します。トランザクション識別子は「トランザクショングローバル識別子,トランザクションブランチ識別子」の形式で指定します。

-uオプションの指定を省略すると,すべてのトランザクション識別子を出力します。

●-o ジャーナル取得モード

ジャーナルの取得モードを指定します。複数のジャーナルの取得モードを指定できます。

c

トランザクションテストモードでコミット属性のジャーナル,またはMCFのトランザクション外テストモードのジャーナルを出力します。

r

トランザクションテストモードでロールバック属性のジャーナルを出力します。

s

オンラインテストモード以外のジャーナルを出力します。

-oオプションの指定を省略すると,すべてのジャーナル取得モードのジャーナルを出力します。

●-j レコード種別

出力する内容をレコード種別で指定します。

レコード種別の指定値と内容を次に示します。

レコード種別

指定値

内容

備考

SJ

s

システム統計情報

統計用ジャーナル

AJ

a

送信完了情報

IJ

i

入力キュー登録メッセージ

OJ

o

出力キュー登録メッセージ

MJ

m

メッセージジャーナル

GJ

g

receive情報

UJ

u

ユーザ任意の情報

ユーザジャーナル

注※

-qオプションに'_trn'を指定したときはトランザクションブランチのCPU使用時間情報を,'_rpc'を指定したときはレスポンス統計情報を出力します。

-jオプションの指定を省略すると,ユーザジャーナル(UJ)だけを出力します。

●-q _trn

指定したファイル内のトランザクションブランチのCPU使用時間情報を出力します。

-qオプションの指定は,-jオプションにs(システム統計情報)を指定したときだけ有効です。

●-q _rpc

指定したファイル内のレスポンス統計情報を出力します。

-qオプションの指定は,-jオプションにs(システム統計情報)を指定したときだけ有効です。

●-d 任意抽出条件

ユーザジャーナルレコード(UJ)を抽出する条件を指定します。

比較データとジャーナルレコードを比較して,比較記号で指定した条件を満たすジャーナルレコードを抽出します。抽出条件は255けた以内で指定します。

抽出条件の記述形式を次に示します。

  比較位置,〔比較記号〕,〔比較形式〕,比較データ
           〔,比較位置,〔比較記号〕,〔比較形式〕,比較データ〕
  1. 抽出条件は二つまで指定できます。

  2. 複数の抽出条件を指定した場合は,すべての条件を満たすジャーナルレコードを抽出します。

  • 比較位置  〜〈16進数字〉((0〜7faf8))

    ユーザジャーナルレコードと比較する,比較データの位置を指定します。UAP履歴情報の先頭からの位置を指定してください。UJコードの場合は,"CODE"を指定します。

  • 比較記号  〜《eq》

    ユーザジャーナルレコードと比較するデータの比較条件を比較記号で指定します。

    eq:UJのデータと比較するデータの内容が等しい。

    (UJのデータ内容=比較データの内容)

    ne:UJのデータと比較データの内容が等しくない。

    (UJのデータ内容≠比較データの内容)

    gt:UJのデータが比較データの内容より大きい。

    (UJのデータ内容>比較データの内容)

    ge:UJのデータが比較データの内容と等しい,または大きい。

    (UJのデータ内容≧比較データの内容)

    lt:UJのデータが比較データの内容より小さい。

    (UJのデータ内容<比較データの内容)

    le:UJのデータ内容が比較データの内容と等しい,または小さい。

    (UJのデータ内容≦比較データの内容)

  • 比較形式  〜《x》

    比較するデータの形式を指定します。ここで指定した形式に従って,ユーザジャーナルレコードと比較データが比較されます。

     x:16進形式

     c:文字形式

  • 比較データ

    比較するデータを指定します。16進形式で比較データを指定する場合は,0〜9,a〜f,またはA〜Fの範囲を偶数けたで指定してください。

    UJコードを指定する場合は,16進形式で8けた以内の偶数けたで指定してください。

    シェルのメタキャラクタ,コンマ(,),およびスペースは指定できません。

●-x

トランザクション外のユーザジャーナルレコード(UJ)だけを出力します。

-xオプションの指定を省略すると,すべてのユーザジャーナルレコード(UJ)を出力します。

コマンド引数

●ファイル名  〜〈パス名〉

アンロードジャーナルファイル,またはグローバルアーカイブアンロードジャーナルファイルの名称を指定します。

マルチノード機能を使用している場合は,jnlsortコマンドでソート,およびマージ(ノードの抽出,ジャーナルサーバランIDの特定)した結果のファイル名を指定してください。

-eオプション指定時は,複数のファイルを指定できます。複数のファイルを指定するときは,ファイル名とファイル名との間を空白で区切ります。指定できるファイル数は256個までです。

このコマンド引数の指定を省略すると,標準入力と見なされます。

指定できるオプションとコマンド引数の組み合わせを次に示します。

[図データ]

(凡例)

○:指定できます。

×:指定できません。

−:無効です。

出力形式

このコマンドを使用して出力されるジャーナルレコード全体の形式を次に示します。

[図データ]

a. ファイル管理情報の大きさは128バイトです。

b. レコード情報の大きさは,レコード管理情報(c)内の「レコード情報サイズ」に設定されます。

c. レコード管理情報の大きさは,ファイル管理情報(a)内の「レコード管理情報サイズ」に設定されます。

d. レコードデータヘッダの大きさは,ファイル管理情報(a)内の「レコードデータヘッダサイズ」に設定されます。

e. レコードデータはUJのユーザデータ部,またはシステム統計情報などのデータ部です。

レコードデータの大きさは,次のとおりです。

[レコードデータの大きさ]=[レコード情報の大きさ]−[レコード管理情報の大きさ+レコードデータヘッダの大きさ]

実際のデータサイズが4バイト境界でない場合,レコード情報としては4バイト境界に調整されて出力されます。このとき,レコード情報の最後の1〜3バイトには無効なデータが設定されます。したがって,次のレコード情報に位置づけるには,レコード管理情報内の「レコード情報サイズ」を使用してください。

各情報の詳細な出力形式を次に示します。

[図データ]

[図データ]

[図データ]

[図データ]

[図データ]

[図データ]

注※

トランザクションid有無フラグが0x00の場合,global_tran_id[12]エントリ,およびbranch_tran_id[12]エントリに0x00が設定されます。

1〜12の出力形式はdcjup.hで定義されています。

各ジャーナルレコードのレコード情報に含まれるデータの対応関係を次の表に示します。

ジャーナルレコードの種類

レコード情報 b

レコード管理情報

レコードデータヘッダ

レコードデータ

c

d

e

ユーザジャーナルレコード

※1

システム統計情報レコード

※1

トランザクションブランチのCPU使用時間情報レコード

ijレコード

※1

mjレコード

※1

ojレコード

※1

ajレコード

gjレコード

※1

レスポンス統計情報レコード

※2

(凡例)

〇:出力情報に含まれる

−:出力情報に含まれない

注※1

可変長のレコードデータ部が出力情報として付加されます。

注※2

レスポンス統計情報だけ固定長の第2レコードデータヘッダがレコードデータの位置に付加されます。

出力メッセージ

メッセージID

内容

出力先

KFCA02600-E

アンロードジャーナルファイルのアクセスでエラーが発生しました

標準エラー出力

KFCA02601-E

アンロードジャーナルファイルが不正です

標準エラー出力

KFCA02602-E

ジャーナルブロックが不正です

標準エラー出力

KFCA02603-E

ジャーナルレコードが不正です

標準エラー出力

KFCA02604-E

メモリが確保できません

標準エラー出力

KFCA02605-E

引き継ぎファイルのアクセスでエラーが発生しました

標準エラー出力

KFCA02606-E

引き継ぎファイルが不正です

標準エラー出力

KFCA02607-E

引き継ぎファイルとアンロードジャーナルファイルの関係が不正です

標準エラー出力

KFCA02622-W

出力する対象レコードが存在しません

標準エラー出力

KFCA02680-I

ヘルプメッセージ

標準出力,標準エラー出力

KFCA02681-E

jnlrputコマンドのパラメタ不正,または制限値オーバです

標準エラー出力

KFCA02682-E

jnlrputコマンドのオプションの組み合わせが不当です

標準エラー出力

KFCA02683-E

jnlrputコマンドのオプションの指定に誤りがあります

標準エラー出力

KFCA02684-E

jnlrputコマンドのファイル名の指定に誤りがあります

標準エラー出力

KFCA02685-E

jnlrputコマンドで抽出対象レコードが不正です

標準エラー出力

注意事項

使用例

  1. アンロードジャーナルファイルから,CPU使用時間情報を出力する場合

    jnlrput -j s -q _trn /tp1/jnl/sysjnl001
  2. 三つのファイルに分割しているアンロードジャーナルファイルから,コミット決着済みのユーザジャーナルレコード(UJ)を1回で出力する場合

    jnlrput -e -f -l /tp1/jnl/sysjnl001 /tp1/jnl/sysjnl002 /tp1/jnl/sysjnl003
  3. 四つのファイルに分割しているアンロードジャーナルファイルから,コミット決着済みのユーザジャーナルレコード(UJ)を3回で出力する場合

    <1回目>
    jnlrput -e -f /tp1/jnl/sysjnl001 /tp1/jnl/sysjnl002
    <2回目>
    jnlrput -e /tp1/jnl/sysjnl003
    <3回目>
    jnlrput -e -l /tp1/jnl/sysjnl004
  4. アンロードジャーナル中の2003年1月1日0時0分0.0秒から2003年12月31日23時59分59.999999秒までのシステム統計情報(SJ)を出力する場合

    アンロードジャーナルファイル:sysjnl001

    jnlrput -t 00000001012003,23595912312003 -j s /tp1/jnl/sysjnl001