このドキュメントでは ADAPLP ユーティリティについて説明します。
次のトピックについて説明します。
ADAPLP ユーティリティは、プロテクションログまたは WORK のプリント出力を行います。
このユーティリティは多機能ユーティリティです。
注意:
LOB 値は LOB ファイルの複数のレコードに分割されます。LOB 値をデータベースに保存するとき、プロテクションログには LOB ファイルの変更を記録したレコードが格納されます。ADAPLP では LOB 値が 1 つの値として表示されず、その代わりに
LOB ファイルで対応するレコードの変更が表示されます。LOB ファイルレコードを圧縮解除することはできません。LOB レコードは非常に大きいために 1 ブロックに収まらないからです。連続したプロテクションログのレコードも圧縮解除できません。
データセット | 環境 変数/ 論理名 |
記憶 媒体 |
追加情報 |
---|---|---|---|
アソシエータ | ASSOx | ディスク | |
プロテクションログ | PLPPLG | ディスク、テープ | ユーティリティマニュアル |
プロテクションログ(最後のエクステント) | PLPLEX | ディスク | エクステントの数が 1 より大きい PLOG を処理する場合と、DECOMPRESS または DELTA オプションを使用する場合にのみ必要となります。処理する PLOG エクステントの 1 つ前の PLOG エクステントを指定する必要があります。 |
コントロールステートメント | stdin/ SYS$INPUT |
ユーティリティマニュアル | |
ADAPLP レポート | stdout/ SYS$OUTPUT |
メッセージおよびコード | |
ワークストレージ | WORK1 | ディスク |
シーケンシャルファイル PLPPLG は複数のエクステントを持つことができます。複数のエクステントを持つシーケンシャルファイルの詳細については、『Adabas Basics』の「ユーティリティの使用」を参照してください。
このユーティリティはチェックポイントを書き込みません。
次のコントロールパラメータを使用できます。
M DATASET = keyword DBID = number D [NO]DECOMPRESSED DELTA D [NO]DUMP FILES = (number [-number][,number [-number]]...) D [NO]HEADER INTERNAL_ID = number ISN = (number [,number] ... ) MODIFIED_RABN = number NOFILETYPE NONULL PLOG = (number [,number]) M RABN = {*|number[-number]} RECORD ={*| (number [- number] [, number [- number]]...) } SEQ = number D [NO]SHORT THREAD = number TSN = number D TYPE = (keyword [,keyword]...) USER_ID = string D [NO]WXA
DATASET = keyword
このパラメータは、処理対象のプロテクションログ情報を含むファイルを選択します。キーワードに使用できる値は PLOG または WORK です。DATASET=PLOG を指定してプロテクションログが RAW デバイスに配置されている場合は、パラメータ PLOG を先に指定する必要があります。
DBID = number
このパラメータは、使用対象となるデータベースを選択するためのものです。
このパラメータは、DATASET=WORK が要求されるとき、または DATASET=PLOG でプロテクションログが RAW セクション内に書き込まれる場合に使用する必要があります。このパラメータは、最初に指定する必要があります。それ以外の場合は、このパラメータを指定しないと、PLOG に格納された DBID が使用されます。
[NO]DECOMPRESSED
このオプションは、プロテクションログから選択された個々の DATA レコードに対して、フィールドごとにフィールド名と圧縮解除された値を 16 進数で 1 行出力する(DECOMPRESSED)か、または出力しない(NODECOMPRESSED)かを指定するものです。
挿入レコードの場合には、挿入後のレコードのフィールド値を含むアフターイメージが表示されます。
更新レコードの場合には、更新前のレコードのフィールド値を含むビフォーイメージと、更新後のレコードのフィールド値を含むアフターイメージが表示されます。
削除レコードの場合には、削除前のレコードのフィールド値を含むビフォーイメージが表示されます。
DECOMPRESSED および NONULL が指定されている場合、次の項目は出力されません。
NU または NC オプションが定義されているフィールドで、空値のもの
NU または NC オプションが定義されている MU フィールドで、値がすべて空値のもの
NU または NC オプションが定義されているフィールドのみで構成されている PE グループで、値がすべて空値のもの
PE グループ以外のグループの名前
デフォルトは NODECOMPRESSED です。
注意:
CONTINUED レコードの圧縮解除(DECOMPRESSED 出力)はできません。PLOG レコードにブロックヘッダーを加えた値が PLOG 内で 32 KB より大きい場合、または WORK に使用するブロックサイズより大きい場合、CONTINUED
レコードが作成されます。
>>> After Image <<< Length = 20, ISN = 2 Field : AA: ^30372E31322E3034 Group : AB Field : AC: ^2020202020202020202020202020202020202020 Field : AE: ^2020202020202020202020202020202020202020 Field : AD: ^2020202020202020202020202020202020202020 Field : AF: ^20 Field : AG: ^20 Field : AH: ^0000000C Group : A1 MU-field : AI, count = ^01 AI( 1): ^2020202020202020202020202020202020202020 Field : AJ: ^2020202020202020202020202020202020202020 Field : AK: ^20202020202020202020 Field : AL: ^202020 Group : A2 Field : AN: ^202020202020 Field : AM: ^202020202020202020202020202020 Field : AO: ^202020202020 Field : AP: ^20202020202020202020202020202020202020202020202020 PE-group : AQ, count = ^01 PE index (1) Field : AR: ^202020 Field : AS: ^000000000C MU-field : AT, count = ^01 AT( 1): ^000000000C End of PE-group : AQ Group : A3 Field : AU: ^3030 Field : AV: ^3030 PE-group : AW, count = ^01 PE index (1) Field : AX: ^3030303030303030 Field : AY: ^3030303030303030 End of PE-group : AW MU-field : AZ, count = ^01 AZ( 1): ^202020
>>> After Image <<< Length = 15, ISN = 2 Field : AA: ^30372E31322E3034 Field : AF: ^20 Field : AG: ^20
DELTA
このパラメータは、更新後に変更されたフィールドのみ表示します。
挿入レコードの場合には、DECOMPRESSED および NONULL オプションの出力と同じ出力になります。
更新レコードの場合には、変更されたフィールド値を含むデルタが表示されます。MU/PE フィールドの場合には、MU/PE のオカレンス数が減少した場合、表示された値の数は表示された MU/PE インデックスより少なくなることがあります。これは、すべてのフィールド値に空値が設定されたために起こります。
レコードが削除された場合、何も出力されません。しかし、CE タイプのエントリをプロテクションログに表示させる場合、削除情報を確認できます。
注意:
CONTINUED レコードの圧縮解除(DELTA 出力)はできません。PLOG レコードにブロックヘッダーを加えた値が PLOG 内で 32 KB より大きい場合、または WORK に使用するブロックサイズより大きい場合、CONTINUED
レコードが作成されます。
[NO]DUMP
このオプションは、プロテクションログレコードの可変部分がプリント出力内に含まれる(DUMP)か、含まれない(NODUMP)かを指定するものです。
DUMP を指定した場合には、プロテクションログレコードの可変部分は 16 進形式および解釈不能 ASCII 形式の両方で表示されます。
DUMP を指定すると、SHORT はリセットされます。
デフォルトは NODUMP です。
FILES = (number [-number][,number [-number]]...)
プロテクションログレコードは、このパラメータで指定されたファイルに属している場合にのみ表示されます。
タイプ DA、DV、EXT、INDEX および FCB のレコードだけが表示されます。
プロテクションログレコードのタイプについては、このセクションの最後にある表を参照してください。
[NO]HEADER
このオプションは、プロテクションログのブロックごとにヘッダーを表示する(HEADER)か、表示しない(NOHEADER)を指定するものです。
デフォルトは HEADER です。
INTERNAL_ID = number
このオプションを使用すると、指定した内部 ID を持つレコードだけが表示されます。
ISN = (number [,number] ... )
プロテクションログレコードが、このパラメータで指定する ISN に属する場合だけ表示されます。タイプ DA と DV のレコードだけが表示されます。プロテクションログレコードのタイプについては、このセクションの最後にある表を参照してください。このパラメータは、FILE パラメータと組み合わせたときにだけ使用できます。
MODIFIED_RABN = number
このオプションは、指定した RABN に対する修正が記録されたレコードだけを表示します。
プロテクションログレコードのタイプについては、このセクションの最後にある表を参照してください。
NOFILETYPE
このキーワードは、ファイル番号と関連付けられているレコードタイプだけでなく、ファイル番号とは無関係なレコードタイプ(ET や BT など)を表示する場合に使用します。
adaplp dbid=6 file=25 type=(da,dv,et,bt) nofiletype
ファイル 25 の DA および DVT レコードに加えて、ET および BT レコードも表示させます。
NONULL
DECOMPRESSED パラメータと一緒に指定した場合にだけ、NONULL パラメータを指定する意味があります。詳細については、DECOMPRESSED パラメータを参照してください。
PLOG = (number[,number])
DATASET=PLOG が指定され、プロテクションログが RAW セクション内に書き込まれる場合、このパラメータは必須です。プロテクションログがファイルシステム内に書き込まれる場合には、指定するかどうかは任意です。PLOG 番号とエクステンションカウントを指定することができます。エクステンションカウントを指定すると、指定エクステントだけが処理されます。エクステンションカウントを指定しない場合、Adabas は必要に応じて後続のエクステントをオープンします。パラメータ PLOG は DATASET=PLOG を指定する前に指定しなければなりません。
Section layout . . . 250000 260000 10001 30 PLG.36 created 377000 378000 1001 30 PLG.36(3) created adaplp: plog=36 adaplp: dataset=plog
PLG.36 がオープンされます。
adaplp: plog=(36,3) adaplp: dataset=plog
PLG.36(3) がオープンされます。
RABN ={*| number [- number] }
このパラメータは、WORK またはプロテクションログファイルのブロックを 1 つずつ指定するか、または連続した範囲で指定します。指定したブロック内の内容が表示されます。
アスタリスク(*)を指定すると、全ブロックが表示されます。
注意:
adaplp: rabn = 123 adaplp: rabn = 123 - 1246
RECORD ={*| (number [- number] [, number [- number]]...) }
このパラメータは、出力対象となるレコードまたはレコードの範囲を選択するものです。アスタリスク(*)が指定されるか、または何も指定されない場合には全レコードが出力の対象となります。
adaplp: record = (2-5,9,11)
レコード 2、3、4、5、9 および 11 が 1 つまたは複数 PLOG ブロックの出力時に書き出されます。
SEQUENCE = number
このパラメータは指定したシーケンス番号で書かれたレコードだけを表示します。
[NO]SHORT
このオプションは、プロテクションログブロックのヘッダーだけを表示対象とする(SHORT)か、または全レコードを表示対象とする(NOSHORT)かを示すものです。
SHORT を指定すると、DUMP はリセットされます。
デフォルトでは、プロテクションログブロックのヘッダーの後に、そのブロック内のすべてのレコードが表示されます。
デフォルトは NOSHORT です。
THREAD = number
このオプションは、指定スレッドのレコードだけを表示します。
TSN = number
このオプションは、指定したトランザクションシーケンス番号(TSN)を持つレコードだけを表示します。
タイプ BT、C5、CL、DA、DV、ET および XA(OpenVMS にはない)のレコードだけが表示されます。
プロテクションログレコードのタイプについては、このセクションの最後にある表を参照してください。
TYPE = (keyword [,keyword]...)
このオプションは、所定のキーワード(複数可)で指定したプロテクションログレコードだけを表示します。各キーワードは次の表のように 1 つ以上のプロテクションログレコードのタイプに対応します。
キーワード | プロテクションログレコードのタイプ |
---|---|
AB | AB |
ASSO | レコードタイプ AC、およびキーワード EXT、FCB、INDEX で選択された全レコードタイプ |
AT | AT |
BF | BS、BE、BF |
BT | BT |
C1 | C1 |
C5 | C5 |
CE | CE |
CF | CF |
CT | CT |
DA | DA |
DATA | キーワード BT、CE、DA、DV、ET および OP で選択された全レコードタイプ |
DC | DC |
DT | DT |
ET | ET、CL |
EXT | ACEXT、UIEXT、NIEXT、DSEXT |
FCB | FCBDS、FCBIX、SPISN |
INDEX | FE、INDEX、IB、INSRU、REMRU |
OP | OP |
XA | キーワード YB、YD、YF および YP で選択された全レコードタイプ |
YB | YB(OpenVMS にはない) |
YD | YD(OpenVMS にはない) |
YF | YF(OpenVMS にはない) |
YP | YP(OpenVMS にはない) |
プロテクションログレコードのタイプについては、このセクションの最後にある表を参照してください。
デフォルトでは、すべてのプロテクションログレコードのタイプが表示されます。
USER_ID = string
このパラメータは、指定ユーザー ID で開始したレコードだけを表示します。
タイプ BT、C1、C5、CL、DA、DV、ET、FCBDS、FCBIX、INDEX および XA のレコードだけが表示されます。
プロテクションログレコードのタイプについては、このセクションの最後にある表を参照してください。
[NO]WXA
このオプションは、WORK パート 1 リングバッファ(NOWXA)および WORK パート 1 XA エリア(WXA)を切り替えます。
デフォルトは NOWXA です。
プロテクションログまたは WORK の各ブロックはヘッダーの後に続けて出力され、次の情報から構成されます。
ブロックのシーケンス番号
ブロックのサイズ
ブロックが属するセッションの番号(PLOG 番号と同じ)
ブロックの作成時刻を示すタイムスタンプ(WORK の内部タイムスタンプ)
1 レコードの出力は次のエントリから構成されます。
1 レコードのシーケンス番号(ブロックごとに 1 から始まる)
レコードの内部長
コマンドのシーケンス番号(コマンドを一意に識別する)
PLOG レコードのタイプ(詳細については次の一覧を参照)
コマンドを実行したスレッドの番号
これ以外にも、ほとんどのレコードで次のエントリも出力されます。
内部ユーザー ID(16 進表示)。1 トランザクションをオープンする各コマンドに対して一意に割り当てられます。
PLOG レコードのタイプの一覧を次に示します。
型 | 説明 |
---|---|
AB | WORK ラップラウンドを記録します(WORK のみ)。 |
AC | バックアウトトランザクション中にレコードの再配置を記録します(WORK のみ)。 |
ACEXT | アドレスコンバータの拡張を記録します(WORK のみ)。 |
AT | フィールドの追加を記録します(ADADBM)。 |
BE | バッファフラッシュの終了を記録します(WORK のみ)。 |
BF | バッファフラッシュの開始および終了を記録します(WORK のみ)。 |
BS | バッファフラッシュの開始を記録します(WORK のみ)。 |
BT | BT 処理の開始を記録します。 |
C1 | C1 コマンドからのレコードを記録します。チェックポイント名を含みます(PLOG のみ)。 |
C5 | C5 コマンドからのレコードを記録します(PLOG のみ)。 |
CE | コマンドの最終エントリ(シーケンス番号を持つ最終エントリ)を示します。コマンドが削除操作だった場合、削除レコードのファイル番号と ISN が表示されます。
例
>>> DELETE FILE 10 ISN 2 <<< |
CF | FDT の作成を記録します(ADAFDU)。 |
CL | ユーザーの CLOSE を記録します。 |
CT | ファイルの作成を記録します(ADAFDU)。 |
DA | データレコードの変更を記録します。ファイル、RABN、データレコードの ISN が表示されます。レコードはアフターイメージ(AI)、ビフォーイメージ(BI)、デルタイメージ(DI)のいずれかであり、DUMP が有効であるときに表示されます。TSN は内部トランザクションシーケンス番号です。あるトランザクションから派生するエントリはどれも、TSN が同じです(『コマンドリファレンスマニュアル』の「ET コマンド」も参照)。WB の出力は、DATASET=WORK が指定されている場合にだけ表示され、同じ TSN を持つ以前の PLOG レコードを見つけることのできる WORK ブロックを示します。clu の値がゼロでない場合、その値は排他ユーザーまたは特権ユーザーを示します。 |
DC | フィールドの削除を記録します(ADADBM)。 |
DSEXT | データストレージの拡張を記録します(WORK のみ)。 |
DT | ファイルの削除を記録します(ADADBM)。 |
DV | ディスクリプタの更新を記録します(必ず DA レコードの後にあります)。ファイルのエントリ、ISN、TSN、clu、および WB は DA レコードタイプのものと同様です。 |
ET | ET コマンドからのエントリを記録します。ET TSN と指定すると、ET コマンドで書かれた最終ユーザーデータに TSN が設定されます。 |
FCBDS | データストレージに対する FCB 変更を記録します(WORK のみ)。 |
FCBIX | ノーマルインデックスに対する FCB 変更を記録します(WORK のみ)。 |
FE | インデックスブロックの最初のエントリ変更を記録します(WORK のみ)。 |
IB | 修正されたインデックスブロックを記録します(WORK のみ)。 |
INDEX | 分割されたインデックスブロックを記録します(WORK のみ)。 |
INSRU | 再利用チェーンへのインデックスブロックの挿入を記録します(WORK のみ)。 |
NIEXT | ノーマルインデックスの拡張を記録します(WORK のみ)。 |
OP | ユーザーの OPEN を記録します。 |
REMRU | 再利用チェーンからのインデックスブロックの削除を記録します(WORK のみ)。 |
SPISN | ISN 再利用またはスペース再利用での変更を記録します。 |
UIEXT | アッパーインデックスの拡張を記録します(WORK のみ)。 |
YB | XA プロトコル内で実行された、トランザクションのバックアウトを記録します(OpenVMS にはない)。 |
YD | XA プロトコルでヒューリスティックに終了した、トランザクションの破棄を記録します(OpenVMS にはない)。 |
YF | XA プロトコルで実行された、トランザクションの最終コミットを記録します(OpenVMS にはない)。 |
YP | XA プロトコルで実行された、トランザクションの予備コミットを記録します(OpenVMS にはない)。 |
次に示すように、DA レコードまたは DV レコードの場合に、表示されることがあるフラグもあります。
フラグ | 説明 |
---|---|
AI | この PLOG レコードのデータにはデータレコードのアフターイメージが含まれます(レコードタイプ DA)。 |
BACKOUT | レコードは単一コマンド内のバックアウト時に書き出されたことを示します。 |
BI | この PLOG レコードのデータにはデータレコードのビフォーイメージが含まれます(レコードタイプ DA)。 |
BT | レコードは 1 トランザクションのバックアウト時に書き出されたことを示します。 |
DI | この PLOG レコードのデータにはデータレコードのデルタイメージが含まれます(レコードタイプ DA)。 |
FDATA | このコマンドの最初の DA レコードであることを示します。 |
FIRST_ENTRY | 指定したシーケンス番号を持つ最初のレコードであることを示します。 |
HIMERGE | 最高インデックスレベルのマージ。 |
HISPLIT | 最高インデックスレベルの分割。 |
USERD | トランザクションはユーザーデータを処理します。 |