LKEコマンドと修飾子

LKE コマンドの一般的なフォーマットは次のとおりです:

command [-qualifier[=qualifier-value]]

LKEは、コマンドと修飾子の省略形を容認します。各コマンドを説明するセクションでは、必要があれば、そのコマンドとコマンド修飾子を使用することができる最小限の省略形を提供します。新しいキーワードを確実にするために、スクリプト内で最小4文字のキーワードの使用が、古いスクリプトと競合しないことを、FISは推奨します。

Clear

アクティブなロックを削除するには、 CLEAR コマンドを使用してください。

注意 注意

FISは、デバッグ環境にLKE CLEAR 機能の使用を制限することを推奨します。プロダクション(本番)環境でロックの削除は、通常はアプリケーションの設計上の前提条件に違反し、異常なプロセスの動作を引き起こす可能性があります。それは、LOCKで不適切にハングしているプロセスを MUPIP STOP することにより一般的には安全なので、GT.Mは自動的に放棄されたロックを解除します。

CLEAR コマンドのフォーマットは次のとおりです。

C[LEAR] [-qualifier...]

オプションの修飾子は以下のとおりです:

-A[LL] 
-L[OCK] 
-[NO]C[RIT] 
-[NO]EXACT
-[NO]I[NTERACTIVE] 
-O[UTPUT]="file-name" 
-P[ID]=pid
-R[EGION]=region-name

デフォルトでは、CLEARは対話的な操作です(<s0>-</s0>INTERACTIVE)。

CLEARの修飾子

-A[LL]

すべての現在のロックを指定します。

  • - ALLは、すべての現在のロックを解除します。

  • もし CLEAR - REGION 修飾子を使用する場合、 - ALL はその領域内のすべてのロックを解除します。

  • ロックを使用しているアクティブなGT.Mプロセスが一つもない時、または、アプリケーション上で影響を予測することができる時に限って、CLEAR - ALLを発行してください。

  • デフォルトでは、CLEAR -ALL は対話的なオペレーションです(-INTERACTIVE)。

-[NO]C[RIT]

たとえ別のプロセスがクリティカルセクションを保持している場合でも、動作するためにLKE CLEARを可能にします。

注意 注意

これは、現在のロックとロック機構に障害を与えます。F.I.S.の指示の下でのみ、使用が意図されます。

デフォルトでLKEは、CRITモードで動作し、データベースのクリティカルセクション(複数)を使用して、ロックの一貫したビューを保証します。

-[NO]EXACT

-LOCK=resource_nameで指定された的確なリソース名にはCLEARコマンドを制限します。それらの存在が効果的にそれら親のツリーをロックするので、NOEXACT(デフォルト)は、接頭辞として指定されたリソース名を扱い、そして、それだけでなく、その下層のいずれかでも動作します。

-L[OCK]=""resource_name""

-EXACT を付けて使用しない限り、resource_nameで始まるすべてのロックの暗黙的なワイルドカード検索のための主要な接頭辞を指定します。

  • resource_name は、2つの 二重引用符("""")で囲まれます。M リソース名は、句読点文字を含むグローバルノードと同じようにフォーマットされているので、このコンテキストでは、通常、2つの二重引用符のセットで囲まれた添字の文字列で、二重引用符マークのセットで囲まれます。

  • CLEAR コマンドとともに使用した時には、 -LOCK 修飾子は、resource_name で始まるのロックを解除します。

  • SHOWと共に使用した時には、 -LOCK 修飾子は、指定されたロックを検査する正確な方法を提供します。

-[NO]I[NTERACTIVE]

対話形式で一度に1つのロックをクリアします。LKEは、クリアされるべきLOCKを検証のために、所有者のプロセスの PID とプロンプトと共に、現在の各ロックを表示します。LKEは、Y[ES] 以外のいくつかの応答のために、ロックを保持します。

  • デフォルトでは、 CLEAR は対話的な操作です( - INTERACTIVE )。

  • ロックリソースが非常に長い保持をしないように、もし数秒間オペレーターからの応答がない場合、LKEは次のマッチングロックへスキップします。

  • -NOINTERACTIVE は、それぞれの変更をユーザの確認なしで起こすアクションを強制します。-NOINTERACTIVE の使用は、多くのロックが保たれている時、潜在的に長い期間にLOCKサブシステムの制御からLKE 操作を防ぎます。これを行うには、それが各応答を待つ時間の量を制限します。

-O[UTPUT]="file-name"

指定されたすべてのロックのレポートをファイルへ出力することを指示します。

  • もし既存のファイルを指定するなら、LKEは、そのファイルを上書きして新しいバージョンを作成ます。

  • もし file-nameがパーミッションの問題を持っている場合、 OUTPUT は、エラーの原因をレポートします。

  • -OUTPUT 修飾子は、すべての他の修飾子と互換があります。

  • デフォルトでは、 CLEAR は、stdout へ出力メッセージを送信します 。

-P[ID]=pid

リソース名にロックを保持するプロセスID番号を指定します。

  • LKEは、10進数としてpid を解釈します。

  • PIDは、指定されたプロセスID番号を持つプロセスによって保持されたすべてのロックをクリアします。

  • 異常動作しているプロセスによって保持されているロックに CLEAR を指示するための手段を提供します。

  • -PID 修飾子は、他のすべての修飾子と互換があります。

-R[EGION]=region-name

region-name は、ロックされたリソース名を保持する領域を指定します。

  • REGION は、領域の名前(region-name)によって指定された領域に、現在のグローバルディレクトリによってマッピングされているLOCKをクリアします。

  • -REGION 修飾子は、他のすべての修飾子と互換があります。

  • デフォルトでは、CLEAR -REGION= は、対話的な操作です(-INTERACTIVE)。

例:

LKE>CLEAR -ALL

このコマンドは、すべての現在のロックがクリアされます。

例:

LKE>clear -pid=2325 -interactive

このコマンドは、 PID が 2325 に等しいプロセスによって保持されているすべてのロックを表示します。各LOCKをクリアするかどうかを選択できます。

LKE>clear -reg=areg -interactive

このコマンドは、以下の出力を生成します:

AREG ^a Owned by PID= 2083 which is an existing
process Clear lock ?

プロンプトの応答で、 Yes または Y とタイプしてください。

LKEは情報メッセージを応答します:

%GTM-S-LCKGONE, Lock removed : ^a

すべてのロックが表示され、何らかの行動があるまでに、Yes または N または No または N をタイプしてください。

LKE> clear -pid=4208 -nointeractive

このコマンドは、PID 4208のプロセスにより保持しているロックをクリアします。このコマンドは、以下の出力を生成します:

DEFAULT Lock removed : ^A

-NOINTERACTIVE は、確認なしでアクションを強制的に実行することに、注意してください。

例:

LKE>clear -lock="^a("b") 
Clear lock ?y 
Lock removed : ^a("b") 
LKE>

このコマンドは、デフォルトの領域で、 ^a("b") のロックをクリアします。

例:

LKE>clear -lock="^a" -nointeractive

このコマンドは、デフォルトの領域で、" ^a " のロックをクリアします。-NOINTERACTIVE修飾子は、それ以上のユーザーの介入なしでこれらのロックをクリアするようにLKEに指示します。

例:

LKE>clear -lock="^a" -exact -nointeractive

このコマンドは、デフォルトの領域で、 lock ^a をクリアします。 NOINTERACTIVE は、それ以上のユーザの介入なしでlock ^a をクリアするために、LKEに指示します。

例:

LKE>CLEAR -PID=4109 -LOCK=""^A"" 
Clear lock ?Y
Lock removed : ^A 
LKE>

このコマンドは、 PID 4109のプロセスによって保持されている LOCK ^Aをクリアします。

SHow

ロックのメカニズムとロックデータベースのステータスを取得するためには、SHOWコマンドを使用してください。SHOWコマンドのフォーマット:

SH[OW] [-qualifier...]

オプションの修飾子は以下のとおりです:

-A[LL]
-L[OCK] 
-[NO]C[RIT] 
-O[UTPUT]="file-name"
-P[ID]=pid 
-R[EGION]=region-name 
-W[AIT]
  • デフォルトは、 SHOW - A[LL] を表示します 。

  • SHOWコマンドは、アクティブなロックがレポートします。LOCKリソース名とLOCK所有者のプロセスID(PID)の情報が含まれています。

  • LKE SHOW displays lock space usage with a message in the form of: "%GTM-I-LOCKSPACEUSE, Estimated free lock space: xxx% of pppp pages." If the lock space is full, it also displays a LOCKSPACEFULL error.

  • 待機中のLOCK待ち行列にLOCK_SPACEの空きがないことを検出するLOCKコマンドは、LOCK_SPACEが使用可能になるのを待つ低速のポーリングを行います。もしLOCKが指定されたタイムアウトで指定されたリソースの所有権を取得しない場合、$TEST=0 を使用してアプリケーションに制御を返します。もし timeout が指定されていない場合、LOCKコマンドはスペースが使用可能になるまで低速ポーリングを継続します。

  • 使用可能なロック・スペースが見つからないLOCKコマンドは、LOCKSPACEFULLメッセージをオペレーター・ログに送信します。オペレータログのフラッディングを防ぐために、GT.Mは、ロックスペース使用量が75%以下になるまで、そのようなメッセージを抑制します。

  • SHOW の結果は、 M LOCK アクティビティによって直ちに「時代遅れ」になる可能性があります。

  • もしLOCKがクライアントGT.MプロセスのためにGT.CMサーバによって所有されている場合、 LKE SHOW は、クライアントの NODENAME (最初の15文字に制限されている)とクライアントの PID が表示されます。クライアントの PID(CLNTPID) は、UNIXでの10進値です。

    [注意] 注意

    GT.CMは、リモートでGT.MのデータベースにアクセスするのRPCのようなものです。

-ALL

すべての現在のロックを指定します。

  • -ALL は、すべての領域ですべての現在ロックを表示し、これらのロックが所有しているプロセスの状態に関する情報を表示します。

  • -ALL修飾子は、他のすべての修飾子と互換があります。

  • - ALL -PID または - REGION と組み合わせる時は、最も限定的な修飾子が優先されます。

  • SHOW -ALL -WAIT は、 -ALL -WAITの両方の情報を表示します。

-L[OCK]=resource_name

resource_name は単一のロックを指定します。

  • resource_name は、二重引用符("""")で囲まれます。M リソース名は、句読点文字を含むグローバルノードと同じようにフォーマットされているので、このコンテキストでは、通常、2つの二重引用符のセットで囲まれた添字の文字列で、二重引用符マークのセットで囲まれます。

  • CLEARコマンドと組み合わせて使用した時には、 LOCK 修飾子は、指定されたロックを削除します。

  • SHOWコマンドと組み合わせて使用した時には、 LOCK 修飾子は、指定されたロックとすべての下層のロックされたリソースを調べるための精密な方法を提供します。

-[NO]C[RIT]

もし別のプロセスがクリティカルセクションを保持している場合であっても、動作するためにSHOWコマンドを可能にします。

  • デフォルトでLKEは、CRITモードで動作し、データベースクリティカルセクション(複数可)を使用してロックの一貫したビューを保証します。

  • NOCRITが不完全または不整合なレポートをするLKEが原因となるように、通常の操作が失敗するときにのみ、SHOWを持つNOCRIT を使用します。

-O[UTPUT]="file-name"

指定されたすべてのロックのレポートをファイルへ出力することを指示します。

  • もし既存のファイルを指定するなら、LKEは、そのファイルを上書きして新しいバージョンを作成ます。

  • -OUTPUT 修飾子は、すべての他の修飾子と互換があります。

  • デフォルトでは、 SHOWコマンドは、stdoutに出力メッセージを送信します。

-P[ID]=pid

リソース名にロックを保持するプロセスID番号を指定します。

  • LKEは、10進数としてpid を解釈します。

  • PID は、指定されたプロセス識別番号(PID)によって所有されるすべてのロックを表示します。

  • -PID 修飾子は、他のすべての修飾子と互換性があります。最も制限されている修飾子として優先します。

  • デフォルトでは、 SHOWは、すべてのPIDのロックを表示します。

-R[EGION]=region-name

ロックされたリソース名を保持する領域を指定します。

  • REGION修飾子は、その指定された領域のロックを表示します。

  • REGION修飾子は、他のすべての修飾子と互換性があります。最も制限されている修飾子として優先します。

  • デフォルトでは、 SHOWは、すべての領域のロックを表示します。

-W[AIT]

LOCKリソース名と付与されているロックを待機しているすべてのプロセスのプロセス状態の情報を表示します。

  • SHOW -WAIT は、 LOCKの所有者は表示されません。

  • SHOW -ALL -WAIT- ALL -WAIT の両方の情報を表示します。

  • プロセスが "wait" 要求を放棄する時は、その要求は、LKE SHOW -WAIT の表示で出現し続けるでしょう。この出現は、無害で、そして、もしGT.M ロック管理がその占有スペースを必要とするならば、自動的に除去されます。

現在のグローバルディレクトリで定義されたデータベース内のすべてのアクティブなロックを表示するためには、次の手順を使います。

LKE> SHOW -ALL -WAIT

これは、次のような出力を生成します。

No locks were found in DEFAULT 
AREG 
^a Owned by PID=2080 which is an existing process 
BREG 
^b(2) Owned by PID= 2089 which is a nonexistent process 
No locks were found in CREG

例:

LKE>SHOW -ALL

このコマンドは、現在のグローバルディレクトリのすべての領域にマップされたすべてのロックが表示されます。次のような出力を生成します。

DEFAULT
^A Owned by PID= 5052 which is an existing process
^B Owned by PID= 5052 which is an existing process
%GTM-I-LOCKSPACEUSE, Estimated free lock space: 99% of 40 pages

例:

LKE>show -lock="^a"(""b"")"

このコマンドは、デフォルトの領域でlock ^a("b")を表示します。

例:

LKE>SHOW -CRIT

このコマンドは、クリティカルセクションを保持しているプロセスによって保持されている適用可能なすべてのロックを表示します。

例:

LKE>show -all -output="abc.lk"

このコマンドは、 SHOW -ALLコマンドの出力を含む abc.lk と呼ばれる新しいファイルを作成します。

例:

LKE>show -pid=4109

このコマンドは、PID 4109のプロセスが保持するすべてのロックと、合計ロック領域の使用状況を表示します。

例:

LKE>show -region=DEFAULT -lock=""^A""

このコマンドは、領域 DEFAULT^Aのロックが表示されます。 次のような出力を生成します。

DEFAULT
^A Owned by PID= 5052 which is an existing process
%GTM-I-LOCKSPACEUSE, Estimated free lock space: 99% of 40 pages

Exit

EXITコマンドは、LKEセッションを終了します。EXITコマンドのフォーマット:

E[XIT]

Help

HELPコマンドはLKEコマンドを説明します。HELPコマンドのフォーマット:

H[ELP] [options...]

トピックプロンプトで情報を取得するためにLKEコマンドを入力し、次に、 LKEプロンプトに戻るためにRETURN または CTRL-Z を押します。

例:

LKE> HELP SHOW

このコマンドは、 SHOWコマンドについてのヘルプを表示します。

SPawn

現在のLKE環境を終了せずにシェルへアクセスするサブプロセスを作成するために SPAWNコマンドを使用してください。セッションを一時中断し、 ls または printenv のようなシェルコマンドを発行するためにSPAWNコマンドを使用してください。

SPAWN コマンドのフォーマットは:

SP[AWN]

SPAWNコマンドは修飾子を持ちません。

例:

LKE>spawn

このコマンドは、現在のLKE環境を終了させることなく、現在のシェルにアクセスするためのサブプロセスを作成します。LKEに戻るには、exitとタイプします。

inserted by FC2 system