DSEコマンドの一般的なフォーマット:
command [-qualifier[...]] [object[,...]]
DSEは、時間を表現する値を除いて、以下の修飾子の値のすべての数値入力を16進数として解釈します:CHANGE -FILEHEADER: -BLK_SIZE=, DECLOCATION=, -KEY_MAX_SIZE=, -RECORD_MAX_SIZE, -REFERENCE_COUNT=, -TIMERS_PENDING and -WRITES_PER_FLUSH、そして、REMOVEおよびRESTOREコマンドで使用する場合は、 -VERSION= の値を指定します。これらの規則は、DSEおよびMUPIP INTEGによって提供されるディスプレイに対応しています。
ブロックにレコードを追加します。 0より大きいレベルのブロックに対するADDコマンドのフォーマットは次のとおりです:
ADD [-B[LOCK]=[block] {-OFFSET=offset|-RECORD=record} -STAR -POINTER=block
または
ADD [-B[LOCK]=[block] {-OFFSET=offset|-RECORD=record} -KEY=key -POINTER=pointer
レベル0ブロックのADDコマンドのフォーマットは次のとおりです:
ADD [-B[LOCK]=[block] {-OFFSET=offset|-RECORD=record} -KEY=key -DATA=string
ADDコマンドは、ブロック内のレコードを配置するために -OFFSET または -RECORD 修飾子のどちらかを必要とし、ブロックにキーを定義するために-KEY または -STAR 修飾子のどちらかを必要とします。
-STAR 修飾子は、レベル0(データブロック)では無効です。 ADDコマンドは、レベル0で -DATA 修飾子が必要とし、または、レコードの内容を提供するため他のレベルで -POINTER 修飾子 が必要です。
-B[LOCK]=block-number
新しいレコードを受け取るためにブロックを指定します。
-BLOCK= 修飾子のないコマンドでは、DSEは、DSE操作によって処理される最後のブロックを使用しています。ブロックがアクセスされていない時、つまり、最初のブロック指向のコマンドで、DSEはブロック1(1)を使用します。
データブロックに追加されたレコードのデータフィールドを指定します。\a\bというフォームの文字列とエスケープ・コードの前後に引用符を使用します。ここで、「a」と「b」は、非印字文字を表す16進数です。\\ は、単一のバックスラッシュに変換されます。 \'\' はNULL値に変換されます。
次の修飾子とは同時利用できません: -STAR,-POINTER
新しいレコードのキーを指定します。引用符("")で、先頭のキャレット記号(^)を含むM-スタイルのグローバルリファレンスで囲みます。
次の修飾子とは同時利用できません:-STAR
指定されたオフセットの後で、次のレコードの境界に、新しいレコードを追加します。
次の修飾子とは同時利用できません: -RECORD, -STAR
インデックスブロックに追加されたレコードのブロックポインタフィールドを指定します。レベル0では、-POINTER 修飾子を使用できません。ディレクトリ・ツリーのレベル0にポインタを追加するには、バイト列を指定するか、一時的にブロック・レベルを変更する必要があります。
次の修飾子とは同時利用できません: -DATA
新しいレコードのレコード番号を指定します。
次の修飾子とは同時利用できません: -OFFSET,-STAR
指定されたブロックの最後で、スター・レコードを追加します(つまり、インデックス・ブロックの最後のレコードを識別するレコード)レベル0では、-STAR 修飾子を使用できません。
次の修飾子とは同時利用できません: -DATA,-KEY,-OFFSET,-RECORD
DSE>add -block=6F -record=57 -key="^Capital(""Mongolia"")" -data="Ulan Bator"
このコマンドは、指定された場所に キー ^Capital("Mongolia") を持つ新しいレコードを追加します。このコマンドはレベル0ブロックにのみ適用できます。
例:
DSE>add -star -bl=59A3 -pointer=2
このコマンドは、ブロック 59A3 でスター・レコードを追加します。このコマンドは、ブロック > レベル0 に適用可能であることに注意してください。
例:
DSE>add -block=3 -record=4 -key="^Fruits(4)" -data="Grapes"
Suppose your database has 3 global nodes -- ^Fruits(1)="Apple", ^Fruits(2)="Banana", and ^Fruits(3)="Cherry", then the above command adds a new node ^Fruits(4)="Grapes" at record 4. データベースに、3つのグローバルノードがあると仮定します -- ^Fruits(1)="Apple", ^Fruits(2)="Banana", ^Fruits(3)="Cherry"、上記のコマンドはレコード4に新しいノード^Fruits(4)="Grapes" を追加します。このコマンドはレベル0ブロックにのみ適用できます。上記のコマンドの結果として解釈される出力は、次のようになります:
Block 3 Size 4B Level 0 TN 6 V5 Rec:1 Blk 3 Off 10 Size 14 Cmpc 0 Key ^Fruits(1) 10 : | 14 0 0 0 46 72 75 69 74 73 0 BF 11 0 0 41 70 70 6C 65| | . . . . F r u i t s . . . . . A p p l e| Rec:2 Blk 3 Off 24 Size D Cmpc 8 Key ^Fruits(2) 24 : | D 0 8 0 21 0 0 42 61 6E 61 6E 61 | | . . . . !. . B a n a n a | Rec:3 Blk 3 Off 31 Size D Cmpc 8 Key ^Fruits(3) 31 : | D 0 8 0 31 0 0 43 68 65 72 72 79 | | . . . . 1 . . C h e r r y | Rec:4 Blk 3 Off 3E Size D Cmpc 8 Key ^Fruits(4) 3E : | D 0 8 8 41 0 0 47 72 61 70 65 73 | | . . . . A . . G r a p e s |
例:
$dse add -star -bl=1 -pointer=2
このコマンドは、ブロック1 にスター・レコードを追加します。このコマンドは、ブロック > レベル0 に適用可能であることに注意してください。
例:
$ dse add -block=4 -key="^Vegetables" -pointer=7 -offset=10
このコマンドは、キー ^Vegetables がブロック7を指しているブロックを作成します。
例:
DSE> add -record=2 -key="^foo" -data=\'\'
この例では、現在のデータベース・ブロックの2番目のレコードとして新しいノード (set ^foo="") を追加します。
現在のグローバル・ディレクトリで定義されているすべてのGDS領域に修飾子で指定されたアクションを適用します。
ALLコマンドの形式は次のとおりです:
AL[L] -B[UFFER_FLUSH] -C[RITINIT] -[NO]F[REEZE] -O[VERRIDE]] -REF[ERENCE] -REL[EASE] -REN[EW] -S[EIZE] -W[CINIT]
これは非常に強力なコマンドです。注意して使用してください。
データベース構造が重複している場合は特に注意してください (例えば、別々のアプリケーションのグローバルディレクトリからアクセスされる重複領域)。
このタイプのデータベース構造を使用する場合は、DSEで使用する重複領域を除外する特殊なグローバルディレクトリを構築する必要があります。
現在のグローバル・ディレクトリのすべての領域について、ファイル・ヘッダとすべてのプールされたバッファをディスクにフラッシュします。
次の修飾子とは同時利用できません: -RENEW
現在のディレクトリのすべての領域のクリティカル・セクションを初期化します。
次の修飾子とは同時利用できません: -RENEW, -RELEASE, -SIEZE
注意 | |
---|---|
同時更新中にCRITINITを使用しないでください。データベースが損傷する可能性があります。 |
現在のグローバル・ディレクトリのすべての領域をフリーズまたは更新しません。
FREEZE修飾子は、他の プロセス によって以前にフリーズされたものを除く、すべてのGDS領域をフリーズします。特定の プロセス によってフリーズされた領域は、そのプロセスに関連付けられています。
フリーズされた領域は、次の2つの方法のいずれか1つで更新のためにフリーズ解除される可能性があります:領域をフリーズさせたプロセス は、-NOFREEZE修飾子で領域をフリーズ解除することがあります; または、別のプロセス は、 -OVERRIDE修飾子と一緒にフリーズをオーバーライドすることもできます。FREEZEの操作方法の詳細については、 “FREEZE ” を参照してください。
デフォルトでは、 -NOFREEZE修飾子は、プロセスによって以前にフリーズされたGDS領域のみをフリーズ解除します。ある領域がフリーズ解除されると、それはどの process によっても更新されてもよいです。グローバル・ディレクトリのすべてのGDS領域をフリーズ解除するには、 -OVERRIDE修飾子を使用します。
DSEは、終了時に保持されるFREEZEを解放します。したがって、ALL -FREEZEコマンドの実行後に同じDSE呼び出しまたはSPAWNを使用して操作を実行します。
次の修飾子とは同時利用できません: -RENEW
-FREEZEまたは-NOFREEZE操作をオーバーライドします。
-NOFREEZEと一緒に使用すると、-OVERRIDE は他のユーザーによってフリーズされたGDS領域を含むすべてのGDS領域をフリーズ解除します。
-FREEZEと一緒に使用すると、 -OVERRIDE は他のプロセスによってそれらフリーズを含むGDS領域をすべてフリーズし、そのようなフリーズをすべて現在の プロセスに関連付けます。現在のプロセスでは、-NOFREEZEを使用してデータベースをフリーズ解除する必要があります; -NOFREEZEを試行する他のプロセスも -OVERRIDE修飾子を含める必要があります。
意味があるのは唯一:[NO]FREEZE
現在のグローバル・ディレクトリのすべての領域について、参照カウント・フィールド(reference count field)を1にリセットします。
参照カウント(Reference count) は、読み取り/書き込みアクセス権を持つデータベースにアクセスするプロセスの数を追跡するファイル・ヘッダー要素フィールドです。
この修飾子は、DSEが、現在のグローバル・ディレクトリのデータベースに接続されている唯一のプロセスである場合に使用するためのものです。他のユーザーが接続されている場合に使用すると、誤った値が生成されます。
次の修飾子とは同時利用できません: -RENEW
現在のグローバル・ディレクトリのすべての領域のクリティカルセクションを解放(Release)します。
次の修飾子とは同時利用できません: -CRITINIT, -RENEW, -SEIZE
クリティカルセクション (-CRITICAL) とバッファー (-WCINIT) を再初期化し、参照カウント (-REFERENCE_COUNT) を1にリセットし、現在のグローバル・ディレクトリのすべての領域に対してフリーズ (-NOFREEZE) をクリアします。
-RENEW は、確認を必要とします。
RENEWアクションを実行すると、影響を受けるデータベース領域のすべての現在のアクセス機構が、次のアクセスの試行で致命的なエラーを受け取るようになります。
この操作は危険で劇的で、複数のデータベースがハングアップして他の解決策の試行に失敗した場合の最後の手段です; このオプションを使用する正当な理由はほとんどありません。
現在のグローバル・ディレクトリのすべての領域のクリティカル・セクションを捕捉します。-SEIZE 修飾子は、DSEがデータベースからブロックを読み取ることができないときに生成されるDSEBLKRDFAILエラーが発生したときに役立ちます。
次の修飾子とは同時利用できません:-RENEW, -RELEASE, -CRITINIT
現在のグローバル・ディレクトリのすべての領域のバッファを再初期化します。
-WCINITは確認を必要とします。
注意 | |
---|---|
この操作では、同時更新の実行中にデータベースを破損する可能性があります。 |
次の修飾子とは同時利用できません: -RENEW
例:
DSE> all flush -buffer_flush
このコマンドは、ファイル・ヘッダーとキャッシュ・バッファをすべての領域のディスクにフラッシュします。
例:
DSE> ALL -CRITINIT
このコマンドは、カレント・ディレクトリのすべての領域のクリティカル・セクションを初期化します。
例:
DSE> ALL -FREEZE
DSE> SPAWN "mumps -dir"
最初のコマンドは、現在のグローバルディレクトリのすべての領域をフリーズします。2番目のコマンドは、子(シェル)プロセスを作成し、 "mumps -dir"コマンドを実行します。次に、GTMプロンプトでS ^A=1と入力します。DSE FREEZE が適切に設定されているため、コマンドがハングすることに注意してください。
例:
DSE> ALL -NOFREEZE -OVERRIDE
このコマンドは、他のユーザーが置いたFREEZEを含む現在のすべての領域でFREEZEを削除します。
例:
DSE> ALL -REFERENCE
このコマンドは、ファイル・ヘッダーの参照カウントフィールドを1に設定します。
例:
DSE> ALL -RELEASE
このコマンドは、現在のグローバル・ディレクトリのすべての領域に対して、現在のプロセスが所有するクリティカル・セクションを解放します。
例:
DSE> ALL -RENEW
このコマンドは、クリティカル・セクション、バッファを再初期化し、参照カウントを1にリセットし、現在のグローバルディレクトリのすべての領域に対してフリーズをクリアします。
例:
DSE> ALL -SEIZE
このコマンドは、現在のグローバル・ディレクトリのすべての領域のすべてのクリティカルセクションを捕捉します。
例:
DSE> WCINIT
このコマンドは、現在のグローバルディレクトリのすべての領域のバッファを再初期化します。
ファイルヘッダと現在の領域のバッファをディスクにフラッシュします。
BUFFER_FLUSHコマンドの形式は次のとおりです:
B[UFFER_FLUSH]
BUFFER_FLUSHコマンドには修飾子はありません。
CHANGEコマンドは、ブロック、ファイル、またはレコードヘッダーのフィールドを変更します。
CHANGEコマンドのフォーマット:
CH[ANGE]
CHANGEコマンドには、変更のターゲットを定義するために、-FILEHEADER修飾子または暗黙的または明示的な-BLOCK修飾子に加えて、関連する1つ以上の修飾子があります。
-BL[OCK]=block-number と1つ以上の以下のような修飾子:
-BS[IZ]=block-size -L[EVEL]=level -TN[=transaction-number] -OF[FSET]=offset -RE[CORD]=record-number -CM[PC]=compression-count -RS[IZ]=record-size
または
-F[ILEHEADER] と1つ以上の次のような修飾子:
-AB[ANDONED_KILLS]=value -AVG_BLKS_READ=Average-blocks-read -B_B[YTESTREAM]=transaction-number -B_C[OMPREHENSIVE]=transaction-number -B_D[ATABASE]=transaction-number -B_I[NCREMENTAL]=transaction-number -B_R[ECORD]=transaction-number -BLK_SIZE=block-size -BLO[CKS_FREE]=free-blocks -CU[RRENT_TN]=transaction-number -COM[MITWAIT_SPIN_COUNT]=boolean -DEC[LOCATION]=value -DEF[_COLLATION]=value -ENCRYPTION_HASH -FL[USH_TIME][=delta-time] -FR[EEZE]=value -FU[LLY_UPGRADED]=boolean -GV[STATSRESET] -HARD_SPIN_CPUNT=Mutex-hard-spin-sount -[HEXLOCATION]=value -INT[ERRUPTED_RECOV]=boolean -JNL_YIELD_LIMIT=journal-yeild-limit -KE[Y_MAX_SIZE]=key-max-size -KI[LL_IN_PROG]=value -M[ACHINE_NAM]=value -N[ULL_SUBSCRIPTS]=value -NO[CRIT] -OV[ERRIDE] -Q[DBRUNDOWN] -RC_SRV_COUNT -RE_READ_TRIGGER=read-trigger -REC[ORD_MAX_SIZE]=record-max-size -REF[ERENCE_COUNT]=reference-count -REG[_SEQNO]=sequence-number -RESERVED_BYTES=reserved-bytes -SLEEP_SPIN_COUNT=mutex-sleep-spin-count -SPIN_SLEEP_TIME=mutex-sleep-time -STRM_NUM=stream-number STRM_REG_SEQNO=hexa -TIM[ERS_PENDING]=integer -TO[TAL_BLKS]=total-blocks -TR[IGGER_FLUSH]=trigger-flus -UPD_RESERVED_AREA=reserved-area -UPD_WRITER_TRIGGER_FACTOR=trigger-factor -W[RITES_PER_FLUSH]=writes-per-flush -WAIT_DISK=wait-disk -Zqgblmod_S[EQNO]=sequence-number -Zqgblmod_T[rans]=sequence-number
このセクションでは、-BLOCK とそのすべての修飾子について説明します。
変更するブロックを指定します。qualifier is incompatible with thequalifier and all qualifiers related to. -BLOCK 修飾子は、 -FILEHEADER 修飾子および -FILEHEADER に関連するすべての修飾子と同時利用できません。
-BLOCK がデフォルトの修飾子です。On commands with neither a nor a -BLOCK 修飾子も -FILEHEADER 修飾子もどちらも指定されていないコマンドでは、DSEはDSE操作で処理された最後のブロックを使用します。ブロックがアクセスされていない時、つまり、最初のブロック指向のコマンドで、DSEはブロック1(1)を使用します。
次の修飾子とは同時利用できません: -FILEHEADER と-FILEHEADER を使用した修飾子
次の修飾子は、ブロックヘッダで動作します。
指定されたブロックのブロック・サイズ・フィールドを変更します。
block_size は16進形式です。
ブロックサイズを小さくすると、既存のデータが失われる可能性があります。
注意 | |
---|---|
ブロック・サイズは、常にファイル・ヘッダーのブロック・サイズ以下でなければなりません。 |
次の修飾子でのみ使用してください: -BLOCK, -LEVEL, -TN
指定されたブロックのレベルのフィールドを変更します。
注意 | |
---|---|
DSEでは、ビットマップ・レベルが破損して任意の値をとるときに、ビットマップ・ブロックのレベルを-1(ビットマップ・ブロックのレベルの値)に変更できます。16進形式の -1、つまりFFを指定する必要があることに注意してください。 |
次の修飾子でのみ使用してください: -BLOCK, -BSIZ, -TN
例:
DSE >change -level=FF
現在のブロックのトランザクション番号を変更します。
When a CHANGE command does not include a -TN=, DSE sets the CHANGEコマンドに -TN= が含まれていない場合、DSEはトランザクション番号を現在のトランザクション番号に設定します。
ブロック・トランザクション番号の操作は、 MUPIP BACKUP -BYTESTREAM と -ONLINEに影響します。
次の修飾子でのみ使用してください: -BLOCK, -BSIZ, -LEVEL
ブロック内のターゲット・レコードのオフセットをバイト単位で指定します。オフセットがレコードの先頭を指していない場合、DSEは最後の有効なレコードの先頭に丸めます(たとえば、 CHANGE -OFFSET=10 は、-OFFSET=A で始まり、最後のレコードであった場合)。
次の修飾子でのみ使用してください: -BLOCK, -CMPC, -RSIZ
-RE[CORD]=record_number
ターゲット・レコードのレコード番号を指定します。
次の修飾子でのみ使用してください: -BLOCK, -CMPC, -RSIZ
-CM[PC]=compression_count
指定されたレコードの圧縮カウント・フィールドを変更します。
圧縮カウントは、同じブロック内の以前のキーに共通するキーの先頭でバイト数を指定します。
圧縮カウントはブロックの「前面」から伝播するため、ブロック内のすべてのレコードのキーを変更する可能性があります。1つのレコードだけを変更することを目標とする場合は、新しいレコードを追加して古いレコードを削除することをお勧めします。
次の修飾子でのみ使用してください: -BLOCK, -RECORD, -OFFSET, -RSIZE
-RS[IZ]=record_size
指定されたレコードのレコードサイズフィールドを変更します。
注意 | |
---|---|
-RSIZ を変更すると、ブロック内のすべてのレコードに影響します。 |
次の修飾子でのみ使用してください: -BLOCK, -RECORD, -CMPC, -OFFSET
例:
DSE> change -record=3 -rsiz=3B -block=2
このコマンドは、レコード 3 のブロック 2 のレコードサイズを59(Hex:3B)バイトに変更します。
このセクションでは、 -FILEHEADER 修飾子と、ファイル・ヘッダで動作するその他の修飾子について説明します。
関連する修飾子で指定したファイル・ヘッダ要素を変更します。
次の修飾子とは同時利用できません: -BSIZ, -CMPC, -TN, -LEVEL, -OFFSET, -RECORD, -RSIZ
破棄されるKillフィールドの値を変更します。値は、「NONE」または正の整数にすることができます。
次の修飾子でのみ使用してください: -FILEHEADER; decimal
現在のファイルの10進数のブロックサイズ・フィールドを変更します。
DSEでは、ブロックサイズを任意の値に変更することはできません。ブロックサイズは常に512の倍数に丸められます。
CHANGE -BLK_SIZE修飾子は、FISからの指示を受け取ったときにのみ使用し、-FILEHEADER修飾子との組み合わせでのみ使用します。このDSEコマンドは、データベースの作業ブロック・サイズを変更することはできず、非常に限られた異常な状況下でのみ有効です。データベース・ファイルのブロック・サイズを変更する必要がある場合は、MUPIP EXTRACT(または適切な代替)でデータをアンロードし、グローバル・ディレクトリをGDEで変更して新しいブロックサイズを指定し、MUPIP CREATEでデータベースを再作成し、MUPIP LOAD(または適切な代替)でデータを再ロードします。
次の修飾子でのみ使用してください: -FILEHEADER
現在のファイルのフリー・ブロック・フィールドを変更します。
これを使用して、MUPIP INTEG が訂正を必要としていると報告する値を修正しますが、INTEGによって報告された「正しい」値が次回の更新で古くなる可能性があることに注意してください。INTEGレポートからデルタ値を計算し、DSEで領域をFREEZEし、現在の -FILEHEADER値をDUMPする必要があり、次に、デルタを適用し、-BLOCKS_FREEをCHANGEし、最後にFREEZEを -OFFにする必要があります。
次の修飾子でのみ使用してください: -FILEHEADER
-B[YTESTREAM]=transaction_number
最後の増分バックアップのファイル・ヘッダー内のトランザクション番号を、指定された値に変更します。この修飾子は、-FILEHEADER 修飾子と組み合わせてのみ使用してください。以前のバージョンとの互換性の問題については、-B_COMPREHENSIVEとして指定することができます。
-D[ATABASE]=transaction_number
最後の包括バックアップのファイル・ヘッダー内のトランザクション番号を、指定された値に変更します。この修飾子は、-FILEHEADER 修飾子と組み合わせてのみ使用してください。以前のバージョンとの互換性の問題については、これを-B_COMPREHENSIVEとして指定することができます。
-B_R[ECORD]=transaction_number
Changes the transaction number in the file header field that maintains this information about the last -RECORD 最後の -RECORDバックアップに関するこの情報を維持するファイル・ヘッダー・フィールドのトランザクション番号を変更します。
領域がMUPIP JOURNAL -RECOVERコマンドで正常にリカバリを完了したかどうかを示します。可能な値は、T[RUE]またはF[ALSE]です。
このフラグを変更しても、データベースが壊れたり、データベースが破損することはありません。CORRUPT_FILEがTRUEに設定されている場合、DSE DUMPコマンドは次のようなメッセージを表示します:
%GTM-W-DBFLCORRP, /home/gtmnode1/mumps.dat Header indicates database file is corrupt
注意 | |
---|---|
CHANGE -FILEHEADER -CORRUPT=TRUE の後、このファイルはDSE以外の将来のGT.Mアクセスには使用できません。通常の状態では、このフラグを手動で変更する必要はありません。MUPIP SET -PARTIAL_BYPASS_RECOVは、このフラグをfalseに設定します。 |
次の修飾子でのみ使用してください: -FILEHEADER
-COM[MITWAIT_SPIN_COUNT]=value
GT.MがSMPマシン上で実行されているときにCPUを譲る前にスピン(spin)すべきブロック更新を完了するブロックを制御するのを待っているGT.Mプロセスの回数を指定します。単一プロセッサーシステム上で実行すると、GT.Mはこのパラメーターを無視します。SMPシステムでは、あるプロセスに別のプロセスが持つクリティカル・セクションが必要なときに、クリティカル・セクションが短い場合(GT.Mで設計されているように)、クリティカル・セクションのプロセスがすぐにリリースされることを期待して少しスピン(spinning)することは、CPU使用率の増加を犠牲にしてパフォーマンスを向上させる方法が提供されます。最終的に、クリティカル・セクションを待っているプロセスは、スピンして少しでもそれが必要なクリティカル・セクションにならなければ、CPUを譲ります。負荷の重いシステムでは、COMMITWAIT_SPIN_COUNTを増やしてもスループットのためにCPUをトレードオフすることはできませんが、両方を低下させる可能性があります。COMMITWAIT_SPIN_COUNTを0に設定すると、待機プロセスは、スピンまたは譲渡の代わりに小さなスリープのシーケンスを実行します。
デフォルト値は16です。
次の修飾子でのみ使用してください: -FILEHEADER
-CU[RRENT_TN]=transaction_number
現在の領域の現在のトランザクション番号を変更します。
-CURRENT_TNを上げると、「"block transaction number too large" ブロックトランザクション番号が大きすぎます」というエラーを修正できます。
この修飾子は、MUPIP BACKUP -INCREMENTALおよび-ONLINEに影響します。
-BLOCK修飾子とともに使用すると、CURRENT_TNはトランザクション番号をブロックヘッダーに配置します。
次の修飾子でのみ使用してください: -FILEHEADER
ファイル・ヘッダーのオフセットを指定します。-VALUEが指定されている場合、GT.Mはそれをその場所に置きます。
次の修飾子でのみ使用してください: -FILEHEADER; decimal
ハッシュ・ライブラリを変更すると、データベース・ファイル・ヘッダーに格納されているパスワードのハッシュを変更します。キー管理と参照実装の詳細は、 第12章:“データベース暗号化”を参照してください。
注意 | |
---|---|
不正確なハッシュはデータベースを役に立たなくします。 |
次の修飾子でのみ使用してください: -FILEHEADER
flush_timeのデフォルト間隔(delta_time)を変更します。
入力した時間は、0〜1時間の間でなければなりません。入力は10進数として解釈されます。
値なしの -FLUSH_TIMEは、-FLUSH_TIMEをデフォルト値(BGの場合は1秒、MMの場合は30秒)にリセットします。
delta_time の単位は、時間:分:秒:センチ秒(1/100秒)です。たとえば、フラッシュ時間間隔を1秒に変更する場合、delta_timeは 00:00:01:00 になります。30分に変更するには、delta_timeは 00:30:00:00 になります。修飾子の有効な値は、1センチ秒(1/100秒)〜1時間です。
次の修飾子でのみ使用してください: -FILEHEADER
更新する領域の可用性を設定します。可能な値は、T[RUE]またはF[ALSE]です。データベースの「フリーズ」(データベース書込みを無効にする)またはデータベースの「フリーズ解除」に使用します。
次の修飾子でのみ使用してください: -FILEHEADER
FREEZEを操作する方法については、「一般データベース管理」の章の “FREEZE ” を参照してください。
DSEは、それがEXITした時に、-FREEZE をリリースします。データベースを保持するには、CHANGE -FILEHEADER -FREEZE=TRUE 、つぎにSPAWNを実行して他の操作を実行します。
データベースがV4データベース形式からV5データベース形式に完全にアップグレードされたかどうかを示すフラグを設定します。値は、T[RUE]またはF[ALSE]のいずれかです。
次の修飾子でのみ使用してください: -FILEHEADER
-GV[STATSRESET]
すべてのデータベース・ファイル・ヘッダーのグローバル・アクセス統計を0にリセットします。これにより、データベース・ファイル・ヘッダーに以前に蓄積されたすべての統計が消去されることに注意してください。
次の修飾子でのみ使用してください: -FILEHEADER
-HEXLOCATION
ファイル・ヘッダーのオフセットを指定します。-VALUEが指定されている場合、GT.Mはそれをその場所に置きます。
次の修飾子でのみ使用してください: -FILEHEADER; hexadecimal
-INT[ERRUPTED_RECOV]=boolean
MUPIP JOURNAL -RECOVERコマンドによるリカバリが中断されたかどうかを示すフラグを設定します。値は、T[RUE]またはF[ALSE]のいずれかです。
次の修飾子でのみ使用してください: -FILEHEADER
-K[EY_MAX_SIZE]=key_max_size
最大許容キーサイズの10進数の値を変更します。KEY_MAX_SIZE を小さくすると、既存のデータへのアクセスを制限し、GT.Mにエラーを報告させることができます。互換性のないキーとレコード・サイズを作成しないでください。
DSEを使用してキー・サイズを永続的に変更する前に、GDEを使用して、適切なグローバル・ディレクトリにその領域のキー・サイズが同じであることを確認してください。これは、将来のMUPIP CREATEを準備し、キーとレコードサイズの値の一貫性チェックを実行します。キーおよびレコードサイズの詳細については、 第4章: “グローバル・ディレクトリ・エディタ”を参照してください。
次の修飾子でのみ使用してください: -FILEHEADER; decimal
プログレス・フィールドのKILLの値を変更します。値は、「NONE」または正の整数にすることができます。
次の修飾子でのみ使用してください: -FILEHEADER; decimal
GT.Mがデータベースのキーにnull添字を受け入れるかどうかを制御します。
値は、T[RUE]、F[ALSE]、ALWAYS、NEVER、EXISTINGのいずれかです。null_subscript のこれらの値の詳細については、GDEの章を参照してください。
null 添字を禁止すると、既存のデータへのアクセスを制限し、GT.Mにエラーを報告させることができます。
デフォルト値は never です。
DSEは null 添字の照合順序を変更できません。代わりに、GDEを使用してnull添字の照合順序を変更し、MUPIP EXTRACTで現在のコンテンツを抽出し、MUPIP CREATEで更新された照合順序でデータベース・ファイルを作成し、MUPIP LOADEでコンテンツをロードします。
次の修飾子でのみ使用してください: -FILEHEADER
別のプロセスが所有するFREEZEを、解放または「盗む("steals")」します。
次の修飾子でのみ使用してください: -FREEZE
データベースの即時停止(quick rundown)を有効にするかどうかを示すフラグを設定します。デフォルト値は、 -NOQDBRUNDOWN です。
詳細については、“領域(Region)修飾子” を参照してください。
-REC[ORD_MAX_SIZE]=record_max_size
最大許容レコード・サイズの10進数の値を変更します。-RECORD_MAX_SIZE修飾子は、-FILEHEADER 修飾子と組み合わせてのみ使用してください。RECORD_MAX_SIZEを小さくすると、既存のデータへのアクセスを制限し、GT.Mにエラーを報告させることができます。互換性のないキーとレコード・サイズを作成しないでください。
DSEを使用してレコード・サイズを永続的に変更する前に、GDEを使用して、適切なグローバル・ディレクトリにその領域の同じレコードサイズが含まれていることを確認します。これは、将来のMUPIP CREATEを準備し、キーとレコードサイズの値の一貫性チェックを実行します。キーおよびレコードサイズの詳細については、 第4章: “グローバル・ディレクトリ・エディタ”を参照してください。
-REF[ERENCE_COUNT]=reference_count
読み取り/書き込み権限を持つデータベースにアクセスするプロセスの数を追跡するフィールドを設定します。MUPIP INTEGおよびDSEは、-REFERENCE_COUNTの10進数を使用します。適切な参照カウントを正確に決定するには、CHANGE -FILEHEADER -REFERENCE_COUNT を、DSEを実行しているプロセスがデータベース・ファイルへの排他的(スタンドアロン)アクセス権を持つ場合に制限します。DSEがデータベースファイルに単独でアクセスする場合、 -REFERENCE_COUNTは1でなければなりません。これは情報フィールドであり、処理には何の影響もありません。
-REG[_SEQNO]=sequence-number
LMS環境では、 "Region Seqno"(領域シーケンス番号)フィールドが設定されます。詳細は、 第7章: “データベース・レプリケーション”を参照してください。
-RESYNC_S[EQNO]=sequence-number
LMS環境では、 "Resync Seqno"(再同期シーケンス番号)フィールドが設定されます。詳細は、 第7章: “データベース・レプリケーション”を参照してください。
LMS環境では、 "Resync transaction"(再同期トランザクション)フィールドが設定されます。詳細は、 第7章: “データベース・レプリケーション”を参照してください。
-STRM_NUM=stream-number -STRM_R[EG_SEQNO]=str_num's_region_sequence_number
ストリームとそのReg Seqnoを変更します。同じCHANGE -FILEHEADER コマンドの一部として -STRM_NUM と -STRM_REG_SEQNOを一緒に使用してください。
次の修飾子でのみ使用してください: -FILEHEADER; hexa
-TI[MERS_PENDING]=timers_pending
-TI[MERS_PENDING]=timers_pending
時間指定されたフラッシュを考慮するプロセスの数を追跡するフィールドを設定します。適切な値は0,1,2です。
CHANGE -TIMERS_PENDING 修飾子は、FISからの指示を受けた場合にのみ使用してください。
次の修飾子でのみ使用してください: -FILEHEADER; decimal
-TO[TAL_BLKS]=total_blocks
現在のファイルの合計(total)ブロック・フィールドを変更します。次の修飾子でのみ使用してください: -FILEHEADER; decimal
注意 | |
---|---|
合計ブロック・フィールドは、常にデータベースの実際のサイズを反映する必要があります。このフィールドは、データベースのサイズが反映されなくなった場合にのみ変更してください。 |
-TR[IGGER_FLUSH]=trigger_flush
キャッシュで変更されたキューをフラッシュするための、バッファ内の、トリガしきい値の10進値を設定します。
CHANGE-TRIGGER_FLUSH 修飾子は、FISからの指示を受け取ったときにのみ使用し、-FILEHEADER修飾子との組み合わせでのみ使用します。
-WR[ITES_PER_FLUSH]=writes_per_flush
各フラッシュで書き込むブロックの10進数を設定します。デフォルト値は7です。
次の修飾子でのみ使用してください: -FILEHEADER
例:
DSE> change -block=3 -bsiz=400
このコマンドは、ブロック3 のサイズを1024バイトに変更します。
例:
DSE> change -block=4 -tn=10000
このコマンドを変更すると、ブロック4 のトランザクション番号が65536(Hex:10000)に設定されます。
例:
DSE> change -block=2 -record=4 -CMPC=10 -key="^CUS(""Jones,Vic"")"
このコマンドは、キー ^CUS(Jones,Vic) の圧縮カウントを10に変更します。キー CUS(Jones,Tom) が既に存在すると仮定すると。次の表は、GT.Mがこの場合のCMPCの値をどのように計算するかを示しています。
レコード キー |
圧縮カウント |
レコードの中のキーの結果 |
---|---|---|
CUS(Jones,Tom) |
0 |
CUS(Jones,Tom) |
CUS(Jones,Vic) |
10 |
Vic) |
CUS(Jones,Sally) |
10 |
Sally) |
CUS(Smith,John) |
4 |
Smith,John) |
例:
DSE> dump -fileheader
このコマンドは、ファイル・ヘッダーのフィールドを表示します。
例:
DSE> change -fileheader -blk_siz=2048
このコマンドは、ファイル・ヘッダーのブロック・サイズ・フィールドを2048バイトに変更します。ブロック・フィールドは、常に512バイトの倍数でなければなりません。
例:
DSE> change -fileheader -blocks_free=5B
このコマンドは、ファイル・ヘッダーのブロック空きフィールドを91(16進数:5B)に変更します。例:
例:
DSE> change -fileheader -b_record=FF
このコマンドは、RECORDバックアップ・トランザクションをFFに設定します。
例:
DSE> change -fileheader corrupt_file=FALSE
このコマンドは、CORRUPT_FILEフィールドをfalseに設定します。
例:
DSE> change -fileheader -current_tn=1001D1BF817
このコマンドは、現在のトランザクション番号を1100000000023(Hex:1001D1BF817)に変更します。このコマンドを実行すると、その後のトランザクション番号は1001D1BF817より大きくなります。
例:
DSE> change -fileheader -flush_time=00:00:02:00
このコマンドは、ファイル・ヘッダーのフラッシュ時間フィールドを2秒に変更します。
例:
DSE> change -fileheader -freeze=true
このコマンドは、デフォルトの領域を更新できないようにします。
例:
DSE> change -fileheader -key_max_size=20
このコマンドは、最大キーサイズを20に変更します。デフォルトの最大キーサイズは64です。
例:
DSE> CHANGE -FILEHEADER -NULL_SUBSCRIPTS="EXISTING"
このコマンドは、ファイル・ヘッダーの Null 添字フィールドをEXISTINGに変更します。DSEはnull添字の照合順序を変更できないことに注意してください。null 添字の照合の変更の詳細については、GDEの章を参照してください。
例:
DSE> change -fileheader -reserved_bytes=8 -record_max_size=496
このコマンドは、デフォルト領域の最大レコードサイズを496に設定します。
例:
DSE> change -fileheader -reference_count=5
このコマンドは、ファイル・ヘッダーの参照カウント・フィールドを 5 に設定します。
例:
DSE> change -fileheader -timers_pending=2
このコマンドは、ファイル・ヘッダーのタイマー保留フィールドを 2 に設定します。
例:
DSE> change -fileheader -TOTAL_BLKS=64
このコマンドは、データベースの合計サイズを100(Hex:64)ブロックに設定します。
例:
DSE> change -fileheader -trigger_flush=1000
このコマンドは、ファイル・ヘッダーのFlush Triggerフィールドを1000に設定します。Flush Trigger のデフォルト値は960です。
例:
DSE> change -fileheader -writes_per_flush=10
このコマンドは、ファイル・ヘッダーの書き込み/フラッシュ・フィールドの数を 10 に変更します。書き込み/フラッシュの回数のデフォルト値は 7 です。
例:
DSE> change -fileheader -zqgblmod_seqno=FF
このコマンドは、ZGBLMOD_SEQNOフィールドを 255(Hex:FF)に変更します。
BGアクセス方式を持つデータベースのキャッシュ上で動作します。CACHEコマンドの形式は次のとおりです:
CA[CHE] -ALL -RE[COVER] -SH[OW] -VE[RIFY]
BGアクセス・メソッドを持つデータベースのキャッシュを「クリーン」状態にリセットします。
-ALL が指定されている場合、DSEにはキャッシュ・リカバリのための現在のグローバル・ディレクトリのすべての領域が含まれます。
DSE -CACHE -VERIFY コマンドによってキャッシュが「クリーンでない("NOT clean")」と報告された場合に限り、DSE -RECOVERを試みます。
キャッシュ・データの構造情報を表示します。すべての値は、8バイトの16進数形式です。データベースの暗号化がオンになっている場合、SHOW は、暗号化されたグローバル・バッファ・セクションに関する情報を共有メモリに与える要素を追加で表示します。
現在の領域のグローバル・バッファ内のGDSブロックの内部整合性とキャッシュデータ構造の整合性を検証します。
-ALLを指定すると、DSEは現在のグローバル・ディレクトリのすべての領域でキャッシュ検証を実行します。
時間、領域、およびキャッシュがクリーンか否かを示すブーリアン(boolean)の結果を報告します。レポートで「クリーンではない」が表示された場合は、できるだけ早くDSE CACHE -RECOVER を実行してクリーンな状態でキャッシュをリセットしてください。
例:
DSE> CACHE -VERIFY
このコマンドは、現在の領域のグローバルバッファ内のGDSブロックの内部整合性と同様に、キャッシュ・データ構造の整合性をチェックします。
例:
DSE> CACHE -VERIFY -ALL Time 26-FEB-2011 14:31:30 : Region DEFAULT : Cache verification is clean Time 26-FEB-2011 14:31:30 : Region DEFAULT : キャッシュの検証はクリーンです Execute CACHE recover command if Cache verification is "NOT" clean. キャッシュの検証が"NOT"クリーンならば、CACHE recoverコマンドを実行します。
このコマンドは、すべての領域のデータベース・キャッシュの状態を報告します。
例:
DSE> CACHE -RECOVER
このコマンドは、現在の領域のキャッシュ・データ構造を再初期化し、BGアクセスを持つデータベースのキャッシュを「クリーン("clean")」状態に戻します。
例:
DSE> CACHE -SHOW File /home/jdoe/node1/areg.dat Region AREG Region AREG : Shared_memory = 0x00002B6845040000 Region AREG : node_local = 0x0000000000000000 Region AREG : critical = 0x0000000000010000 Region AREG : shmpool_buffer = 0x0000000000023000 Region AREG : lock_space = 0x0000000000125000 Region AREG : cache_queues_state = 0x000000000012A000 Region AREG : cache_que_header = 0x000000000012A030 : Numelems = 0x00000407 : Elemsize = 0x00000098 Region AREG : cache_record = 0x0000000000150458 : Numelems = 0x00000400 : Elemsize = 0x00000098 Region AREG : global_buffer = 0x0000000000177000 : Numelems = 0x00000400 : Elemsize = 0x00000400 Region AREG : db_file_header = 0x0000000000277000 Region AREG : bt_que_header = 0x00000000002B7000 : Numelems = 0x00000407 : Elemsize = 0x00000040 Region AREG : th_base = 0x00000000002C71D0 Region AREG : bt_record = 0x00000000002C7200 : Numelems = 0x00000400 : Elemsize = 0x00000040 Region AREG : shared_memory_size = 0x00000000002D8000 DSE>
現在の領域のクリティカル・セクションのステータスと内容を表示および/または変更します。CRITICALコマンドの形式は次のとおりです:
CR[ITICAL] -A[LL] -I[NIT] -O[WNER] -REL[EASE] -REM[OVE] -RES[ET] -S[EIZE]
クリティカル・セクション・フィールドは、プロセス識別番号(PID)によって、データベースへの更新を現在管理しているプロセスを識別します。
クリティカル・セクションを鉄道線路の共通セグメントと考えてください。列車が可能な限り迅速に共通セグメントを移動するのと同じように、プロセスがクリティカル・セクションを通じて可能な限り早く移動し、他のプロセスがそれを使用できるようにします。
デフォルトでは、CRITICAL コマンドは、クリティカル・セクションのステータスを表示する -OWNER修飾子を想定しています。
すべての地域からクリティカル・セクションを所有するプロセスのすべてのIDを表示します。ある領域にクリティカル・セクションを所有するプロセスがない場合、ALLは各領域で「CRITは現在所有されていません("the CRIT is currently unowned")」というメッセージを表示します。
クリティカル・セクションを再初期化します。
-INIT と -RESET の修飾子を合わせると、すべてのGT.Mプロセスがそのデータベース・ファイルにアクティブにアクセスし、エラーを通知します。
他のプロセスがデータベースに損傷を与える危険性があるため、他のプロセスはこの領域にアクティブにアクセスしているとき、FISは、-RESET パラメータなしで -INITを使用することを推奨しています。
次の修飾子でのみ使用してください: -RESET
クリティカル・セクションの先頭にプロセスのIDを表示します。DSEは、現在のプロセスがクリティカル・セクションを所有している場合に警告メッセージを表示します。
単独で使う
例:
DSE> critical -OWNER Write critical section is currently unowned 書き込みクリティカル・セクションは現在所有されていません
DSEを実行しているプロセスがセクションを所有している場合、クリティカル・セクションを解放します。
単独で使ってください。
クリティカル・セクションの書き込み所有権を終了します。クリティカル・セクションが、存在しない、または、もはやGT.Mイメージを実行していないことがわかっているプロセスによって所有されている場合は、これを使用します。
単独で使ってください。
注意 | |
---|---|
クリティカル・セクションの書き込み所有者がアクティブなGT.MプロセスであるときにCRITICAL -REMOVEを使用すると、データベース構造が損傷する可能性があります。 |
クリティカル・セクションがオンラインで再初期化を経由した回数を表示します。
-RESET を -INIT とともに使用すると、領域のクリティカル・セクションを取得しようとしているプロセスでエラーが発生します。FISの指針のもとで、特定の種類のハングをクリアする方法として -RESET -INIT を使用します。
次の修飾子でのみ使用してください: -INIT
クリティカル・セクション(使用可能な場合)を取得します。
SEIZE を使用して、データベースの更新を一時的に中断することもできます。
続いて、CRITICAL -RELEASEコマンドを実行して、通常の操作に戻します。
ブロック、レコード、またはファイル・ヘッダーを表示します。DUMPは、主要なDSE検査コマンドの1つです。
DUMPコマンドの形式は次のとおりです:
D[UMP] -A[LL] -B[LOCK]=block_number -C[OUNT]=count -F[ILEHEADER] -G[LO] -G[VSTATS] -[NO]C[RIT] -[NO]H[EADER] -O[FFSET]=offset -R[ECORD]=record-number -U[PDPROC] -Z[WR]
MUPIP INTEGによって報告されたエラーメッセージを使用して、何をダンプしてデータベースで調べるかを決定します。DUMPは、レコードをシーケンシャル・ファイルに転送して、今後の学習やMUPIP LOADへの入力にも使用できます(OPENセクションを参照)。DUMPコマンドでは、-BLOCK、-HEADER、-RECORD、または-FILEHEADERのいずれかを使用してオブジェクトを指定する必要があります。
When used with the -A[LL] -FILEHEADER と一緒に使用すると、 -A[LL] 修飾子はデータベースの追加情報を表示し、そのほとんどはFISで問題を診断するのに便利です。DSE DUMP -FILEHEADER -ALLコマンドで表示されるすべての要素の完全な説明は、この本の範囲を超えています。-FILEHEADERまたは-UPDPROC( -ALL はUPDPROC情報を表示するため、実際は冗長です)とともに使用してください。
ダンプの開始ブロックを指定します。オブジェクト修飾子のないコマンドの場合、DSEは、DSE操作で処理された最後のブロックを使用します。ブロックがアクセスされていない場合(つまり、最初のブロック指向コマンドの場合)、DSEはブロック 1 を使用します。
次の修飾子とは同時利用できません: -ALL, -FILEHEADER と -UPDPROC
ブロック数、ブロック・ヘッダー、またはレコードをDUMPに指定します。
次の修飾子とは同時利用できません: -ALL, -FILEHEADER と -UPDPROC
ファイル・ヘッダー情報をダンプします。データベース・ファイル・ヘッダーのDSEダンプは、16進形式で表示されるすべてのフィールドに 0x 接頭辞を出力します。ファイル・ヘッダ・フィールドの説明については、「はじめに("Introduction")」を参照してください。
次の修飾子でのみ使用してください: -ALL または -UPDPROC
-G[LO]
グローバル出力(GO)形式で、指定されたレコードまたはブロックを現在の出力ファイルにダンプします。ZWR形式は、-GLOに問題のあるものも含め、すべての可能なコンテンツ値を扱うため、FISでは、-GLOではなく-ZWRを使用することを強く推奨しています。GLO形式はUTF-8モードではサポートされていません - UTF-8モードでZWR形式を使用してください。
次の修飾子とは同時利用できません: -ALL, -FILEHEADER, -UPDPROC と -ZWR
-G[VSTATS]
グローバル変数とデータベース・ファイルのアクセス統計情報を表示します。
別のプロセスがクリティカル・セクションを保持していても、DSE DUMPが動作することを許可します。このモードの結果は矛盾する可能性があるため、クリティカル・セクションのメカニズムが正常に動作していない場合にのみ使用してください。
指定されたブロックまたはレコードのダンプがヘッダーに制限されているか、除外されているかを指定します。 -HEADER はヘッダーのみを表示し、-NOHEADER はヘッダーが表示されていないブロックまたはレコードを表示します。 -[NO]HEADER 修飾子を指定しないDUMPは、ブロック/レコードとヘッダーの両方をダンプします。
デフォルトでは、DUMPはすべての情報をブロックまたはレコードに表示します。
次の修飾子とは同時利用できません: -ALL, -FILEHEADER, -GLO, -UPDPROC と -ZWR
ダンプの開始レコードのオフセットをバイト単位で指定します。オフセットがレコードの先頭を指していない場合、DSEは最後の有効なレコードの開始点に切り捨てます(たとえば、DUMP -OFF=10 は、オフセット10を含むレコードの先頭の場合は -OFF=A で始まります)。
次の修飾子とは同時利用できません: -ALL, -FILEHEADER, -RECORD
ダンプの開始レコードのレコード番号を指定します。ブロック内の最後の実際のレコードよりも大きなレコード番号をダンプしようとすると、DSEエラーメッセージにブロック内の最後のレコードの番号が表示されます。
次の修飾子とは同時利用できません: -ALL, -FILEHEADER, -OFFSET
-U[PDPROC]
ファイル・ヘッダー要素でヘルパー・プロセス・パラメータを表示します。
次の修飾子でのみ使用してください: -FILEHEADER
-Z[WR]
指定したレコードをZWRITE(ZWR)形式で現在の出力ファイルにダンプします。
次の修飾子とは同時利用できません: -ALL, -GLO, -HEADER と -FILEHEADER
例:
DSE> DUMP -FILEHEADER
このコマンドは、次のような出力を表示します:
File /home/jdoe/.fis-gtm/V6.1-000_x86_64/g/gtm.dat Region DEFAULT File /home/jdoe/.fis-gtm/V6.1-000_x86_64/g/gtm.dat Region DEFAULT Date/Time 27-JAN-2014 03:13:40 [$H = 63214,11620] Access method BG Global Buffers 1024 Reserved Bytes 0 Block size (in bytes) 1024 Maximum record size 256 Starting VBN 513 Maximum key size 64 Total blocks 0x000000C9 Null subscripts NEVER Free blocks 0x00000056 Standard Null Collation FALSE Free space 0x00000000 Last Record Backup 0x0000000000000001 Extension Count 100 Last Database Backup 0x0000000000000001 Number of local maps 1 Last Bytestream Backup 0x0000000000000001 Lock space 0x00000028 In critical section 0x00000000 Timers pending 0 Cache freeze id 0x00000000 Flush timer 00:00:01:00 Freeze match 0x00000000 Flush trigger 960 Current transaction 0x0000000000002712 No. of writes/flush 7 Maximum TN 0xFFFFFFFF83FFFFFF Certified for Upgrade to V6 Maximum TN Warn 0xFFFFFFFD93FFFFFF Desired DB Format V6 Master Bitmap Size 496 Blocks to Upgrade 0x00000000 Create in progress FALSE Modified cache blocks 0 Reference count 1 Wait Disk 0 Journal State [inactive] ON Journal Before imaging TRUE Journal Allocation 2048 Journal Extension 2048 Journal Buffer Size 2308 Journal Alignsize 4096 Journal AutoSwitchLimit 8386560 Journal Epoch Interval 30 Journal Yield Limit 8 Journal Sync IO FALSE Journal File: /home/jdoe/.fis-gtm/V6.1-000_x86_64/g/gtm.mjl Mutex Hard Spin Count 128 Mutex Sleep Spin Count 128 Mutex Queue Slots 1024 KILLs in progress 0 Replication State OFF Region Seqno 0x0000000000000001 Zqgblmod Seqno 0x0000000000000000 Zqgblmod Trans 0x0000000000000000 Endian Format LITTLE Commit Wait Spin Count 16 Database file encrypted FALSE Inst Freeze on Error FALSE Spanning Node Absent TRUE Maximum Key Size Assured TRUE
特定のファイル・ヘッダー要素は、データベースの現在の状態に応じて表示されることに注意してください。たとえば、ジャーナリングがデータベースで有効になっていない場合、DSEはジャーナルデータ要素フィールドを表示しません。
例:
$ dse dump -fileheader -updproc
このコマンドは、次のヘルパー・プロセス・パラメータとともにファイル・ヘッダー要素を表示します。
Upd reserved area [% global buffers] 50 Avg blks read per 100 records 200 Pre read trigger factor [% upd rsrvd] 50 Upd writer trigger [%flshTrgr] 33
詳細は、 “GT.Mデータベース構造(GDS)” のファイル・ヘッダー要素のセクションを参照してください。
16進数を10進数に変換します。逆もまた同様です。
EVALUATEコマンドの形式は次のとおりです:
EV[ALUATE] -D[ECIMAL] -H[EXADECIMAL] -N[UMBER]=number
-DECIMAL および -HEXADECIMAL修飾子は、数値の入力基数を指定します。 -NUMBER修飾子は必須です。デフォルトでは、EVALUATEはその数値を16進数として扱います。
入力の数値に10進数を指定します。
次の修飾子とは同時利用できません: -HEXADECIMAL
入力の数値を16進数で指定します。
次の修飾子とは同時利用できません: -DECIMAL
評価する数値を指定します。必須です。
例:
DSE> evaluate -number=10 -decimal Hex: A Dec: 10
このコマンドは、10進数の 10 に相当する16進数を表示します。
例:
DSE> evaluate -number=10 -hexadecimal Hex: 10 Dec: 16
このコマンドは、16進の10に相当する10進数を表示します。
例:
$ dse evaluate -number=10 Hex: 10 Dec: 16
このコマンドは、16進 10 に相当する10進数を表示します。-NAMEで修飾子を指定しない場合、EVALUATEは16進数の入力とみなします。
指定されたブロックまたは領域を検索します。FINDコマンドの形式は次のとおりです:
F[IND] -B[LOCK]=block-number -E[XHAUSTIVE] -F[REEBLOCK] /H[INT] -K[EY]=key -[NO]C[RIT] -R[EGION][=region] -S[IBLINGS]
DSEセッションの開始時に、FIND -REGIONコマンドを使用してターゲット領域を選択します。
FINDコマンドは、-FREEBLOCK修飾子と-REGION修飾子を併用する以外は、インデックス・ツリーを使用してブロックを検索します。FINDは、インデックス・ツリー構造内のブロックのみを検索できます。ツリーへのアタッチメントから独立したキーを見つける必要がある場合は、RANGEコマンドを使用します。
検索するブロックを指定します。
-BLOCK= 修飾子のないコマンドの場合、DSEはDSE操作で処理された最後のブロックを使用します。ブロックがアクセスされていない時、つまり、最初のブロック指向のコマンドで、DSEはブロック1(1)を使用します。
次の修飾子とは同時利用できません: -KEY, -REGION
目的のパスまたは兄弟(木構造中の兄弟関係にあるノード) のインデックス構造全体を検索します。
FIND -EXHAUSTIVE は、ツリー内にあるが正しくインデックス付けされていないブロックを見つけます。
FIND -EXHAUSTIVEは、「二重に割り当てられた("doubly allocated")」ブロックへのすべてのパスを探します。
注意 | |
---|---|
二重に割り当てられたブロックは、不適切なデータの混在を引き起こす可能性があります。KILLが発生しない限り、二重割り当てによって追加のデータが永久に失われることはありません。ただし、アプリケーション・プログラムがエラーや不適切な結果を生成する可能性があります。ブロックが二重に割り当てられると、KILLは適切な範囲外のデータを削除する可能性があります。二重に割り当てられたブロックの修復の詳細は、「データベース整合性の維持」を参照してください。 |
次の修飾子とは同時利用できません: -KEY, -REGION, -FREEBLOCK
-HINT で指定されたブロックに最も近い空きブロックを検出します。FREEBLOCK はビットマップを開始点または終了点として受け入れます。
-FREEBLOCK 修飾子は、-BLOCKおよび-HINT以外のすべての修飾子と互換性がありません(同時利用できません)。
-FREEBLOCK修飾子を指定する場合は、-HINT修飾子が必要です。
FIND -FREEBLOCKはビットマップを使用してターゲットを特定するため、このコマンドを使用する前に「FREE」と誤ってマークされたブロックを修正してください。間違ってマークされた空きエラーを修正する方法については、MAP -BUSYを参照してください。
-HINT で必須です; -BLOCKおよび[NO] CRITと互換性があります(同時利用可能)。
-FREEBLOCK検索の開始点を指定します。
FIND -FREE -HINT は、ヒント(hint)に最も近いフリーブロックを探します。これにより、Bツリーに追加するブロックの検索、または、DSEの終了時に失われる別な方法でSAVEで作成されたブロック・コピーの保持用のツールが提供されます。FIND -FREEはビットマップを使用してターゲットを特定するため、このコマンドを使用する前に「FREE」と誤ってマークされたブロックを修正してください。
必須:-FREEBLOCK; -BLOCK と [NO]CRITと互換性があります(同時利用可能)。
指定されたキーまたはキーが存在しない場合は、キー含むブロックをデータベースで検索します。キーが存在する場合は、そのキーを含むブロックで検索します。
M-スタイルのキーは引用符( "")で囲みます。FIND -KEY は、適切にインデックス付けされたキーの検索に役立ちます。-KEY修飾子は、他のすべての修飾子と互換性がありません。
FIND -KEY= はインデックスを使用して、キーを含むレベルゼロ(0)ブロックまたはデータブロックを検索します。キーが存在しない場合は、インデックスを使用してキーが存在するブロックを探します。FINDは、現在作成されているインデックスでのみ機能することに注意してください。言い換えれば、コマンドが発行された時点でインデックスが指す場所だけを、「正しい」場所として見つけることはできません。これらの2つの場所は同じである必要があります; ただし、現在のデータベースの完全性の問題を説明するすべての情報を検索し、理解し、考慮する必要があります。
DSEはキーを指定するときに ^#t を有効なグローバル名として受け入れます。
[NO]CRIT だけ互換性があります(同時利用可能)。
別のプロセスがクリティカル・セクションを保持している場合でもFINDが動作するようにします。
このモードの結果は矛盾する可能性があるため、クリティカル・セクションのメカニズムが正常に動作していない場合にのみ使用してください。
名前付きグローバル・ディレクトリ領域に切り替えます。
-REGION指定された領域がない場合、または -REGION="*" はデータベース内の既存の領域をすべて表示します。
単独で使ってください。
指定したブロックのブロック番号とその論理兄弟を16進数形式で表示します。
論理兄弟は、もしあれば、データベース・ツリー構造内で与えられたブロックの左右に論理的に存在するブロックです。
次の修飾子とは同時利用できません: -FREEBLOCK, -HINT, -KEY, -REGION
例:
DSE> find -exhaustive -block=180 Directory path Path--blk:off 1:10 2:1E Global paths Path--blk:off 6:51 1A4:249 180
このコマンドは、ブロックへのポインタのBツリー・インデックスを調べることによってブロック180の位置を突き止めます。このコマンドは、ツリーに接続されているブロックも検出しますが、ブロック内の最初のキーがインデックスパスと一致しません。
例:
DSE> find -free -hint=180 Next free block is D8F.
このコマンドは、ブロック180に「最も近い」空きブロックを見つけます。
このコマンドは、Bツリーに追加するブロックの検索や、DSEの終了時に失われる別の方法でSAVEで作成されたブロックコピーの保持用のツールとして使用できます。
例:
DSE>find -key="^biggbl(1)"
このコマンドは、キー ^biggbl(1) をデータベースに配置します。
例:
DSE> find -freeblock -hint=232
このコマンドは、ブロック232の後の空きブロックの検索を開始します。
例:
DSE> FIND -FREEBLOCK -HINT=232 -NOCRIT
このコマンドは、他のプロセスがクリティカルセクションを保持していても、ブロック232の後のフリーブロックを検索します。
例:
DSE> find -sibling -block=10
このコマンドは、FIND -BLOCKのように動作します; 同じレベルのブロック180の前後に論理的に落ちるブロックの数を報告します。このコマンドは、以下の出力を生成します:
Left sibling Current block Right sibling 0x0000000F 0x00000010 0x00000011
単一の非ビットマップ・ブロックの内部整合性をチェックします。INTEGRITは、16進表記のエラーを報告します。
INTEGRITコマンドの形式は次のとおりです:
I[NTEGRIT] -B[LOCK]=block-number
注意 | |
---|---|
MUPIP INTEGとは異なり、このコマンドはブロック内のエラーのみを検出し、誤って別のブロックを指すインデックスなどのエラーは検出できません。複数のブロックをチェックするユーティリティについては、「一般データベース管理」の章の “INTEG ”を参照してください。 |
ビットマップを検査または更新します。MAPSコマンドの形式は次のとおりです:
M[APS] -BL[OCK]=block-number -BU[SY] -F[REE] -M[ASTER] -R[ESTORE_ALL]
MAPSはブロックを -BUSY または -FREE のいずれかとフラグを立てることができます。-MASTER修飾子は、ローカル・ビットマップの現在の状態をマスター・マップに戻して反映します。-RESTORE_ALL修飾子は、すべてのマップを再構築するため、重要な情報を破壊する可能性があるため、注意して使用する必要があります。
デフォルトでは、MAPSは指定されたブロックのビットマップの状態を表示します。
MAPSのターゲット・ブロックを指定します。-BLOCK修飾子は、-RESTORE_ALL修飾子と互換性がありません(同時利用不可)。
-BLOCK= または -RESTORE_ALL修飾子が指定されていないコマンドでは、DSEはDSE操作で処理された最後のブロックを使用します。ブロックがアクセスされていない時、つまり、最初のブロック指向のコマンドで、DSEはブロック1(1)を使用します。
次の修飾子とは同時利用できません: -RESTORE_ALL
ブロックのローカル・マップで現在のブロックをビジーとしてマークし、マスター・ビットマップを適切に更新します。BUSYはビットマップ・ブロックを受け入れます。
-BLOCK だけ互換性があります(同時利用可能)。
現在のブロックをブロックのローカル・マップで空きとしてマークし、マスター・ビットマップを適切に更新します。
-BLOCK だけ互換性があります(同時利用可能)。
現在のブロックのローカル・マップに関連付けられたマスター・ビットマップのビットを、そのローカル・マップがいっぱいかどうかによって設定します。MASTERはビットマップ・ブロックを受け入れます。
-BLOCKとのみ使用してください。
すべてのローカルビットマップとマスタービットマップを、データベースファイルで使用されるブロックを反映するように設定します。
-RESTORE_ALLは、データベースの内容が正しいとわかっているが、多数のビットマップが修正を必要とする場合にのみ使用してください。
注意 | |
---|---|
-RESTORE_ALL修飾子はすべてのマップを再構築し、重要な情報を破壊する可能性があるため、十分注意して使用する必要があります。 |
単独で使ってください。
例:
DSE> MAPS -BLOCK=20 -FREE
このコマンドはブロック20に空きとしてフラグを立てます。サンプルDSE DUMP出力ブロック0は、次のとおりです。
Block 0 Size 90 Level -1 TN 10B76A V5 Master Status: Free Space Low order High order Block 0: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 20: | :XXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 40: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 60: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 80: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block A0: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block C0: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block E0: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 100: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 120: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 140: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 160: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 180: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 1A0: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 1C0: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | Block 1E0: | XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX | 'X' == BUSY '.' == FREE ':' == REUSABLE '?' == CORRUPT
BLOCK 20はREUSABLEとマークされていることに注意してください。これはFREEを意味しますが、Before-Imageジャーナル・レコードが必要です。
例:
DSE> maps -block=20 -busy
このコマンドは、ブロック20をビジーとしてマークします。ブロック0のサンプルDSE DUMP出力は、次のとおりです。
Block 0 Size 90 Level -1 TN 1 V5 Master Status: Free Space Low order High order Block 0: | XXX..... ........ ........ ........ | Block 20: | X....... ........ ........ ........ | Block 40: | ........ ........ ........ ........ | Block 60: | ........ ........ ........ ........ | Block 80: | ........ ........ ........ ........ | Block A0: | ........ ........ ........ ........ | Block C0: | ........ ........ ........ ........ | Block E0: | ........ ........ ........ ........ | Block 100: | ........ ........ ........ ........ | Block 120: | ........ ........ ........ ........ | Block 140: | ........ ........ ........ ........ | Block 160: | ........ ........ ........ ........ | Block 180: | ........ ........ ........ ........ | Block 1A0: | ........ ........ ........ ........ | Block 1C0: | ........ ........ ........ ........ | Block 1E0: | ........ ........ ........ ........ | 'X' == BUSY '.' == FREE ':' == REUSABLE '?' == CORRUPT
ブロック20はビジーとマークされていることに注意してください。
グローバル変数データを順次出力するためのファイルを開くには、OPENコマンドを使用します。OPENコマンドのフォーマットは:
OP[EN] F[ILE]=file
情報をダンプするファイルをOPENします。
OPENコマンドに -FILE修飾子がない場合、DSEは現在の出力ファイルの名前を報告します。
現在のブロック内に与えられたオフセットに指定された文字列を上書きします。このコマンドを使用する場合は十分注意してください。
OVERWRITEコマンドの形式は次のとおりです:
OV[ERWRITE] -D[ATA]=string -O[FFSET]=offset
特定のブロックを上書きするようにDSEに指示します。ブロック番号を指定しない場合、デフォルトは現在のブロックです。
書き込まれるデータを指定します。\a または \ab という形式の文字列およびエスケープコードの前後に引用符を使用します。ここで、 "a" と "b" は、非印字文字を表す16進数です。\\ は、単一のバックスラッシュに変換されます。
現在のブロックの上書きを開始するオフセットを指定します。
1つのフォーム・フィード(FF)を出力デバイスに送信します。PAGEを使用してダンプファイルにフォームフィードを追加すると、ハードコピーファイルを読みやすくなります。MUPIP LOADでダンプ・ファイルを使用する場合は、PAGEは使用しないでください。
PAGEコマンドの形式は次のとおりです:
P[AGE]
PAGEコマンドには修飾子はありません。
RANGEコマンドは、データベース内の最初のキーが指定されたキーの範囲内にあるすべてのブロックを検出します。RANGEコマンドは、 -FROM と -TO で指定された範囲が小さい場合を除き、非常に時間がかかることがあります。FIND -KEY および/または FIND -KEY -EXHAUSTIVE を最初に使用して、キーが索引ツリーに表示されているかどうかを素早く判断します。
RANGEコマンドの形式は次のとおりです:
RA[NGE] -F[ROM]=block-number -T[O]=block-number -I[NDEX] -LOS[T] -[NO]C[RIT] -[NO]BU[SY] -S[TAR] -LOW[ER]=key -U[PPER]=key
範囲検索の開始ブロック番号を指定します。DSE RANGE はビットマップを開始点または終了点として受け入れます。
デフォルトでは、RANGEはファイルの先頭で処理を開始します。
範囲検索の終了ブロック番号を指定します。DSE RANGE はビットマップを開始点または終了点として受け入れます。デフォルトでは、RANGEはファイルの最後で処理を停止します。
インデックス・ブロックへの検索を制限します。
FIND -BLOCK で見つからないブロックに検索を制限します。
キー範囲の下限を指定します。
検索をBUSYまたはFREEブロックに制限します。
別のプロセスがクリティカル・セクションを保持していても、DSE RANGE が動作することを許可します。このモードの結果は矛盾する可能性があるため、クリティカル・セクションのメカニズムが正常に動作していない場合にのみ使用してください。
単一のスター・キーを含むインデックス・ブロックを含みます。
キー範囲の上限を指定します。
例:
DSE> range -lower="^abcdefgh" -upper="^abcdefghi" -from=A -to=CC
このコマンドは、ブロック10とブロック204の間で指定されたキーを検索します。ブロックの範囲(FROMとTOの間)は、有効なブロックを16進数で指定する必要があります。
例:
DSE> range -lower="^abcdefgh" -upper="^abcdefghi" -from=A -to=CC -noindex
このコマンドは、ブロック10とブロック204の間で、指定されたキーのデータ・ブロックのみを検索します。
例:
DSE> range -lower="^abcdefgh" -upper="^abcdefghi" -from=A -to=CC -index
このコマンドは、ブロック10とブロック204の間で指定されたキーのインデックス・ブロックのみを検索します。
例:
DSE> range -lower="^abcdefgh" -upper="^abcdefghi" -lost
このコマンドは、指定されたキーを検索している間に失われたブロックを含み、現在インデックスされていないブロックのみを報告します。
例:
DSE> range -lower="^Fruits(15)" -upper="^Fruits(877)" -from=A -to=F Blocks in the specified key range: Block: 0000000A Level: 0 Block: 0000000B Level: 0 Block: 0000000C Level: 0 Block: 0000000D Level: 0 Block: 0000000E Level: 0 Block: 0000000F Level: 0 Found 6 blocks
このコマンドは、 ^Fruits(15) と ^Fruits(877) の間のキーを検索します。
1つ以上のレコードまたは保存バッファを削除します。
REMOVEコマンドの形式は次のとおりです:
REM[OVE] -B[LOCK]=block-number -C[OUNT]=count -O[FFSET]=offset -R[ECORD]=record-number -V[ERSION]=version-number
バージョン番号は10進数で指定します。
削除されるレコードまたはバッファに関連付けられたブロックを指定します。
-BLOCK= 修飾子のないコマンドでは、DSEは、DSE操作によって処理される最後のブロックを使用しています。ブロックがアクセスされていない時、つまり、最初のブロック指向のコマンドで、DSEはブロック1(1)を使用します。
BLOCKは、データベースではなく保存されたブロック・コピーのセットを処理するため、現在のデータベース・サイズよりも高いブロックを受け入れます。また、保存されたブロックが現在のデータベース・サイズ外にある可能性があります(たとえば、MUPIP REORG -TRUNCATEの同時実行など) 。
削除するレコード数を指定します。
デフォルトでは、REMOVEは1つのレコードを削除します。
次の修飾子とは同時利用できません: -VERSION
削除されるレコードのオフセット(バイト単位)を指定します。オフセットがレコードの先頭を指していない場合、DSEはオフセットを含むレコードの先頭に丸めます(たとえば、REMOVE -OFF=10は、それが最後のレコード境界境界であった場合は OFF=A で始まります)。
次の修飾子とは同時利用できません: -VERSION, -RECORD
削除するレコードを識別する番号を指定します。-RECORD修飾子は、-OFFSETおよび-VERSION修飾子と互換性がありません。
次の修飾子とは同時利用できません: -VERSION, -OFFSET
削除する保存バッファのバージョン番号を10進数で指定します。ブロックのバージョンが複数ある場合は、-VERSION が必要です; それ以外の場合、REMOVEはその唯一のバージョンで動作します。-VERSIONは、-BLOCKを除くすべての修飾子と互換性がありません。
指定されたバージョンの-BLOCK= ブロックが現在のリージョンに1つしかない場合、DSE REMOVEのデフォルトはそのバージョンになります。
次の場合にのみ使用してください:-BLOCK ; decimal
RESTOREコマンドは、保存されたブロックのバージョンを復元します。
RES[TORE] -B[LOCK]=block-number -F[ROM]=from -R[EGION]=region -V[ERSION]=version-number
バージョン番号は10進数で指定します。
復元するブロックを指定します。
-BLOCK= 修飾子のないコマンドでは、DSEは、DSE操作によって処理される最後のブロックを使用しています。ブロックがアクセスされていない場合(つまり、最初のブロック指向コマンドの場合)、DSEはブロック 1 を使用します。
BLOCKは、データベースではなく保存されたブロック・コピーのセットを処理するため、現在のデータベース・サイズよりも高いブロックを受け入れます。また、保存されたブロックが現在のデータベース・サイズ外にある可能性があります(たとえば、MUPIP REORG -TRUNCATEの同時実行など) 。
復元するSAVEバッファのブロック番号を指定します。
DSEは、-BLOCK修飾子で指定されたブロックを、-FROM修飾子で指定されたブロックでリストアします。指定した -FROM=ブロックのバージョンが1つだけの場合、DSE RESTOREのデフォルトはそのバージョンになり、オリジナルのブロック・トランザクション番号が常に復元されます。
デフォルトでは、RESTORE はターゲットブロック番号を-FROMブロック番号として使用します。
復元する保存済みバッファの領域を指定します。
デフォルトでは、RESTOREは現在の領域からSAVEバッファを使用します。
復元するブロックの10進数バージョン番号を指定します。バージョン番号は必須です。
SAVEコマンドは、ブロックのバージョンを保存するか、または現在のDSEセッションの保存されたバージョンのリストを表示します。SAVEは128個のバージョンを保持できます。保存された情報は、DSEが終了すると失われます。
SAVEされたブロックを永続的な場所に移動するには、RESTOREコマンドを使用します。また、安全機能としてSAVEを使用して、変更する前にデータベース・ブロックのコピーを保持します。
SAVEコマンドの形式は次のとおりです:
SA[VE] -B[LOCK]=block-number -C[OMMENT]=string -L[IST] -[NO]C[RIT]
復元するブロックを指定します。
-BLOCK= 修飾子のないコマンドでは、DSEは、DSE操作によって処理される最後のブロックを使用しています。ブロックがアクセスされていない時、つまり、最初のブロック指向のコマンドで、DSEはブロック1(1)を使用します。
ブロックで保存するコメントを指定します。コメントは引用符( "")で囲みます。
次の修飾子とは同時利用できません: -LIST
指定されたブロックの保存されたバージョンを一覧表示します。-LIST修飾子は、 -COMMENT 修飾子と互換性がありません。
デフォルトでは、 SAVE -LIST はすべてのSAVEされたブロックのディレクトリを提供します。
LISTは、データベースではなく保存されたブロックのコピーのセットを扱うため、現在のデータベース・サイズよりも高いブロックを表示することがあります。また、保存されたブロックが現在のデータベースサイズ外にある状況があります(たとえば、MUPIP REORG -TRUNCATE );
次の修飾子とは同時利用できません: -COMMENT
別のプロセスがクリティカルセクションを保持していても、DSE SAVEが動作することを許可します。このモードの結果は矛盾する可能性があるため、クリティカル・セクションのメカニズムが正常に動作していない場合にのみ使用してください。
SHIFTコマンドを使用して、ブロック内のデータをシフトしたり、ブロックをゼロで埋めたり、ブロックを短くしたりします。SHIFTコマンドの形式は次のとおりです:
SH[IFT] -B[ACKWARD]=b_shift -BL[OCK]=block_number -F[ORWARD]=f_shift -O[FFSET]=offset
b_shift は常にオフセット以下でなければなりません。これは、逆方向のDSE SHIFTが最大OFFSETバイト数に制限されていることを意味します。これにより、シフトが意図的にまたは意図せずにブロック境界を越えないことが保証されます。
SPAWNコマンドを使用して、現行のDSE環境を終了せずに、シェルへのアクセスのために子プロセスをフォークします。
SPAWNコマンドのフォーマットは:
SP[AWN] [shell-command]
SPAWNコマンドは、生成されたサブプロセスによる実行のためのオプションのコマンド文字列を受け入れます。SPAWNにコマンド文字列パラメータがない場合、作成されたサブプロセスはシェルプロンプトを発行し、有効なシェルコマンドを受け入れます。サブプロセスを終了するには、シェルのlogoutコマンドを使用します。
SPAWNコマンドは修飾子を持ちません。
DSE SPAWNは引数付きで動作します。引数にスペースが含まれている場合は、引用符で囲みます。
SPAWNコマンドは修飾子を持ちません。
DSE SPAWNは引数付きで動作します。引数にスペースが含まれている場合は、引用符で囲みます。
現在の領域のグローバル・バッファーを再初期化するには、WCINITコマンドを使用します。キャッシュを消去するので、FISのガイダンス以外ではWCINITコマンドを使用しないでください。
注意 | |
---|---|
通常のデータベース操作の進行中に発行されたWCINITコマンドは、データベースに致命的なダメージを与える可能性があります。 |
WCINITコマンドの形式は次のとおりです:
W[CINIT]
WCINITコマンドには修飾子はありません。
WCINITコマンドを発行すると、DSEはCONFIRMATION:プロンプトを発行します。 「YES」と応答してWCINITコマンドを確認する必要があります。
WCINITを確認しないと、DSEは次のメッセージを発行します:
アクションが取られていない場合は、グローバルバッファを初期化するためにCONFIRMATIONプロンプトでyesを入力します。
WCINIT操作はMUPIP RUNDOWNにより安全に実行されます。このコマンドは、FISの指示の下でのみ使用してください。