Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Financial Service Platform 使用の手引


30.2.2 eeaphtblh

機能

ee_trn_uap_put関数またはCBLEETRN('UAPPUT ')関数で取得するUAP履歴情報(ユーザデータと入力データ)およびTP1/EEが取得するUAP履歴情報(出力データ)を格納する表(履歴情報表)をHiRDB上に作成します。

本コマンドでは次の表を作成します。名称については,「24. UAP履歴情報取得機能で使用する表の運用」を参照してください。

  • 取得用履歴情報表

本コマンドによる作成可否を次の表に示します。

表30‒2 eeaphtblhコマンドによる作成可否

項番

履歴情報表の状態※1

TP1/EEのプロセス状態※2

-rオプション指定有無

作成可否

1

表が存在していない

(UAP履歴情報グループ未登録)

未起動(STP)

2

上記以外

3

障害中(ERR)

あり

4

なし

5

上記以外

(凡例)

−:該当しません。

注※1

-tオプションに指定した履歴情報表の状態。履歴情報表の状態はeeaphlshコマンドの-tオプション,または-Tオプションで確認できます。

注※2

-uオプションに指定したUAP履歴情報グループを使用するすべてのTP1/EEのプロセス状態。TP1/EEのプロセス状態はeeaphlshコマンドの-nオプションで確認できます。

形式
eeaphtblh -u UAP履歴情報グループ名
          -t 履歴情報表名
         [-c 最大履歴情報数]
         [-b 表格納用RDエリア名[,表格納用RDエリア名…]]
         [-i インデクス格納用RDエリア名[,インデクス格納用RDエリア名…]]
         [-j 分割キーインデクス格納用RDエリア名[,分割キーインデクス格納用RDエリア名…]]
         [-o 同期点行数]
         [-r]

オプション

-u UAP履歴情報グループ名 〜〈1〜26文字の英大識別子〉

作成する履歴情報表を登録するUAP履歴情報グループ名を指定します。

UAP履歴情報グループ名はeeaphgrphコマンドの-uオプションに指定した名称を指定してください。

-t 履歴情報表名 〜〈1〜26文字の英大識別子〉

作成する履歴情報表名を指定します。

システム内で一意となる履歴情報表名を指定してください。

-c 最大履歴情報数 〜〈符号なし整数〉((1,000〜10,000,000))《eeaphgrphコマンドの-cオプション指定値》

作成する履歴情報表に取得するUAP履歴情報の最大数を指定します。

例えば,RDエリアの容量の制限で,eeaphgrphコマンドの-cオプションに指定した最大数とは異なる最大数を指定したい場合に指定します。

UAP履歴情報グループを複数のTP1/EEで共有する場合は,それぞれのTP1/EEで取得するUAP履歴情報数を考慮して指定してください。

UAP履歴情報を分割する場合は,分割数も考慮して指定してください。

-b 表格納用RDエリア名 〜〈1〜30文字の文字列〉

作成する表を格納するHiRDB上のRDエリア名を指定します。

履歴情報表の横分割機能を使用する場合,本オプションの指定は必須で,最大16個まで指定できます。RDエリア名は,コンマ「,」で区切ってください。このときコンマの前後に空白を入れないでください。

HiRDBのデータベース初期化ユティリティ(pdinit)で作成,またはデータベース構成変更ユティリティ(pdmod)で追加したRDエリアのRDエリア名を指定します。

RDエリア名に空白を含む場合は引用符「"」で全体を囲んでください。指定したRDエリア名は引用符の有無に関係なく大文字と小文字が区別されます。

本オプションを省略すると,格納するRDエリアをHiRDBが自動決定します。HiRDBが決定するRDエリアについては,マニュアル「HiRDB Version 9 SQLリファレンス」を参照してください。

-i インデクス格納用RDエリア名 〜〈1〜30文字の文字列〉

履歴情報表に定義するインデクスを格納するHiRDB上のRDエリア名を指定します。

履歴情報表の横分割機能を使用しないときはユニークインデクス,履歴情報表の横分割機能を使用するときは,非分割キーインデクスを作成します。履歴情報表の横分割機能を使用する場合,最大16個まで指定できます。RDエリア名は,コンマ「,」で区切ってください。このときコンマの前後に空白を入れないでください。

HiRDBのデータベース初期化ユティリティ(pdinit)で作成,またはデータベース構成変更ユティリティ(pdmod)で追加したRDエリアのRDエリア名を指定します。

RDエリア名に空白を含む場合は引用符「"」で全体を囲んでください。指定したRDエリア名は引用符の有無に関係なく大文字と小文字が区別されます。

本オプションを省略すると,格納するRDエリアをHiRDBが自動決定します。HiRDBが決定するRDエリアについては,マニュアル「HiRDB Version 9 SQLリファレンス」を参照してください。

-j 分割キーインデクス格納用RDエリア名 〜〈1〜30文字の文字列〉

履歴情報表の横分割機能を使用する場合,分割キーインデクス(UNIQUE指定)を格納するHiRDB上のRDエリア名を指定します。

最大16個まで指定できます。RDエリア名は,コンマ「,」で区切ってください。このときコンマの前後に空白を入れないでください。

履歴情報表の横分割機能を使用しないときは指定しないでください。

HiRDBのデータベース初期化ユティリティ(pdinit)で作成,またはデータベース構成変更ユティリティ(pdmod)で追加したRDエリアのRDエリア名を指定します。

RDエリア名に空白を含む場合は引用符「"」で全体を囲んでください。指定したRDエリア名は引用符の有無に関係なく大文字と小文字が区別されます。

本オプションを省略すると,格納するRDエリアをHiRDBが自動決定します。HiRDBが決定するRDエリアについては,マニュアル「HiRDB Version 9 SQLリファレンス」を参照してください。

-o 同期点行数 〜〈符号なし整数〉((1〜10,000,000))《1,000》

本コマンドによる表作成時のトランザクションを決着させる区切りとなる,履歴情報表への追加行数を指定します。

履歴情報表作成時に-cオプションに指定された最大履歴情報数分の行を追加します。1トランザクションで多数の行追加を行うとHiRDBのジャーナルログ満杯などが発生し本コマンドが失敗するおそれがあります。ジャーナルログ満杯などを防ぐために,本コマンドによる表作成時のトランザクションを何件の行追加ごとに決着させるかを指定します。

-r

障害中状態の履歴情報表を再作成する場合に指定します。

本オプションを指定すると,障害中状態の履歴情報表をいったん削除したあとに再作成します。

本オプションを省略すると,障害中状態の履歴情報表の再作成はできません。

履歴情報表がUAP履歴情報グループに未登録の場合,本オプションの指定は無視されます。

出力メッセージ

メッセージID

内容

出力先

KFSB90945-I

コマンド引数ヘルプ

標準出力

KFSB90956-I

表作成の進捗

標準出力

KFSB90958-I

表作成成功

標準出力

KFSB90901-E

引数形式不正

標準エラー出力

KFSB90902-E

引数指定値不正

標準エラー出力

KFSB90936-E

指定された表がない

標準エラー出力

KFSB90937-E

表作成失敗(表の構造不正)

標準エラー出力

KFSB90938-E

表作成失敗(SQLエラー)

標準エラー出力

KFSB90959-E

表作成失敗(条件不正)

標準エラー出力

KFSB90961-E

表作成失敗(SQLエラー)

標準エラー出力

KFSB90962-E

表作成失敗(SQLエラー)

標準エラー出力

KFSB90960-E

表削除失敗

標準エラー出力

KFSB90904-E

処理エラー

標準エラー出力

KFSB90905-E

領域不足

標準エラー出力

KFSB90906-E

内部矛盾

標準エラー出力

注意事項
  • RDエリアは,あらかじめHiRDBのデータベース初期設定ユティリティ(pdinit)で作成,またはデータベース構成変更ユティリティ(pdmod)で追加しておく必要があります。HiRDBのユティリティについては,マニュアル「HiRDB Version 9 コマンドリファレンス(UNIX(R)用)」を参照してください。

  • -bオプション,-iオプション,または-jオプションにHiRDBのデータベース初期設定ユティリティ(pdinit)で作成,またはデータベース構成変更ユティリティ(pdmod)で追加したRDエリアのRDエリア名以外を指定した場合,コマンドは失敗します。また,KFSB90938-EメッセージのDBMSメッセージの内容は「RDエリアがない」または「SQL文誤り」などの意味になります。

    HiRDBのユティリティについては,マニュアル「HiRDB Version 9 コマンドリファレンス(UNIX(R)用)」を参照してください。

  • 履歴情報表の横分割機能を使用する場合,RDエリアについては,マニュアル「HiRDB Version 9 SQLリファレンス」の「CREATE TABLE」と「CREATE INDEX」もあわせて参照してください。

  • -oオプションに小さな値を指定した場合,ジャーナルログが満杯になる現象の発生頻度は低くなりますが,HiRDBの同期点処理が頻繁に発生するためオーバヘッドが大きくなります。

    -oオプションに大きな値を指定した場合,同期点処理のオーバヘッドは少なくなりますが,ジャーナルログが満杯になるなどの現象の発生頻度は高くなります。

  • -oオプションに最小値の1を指定しても,HiRDBのジャーナルログが満杯や通信エラーなどになる場合は,HiRDBのジャーナルログのサイズなどを見直してください。HiRDBのジャーナルログについては,マニュアル「HiRDB Version 9 システム導入・設計ガイド(UNIX(R)用)」を参照してください。

  • 同一UAP履歴情報グループに登録できる履歴情報表は1,000個まで指定できます。

    したがって,-uオプションに指定したUAP履歴情報グループにすでに1,000個の履歴情報表が登録してある場合,コマンドは失敗します。-tオプションに指定した履歴情報表をUAP履歴情報グループに登録したい場合は,eeaphtblrmhコマンドを実行して登録済みの別の履歴情報表をいったん削除したあとに本コマンドを実行してください。

  • -tオプションに指定した履歴情報表名に対応する表がすでに同一スキーマ内に存在する場合,コマンドは失敗します。表を再作成したい場合は,eeaphtblrmhコマンドを実行していったん表を削除したあとに本コマンドを実行してください。

  • 本コマンドの実行中にHiRDBの障害などが発生した場合,作成途中の表を削除してコマンド処理を終了します。表の削除は,HiRDBの障害などによって失敗することがあります。表の削除に失敗した場合は,表の作成に失敗したUAP履歴情報グループ名を-uオプション,履歴情報表名を-tオプションに指定したeeaphtblrmhコマンドを実行していったん表を削除してください。

    表の削除後,本コマンドを実行して履歴情報表を再作成してください。

  • 本コマンドの実行中に,-uオプションに同じUAP履歴情報グループ名を指定したeeaphtblrmhコマンドを実行することはできません。

  • 本コマンドの実行中に,-uオプションに同じUAP履歴情報グループ名を指定したeeaphgrprmhコマンドを実行しないでください。実行した場合,本コマンドが失敗するおそれがあります。

  • 本コマンドで作成する表をDROP TABLE文で削除しないでください。

  • 本コマンドの-uオプションに指定したUAP履歴情報グループ名を,トランザクション関連定義のtrnaphgroup定義コマンドの-uオプションに指定しているTP1/EEの開始および終了について,次の注意事項があります。

    ・TP1/EEの開始中に本コマンドを実行しないでください。コマンドを実行した場合,TP1/EEの開始が失敗するおそれがあります。

    ・本コマンドを実行中にTP1/EEを開始しないでください。TP1/EEを開始した場合,TP1/EEの開始が失敗するおそれがあります。

    ・本コマンドを実行中にTP1/EEを終了しないでください。TP1/EEを終了した場合,終了時のスワップおよび表の状態変更が失敗するおそれがあります。

  • HiRDBのクライアント環境定義のPDSWAITTIMEには,0または次に示す条件を満たす値を指定してください。0以外を指定し,かつ条件を満たさない場合,PDSWAITTIMEのタイムアウトによって本コマンドが失敗するおそれがあります。

    PDSWAITTIME指定値>-oオプションに指定した数の行追加に掛かる時間

  • 本コマンドで作成する履歴情報表の構成については,「24.1 表の構成」を参照してください。

  • -uオプションに同じUAP履歴情報グループ名を指定して,本コマンドを同時に複数実行した場合,オンラインで現用となる順序とコマンドを実行した順序が一致しないときがあるため,注意してください。

  • 履歴情報表の横分割機能を使用する場合,RDエリアについては,マニュアル「HiRDB Version 9 SQLリファレンス」の「CREATE TABLE」と「CREATE INDEX」もあわせて参照してください。

  • 上記以外の注意事項については,「表30-1 UAP履歴情報取得機能コマンド一覧」を参照してください。