7.7.7 表の運用
データ連携支援およびデータ抽出ユティリティで使用するPJ管理表とPJ突き合わせ表の運用について説明します。グループ管理表および履歴情報表の運用については,「24. UAP履歴情報取得機能で使用する表の運用」を参照してください。
(1) 表の構成
(a) 命名規則
項番 |
表の種類 |
表の名称 |
PJ引き継ぎ情報名がGRP01の場合の例 |
---|---|---|---|
1 |
PJ管理表 |
PJ引き継ぎ情報作成コマンド(eerksaphpjtblh)の-pオプションに指定したPJ引き継ぎ情報名+"_CTL" |
GRP01_CTL |
2 |
PJ突き合わせ表 |
PJ引き継ぎ情報作成コマンド(eerksaphpjtblh)の-pオプションに指定したPJ引き継ぎ情報名+"_UPA" PJ引き継ぎ情報作成コマンド(eerksaphpjtblh)の-pオプションに指定したPJ引き継ぎ情報名+"_UPB" |
GRP01_UPA GRP01_UPB |
項番 |
インデクスを定義する表の種類 |
インデクスの名称 |
PJ引き継ぎ情報名がGRP01の場合の例 |
---|---|---|---|
1 |
PJ管理表 |
PJ引き継ぎ情報作成コマンド(eerksaphpjtblh)の-pオプションに指定したPJ引き継ぎ情報名+"_ITL" |
GRP01_ITL |
2 |
PJ突き合わせ表 |
PJ引き継ぎ情報作成コマンド(eerksaphpjtblh)の-pオプションに指定したPJ引き継ぎ情報名+"_IPA" PJ引き継ぎ情報作成コマンド(eerksaphpjtblh)の-pオプションに指定したPJ引き継ぎ情報名+"_IPB" |
GRP01_IPA GRP01_IPB |
(b) 構成情報
HiRDB上のRDエリアサイズなどを見積もるための情報について説明します。
PJ引き継ぎ情報は,データ連携支援およびデータ抽出ユティリティの実行ごとに1つ必要です。
項番 |
表の種類 |
表の数 |
行数 |
---|---|---|---|
1 |
PJ管理表 |
1 |
7 |
2 |
PJ突き合わせ表 |
2 |
eerksaphpjtblhコマンドの-cオプションで指定した引き継ぎ履歴情報数+1 |
項番 |
表の種類 |
列属性 |
列数 |
---|---|---|---|
1 |
PJ管理表 |
SMALLINT |
1 |
2 |
INTEGER |
8 |
|
3 |
CHAR(20000) |
1 |
|
4 |
CHAR(256) |
1 |
|
5 |
CHAR(30) |
3 |
|
6 |
CHAR(1) |
1 |
|
7 |
DECIMAL(19,0) |
1 |
|
8 |
TIMESTAMP(0) |
1 |
|
9 |
PJ突き合わせ表 |
INTEGER |
6 |
10 |
CHAR(32) |
1 |
|
11 |
CHAR(31) |
1 |
|
12 |
CHAR(30) |
1 |
|
13 |
CHAR(4) |
1 |
|
14 |
CHAR(1) |
2 |
|
15 |
CHAR(n)※ |
1 |
|
16 |
TIMESTAMP(6) |
1 |
項番 |
表の種類 |
種別 |
DB格納キー長(バイト) |
CREATE INDEXで指定する未使用領域の比率 |
キーの種類の個数 |
キーの重複数の平均値 |
---|---|---|---|---|---|---|
1 |
PJ管理表 |
非ユニーク |
4 |
30 |
行数 |
1 |
2 |
PJ突き合わせ表 |
ユニーク |
4 |
30 |
行数 |
1 |
項番 |
表の種類 |
注釈 |
PJ引き継ぎ情報名がGRP01の場合の例 |
---|---|---|---|
1 |
PJ管理表 |
"eerksaphpjtblh_"+eerksaphpjtblhコマンドの-pオプションに指定したPJ引き継ぎ情報名+"_CTL" |
eerksaphpjtblh_GRP01_CTL |
2 |
PJ突き合わせ表(A系) |
"eerksaphpjtblh_"+eerksaphpjtblhコマンドの-pオプションに指定したPJ引き継ぎ情報名+"_UPA" |
eerksaphpjtblh_GRP01_UPA |
3 |
PJ突き合わせ表(B系) |
"eerksaphpjtblh_"+eerksaphpjtblhコマンドの-pオプションに指定したPJ引き継ぎ情報名+"_UPB" |
eerksaphpjtblh_GRP01_UPB |
(c) ユーザに必要な権限
TP1/EEがPJ管理表やPJ突き合わせ表にアクセスする場合は,HiRDBのクライアント環境定義ファイル(環境変数設定ファイル)に設定するユーザ名でアクセスします。HiRDBのクライアント環境定義ファイルの設定の詳細については,マニュアル「OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option 使用の手引」を参照してください。また,本機能が提供するコマンドで表にアクセスする場合は,環境変数PDUSERに設定するユーザ名でアクセスします。
これらのユーザ名に,次に示す権限を設定する必要があります。
-
CONNECT
-
RDAREA
RDエリア名(eerksaphpjtblhコマンドの-bオプションと-iオプション)に対する利用権限,またはeerksaphpjtblhコマンドの-bオプションと-iオプションを省略したときに使用されるRDエリア名に対する利用権限です。
権限の設定方法の詳細については,マニュアル「HiRDB Version 9 システム運用ガイド(UNIX(R)用)」を参照してください。
(d) PJ突き合わせ表の構成
PJ突き合わせ表は2つを組にして管理します。それぞれのPJ突き合わせ表をA系,B系と呼びます。データ連携支援またはデータ抽出ユティリティの実行時,次の規則に従ってPJ突き合わせ表にアクセスします。
-
読み込み:最後に書き込みが成功した系から読み込みます。
-
書き込み:最後に書き込みが成功した系ではない方の系に書き込みます。
ただし,両方の系が初期化(表の作成直後も含む)されている状態での初回書き込みは,A系に対して行います。
-
初期化:両方の系を初期化します。
例を次の図に示します。例では,最後に書き込みが成功した系はA系とします。この状態でデータ連携支援またはデータ抽出ユティリティを実行すると,A系から読み込みます。そして,書き込み1.はB系に対して行います。そのあと,書き込み2.はA系,書き込み3.はB系に対してそれぞれ行います。最後に,初期化はA系とB系に対して行います。
このように,書き込みはA系とB系に対して交互に行うため,常に1つ前に書き込んだ内容が片方の系に残ります。常に1つ前に書き込んだ内容を残すことで,書き込み時に障害が発生しても再実行できます。
図7-54の書き込み3.で障害が発生した場合の例を次の図に示します。この場合,障害の要因を取り除いたあとで,データ連携支援またはデータ抽出ユティリティを再実行します。前回実行時にA系に対して行った書き込み2.は成功しているため,再実行するとA系から読み込みます。そして,書き込み3.はB系,初期化はA系とB系に対して行います。
(2) 表の作成
表の作成方法について説明します。
ユーザは,データ連携支援およびデータ抽出ユティリティを実行する前に,eerksaphpjtblhコマンドでPJ引き継ぎ情報を退避するための表をHiRDB上に作成します。ただし,PJ管理表とPJ突き合わせ表を使用しないでデータ抽出ユティリティを実行する場合は,作成する必要はありません。
PJ引き継ぎ情報を退避する表は,次の2種類に分類されます。
-
PJ管理表
データ連携支援およびデータ抽出ユティリティの実行状態を管理します。
-
PJ突き合わせ表
データ連携支援での再開始,およびデータ抽出ユティリティの再実行に備え,PJなしのUAP履歴情報を退避します。
(3) 表の削除
PJ引き継ぎ情報は,次に示す契機でeerksaphpjtblrmhコマンドで削除します。
-
データ連携支援の実行が完了
-
データ抽出ユティリティの実行が完了
(4) 表の再作成
PJ突き合わせ表が壊れた場合,-rオプションを指定してeerksaphpjtblhコマンドを実行することで,PJ突き合わせ表を再作成できます。
(5) 表の拡張
容量不足などでPJなしUAP履歴情報がPJ突き合わせ表に退避できなかった場合,-xオプションを指定してeerksaphpjtblhコマンドを実行することで,PJ突き合わせ表を拡張できます。
(6) 表の形式
「7.9 データおよびファイル」を参照してください。