LKE コマンドの一般的なフォーマットは次のとおりです:
command [-qualifier[=qualifier-value]]
LKEは、コマンドと修飾子の省略形を容認します。各コマンドを説明するセクションでは、必要があれば、そのコマンドとコマンド修飾子を使用することができる最小限の省略形を提供します。新しいキーワードを確実にするために、スクリプト内で最小4文字のキーワードの使用が、古いスクリプトと競合しないことを、FISは推奨します。
アクティブなロックを削除するには、 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コマンドのフォーマット:
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
HELP
コマンドはLKEコマンドを説明します。HELPコマンドのフォーマット:
H[ELP] [options...]
トピックプロンプトで情報を取得するためにLKEコマンドを入力し、次に、 LKEプロンプトに戻るためにRETURN
または CTRL-Z
を押します。
例:
LKE> HELP SHOW
このコマンドは、 SHOW
コマンドについてのヘルプを表示します。