[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]

14 ログ・マネージャ制御プログラム・ユーティリティ(LMCP)

14.1 LMCPについて

Log Manager Control Program (LMCP)ユーティリティは,DECdtmサービスで使用されるトランザクション・ ログを作成し,管理します。


重要
一部のLMCPコマンドはデータを破壊する可能性があります。

LMCP をなぜ使用するかについてと, 安全に使用する方法については,『OpenVMSシステム管理者マニュアル』を参照してください。


14.2 LMCP使用法の要約

LMCPにより,DEC分散トランザクション・マネージャDECdtmサービスで使用するトランザクション・ ログを作成し,管理することができます。

形式

RUN SYS$SYSTEM:LMCP
パラメータ

なし

説明

LMCPを起動するには,DCLコマンド・プロンプトに対してRUN SYS$SYSTEM:LMCPと入力します。出力されるLMCP>プロンプトに対し, この項で説明するLMCPコマンドを入力できます。

LMCPを終了するには,LMCP>プロンプトに対してEXITコマンドを入力するか, またはCtrl/Zを押します。

14.3 LMCPのコマンド

次の表は,LMCPのコマンドの一覧です。

コマンド 説明
CLOSE LOG トランザクション・ログをクローズし, TP_SERVERプロセスを終了する。
CONVERT LOG トランザクション・ログを作成し,このトランザクション・ ログに既存のトランザクション・ログのレコードをコピーする。
CREATE LOG トランザクション・ログを作成する。
DUMP トランザクション・ログの内容を表示する。
EXIT LMCPを終了する。
HELP LMCPコマンドのヘルプを出力する。
REPAIR トランザクションの状態を変更する。
SHOW LOG トランザクション・ログに関する情報を表示する。

CLOSE LOG

トランザクション・ログをクローズし,TP_SERVERプロセスを終了します。

SYSNAM特権が必要です。

形式

    CLOSE LOG

説明

CLOSE LOGコマンドを使用することにより,次のような操作を行うことができます。

ノードでトランザクションを実行中である場合,CLOSE LOGコマンドは失敗します。

CONVERT LOG

トランザクション・ログを作成し,既存のトランザクション・ログのレコードをコピーします。

CONVERT LOGコマンドは,トランザクション・ログの移動やサイズ変更に使用できます。


重要
ノードにトランザクション・ ログがすでに存在する場合に,CONVERT LOGコマンドでトランザクション・ ログを作成すると,データを破損する恐れがあります。 CONVERT LOGコマンドの使用方法については,『OpenVMSシステム管理者マニュアル』を参照してください。

次の特権とアクセス権が必要です。

形式

    CONVERT LOG   旧ファイル指定 新ファイル指定

パラメータ

旧ファイル指定

コピーするレコードが格納されているトランザクション・ログのファイル指定

省略時値は,次のとおりです。

新ファイル指定

新たに作成するトランザクション・ログのファイル指定

DECdtmサービスでトランザクション・ログを使用するには,ファイル名の形式をSYSTEM$ node.LM$JOURNALとする必要があります。 nodeは,ノード名です。

省略時値は,次のとおりです。

修飾子

/OWNER=ユーザ識別子
新しいトランザクション・ログの所有者を指定します。

『OpenVMSユーザーズ・マニュアル』に従って,UIC 標準形式で所有者を指定してください。

/SIZE=サイズ
新しいトランザクション・ログのサイズをブロック単位で指定します。

最小サイズは100ブロックです。省略時のサイズは,4,000ブロックです。

    LMCP> CONVERT LOG/SIZE=6000 DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$OLD -
    _LMCP> DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$JOURNAL
    
    6,000ブロックのトランザクション・ログSYSTEM$RED.LM$JOURNALをDISK$LOG2:[LOGFILES] というディレクトリに作成しています。次に, ディレクトリDISK$LOG2:[LOGFILES]の既存トランザクション・ログSYSTEM$RED.LM$OLD のアクティブなトランザクション・レコードを, すべて新しいトランザクション・ログにコピーしています。

CREATE LOG

新しいトランザクション・ログを作成します。


重要
ノードにトランザクション・ ログがすでに存在するときにCREATE LOGコマンドで新しいトランザクション・ ログを作成した場合,データを破損する恐れがあります。

トランザクション・ログを作成するディレクトリへの読み込みアクセス権と書き込みアクセス権が必要です。

形式

    CREATE LOG   ファイル指定

パラメータ

ファイル指定

作成するトランザクション・ログのファイル指定

DECdtmサービスでトランザクション・ログを使用するには,ファイル名の形式をSYSTEM$ node.LM$JOURNALとする必要があります。 nodeは,ノード名です。

省略時の設定は,次のとおりです。

SYS$JOURNALが指していないディスクやディレクトリを指定すると,警告メッセージが表示されます。 トランザクション・ログは作成されますが, (a)ログを作成したディスクとディレクトリを指すようにSYS$JOURNALを変更, または,(b)作成したトランザクション・ログをSYS$JOURNALが指すディレクトリに移動のいずれかの作業を行わないかぎり, 使用されません。

修飾子

/NEW_VERSION
既存のトランザクション・ログの新しいバージョンを作成します。


重要
既存のトランザクション・ ログの新しいバージョンを作成すると,データが破損する恐れがあります。

2つのトランザクション・ログのデータをマージすることはできません。DECdtm サービスは,新トランザクション・ログを使用した後では, 古いトランザクション・ログのレコードにアクセスできません。


/OWNER=ユーザ識別子
トランザクション・ログの所有者を指定します。

『OpenVMSユーザーズ・マニュアル』に従って,UIC 標準形式で所有者を指定してください。

/SIZE=サイズ
トランザクション・ログのサイズをブロック単位で指定します。

最小サイズは100ブロックです。省略時のサイズは4,000ブロックです。

    LMCP> CREATE LOG/SIZE=5000 DISK$LOG1:[LOGFILES]SYSTEM$ORANGE.LM$JOURNAL
    
    ORANGEというノードに対し,5,000ブロックのトランザクション・ログをDISK$LOG1:[LOGFILES] に作成しています。

DUMP

トランザクション・ログの内容を表示します。

トランザクション・ログとそのディレクトリへの読み込みアクセス権が必要です。

形式

    DUMP   ファイル指定

パラメータ

ファイル指定

表示したい内容を持つトランザクション・ログのファイル指定

省略時の設定は,次のとおりです。

修飾子

/ACTIVE
アクティブなトランザクションのレコードだけを選択します。

/FORMAT(省略時の設定)
/NOFORMAT
トランザクション・ログの内容を書式付きレコードとして表示するかどうかを指定します。16 進だけで表示するには,/NOFORMAT修飾子と/HEX 修飾子の両方を指定してください。

/HEX修飾子を指定せずに/NOFORMAT修飾子を指定した場合,トランザクション・ ログ・ヘッダだけが表示されます。

/HEX
/NOHEX(省略時の設定)
トランザクション・ログの内容を,ASCII文字と16進ロングワードの両方で表示することを指定します。16 進だけで表示するには,/NOFORMAT 修飾子と/HEX修飾子の両方を指定してください。

/LOGID=ログID
ログIDフィールドが指定した値に一致する構成要素を持つトランザクションのレコードだけを選択します。

ログIDは,Typeフィールドの右のLog IDフィールドに表示されます。 ハイフンも含め,実際に表示される値と同じ値を指定してください。

この修飾子を使用できるのは,/RM修飾子と併用した場合だけです。

/OUTPUT[=ファイル指定]
出力ファイルを作成するディレクトリへの読み込みアクセス権と書き込みアクセス権が必要です。

DUMPコマンドの出力先を指定します。省略した場合,出力は現在のSYS$OUTPUT 装置(通常は,使用中のターミナル)に送られます。ファイルに出力するには,/OUTPUT 修飾子を使用します。ファイルを指定しない場合, 省略時のディレクトリのファイルLMCP_DUMP.LISに出力されます。

/RM=名前
指定した値で始まる名前の構成要素を持つトランザクションのレコードだけを選択します。

構成要素名は,ASCIIと16進の両方でNameフィールドに表示されます。

構成要素名に表示不能文字が含まれている場合,16進形式の名前を使用すれば, そのレコードを選択できます。16進形式の名前を使用するためには,2 桁の16進値を1つの対にして,逆に並べます。たとえば,次のような構成要素の名前を仮定します。

     Name (11): "SYSTEM$RED" (4445 52244D45 54535953)

この場合,/RM修飾子には,次の値を指定します。

     /RM=%X53595354454D24524544

/STATE=COMMITTED
/STATE=PREPARED
コミット段階または準備段階のトランザクションのレコードだけを選択します。

/TID=トランザクションID
指定したトランザクションのレコードだけを選択します。

トランザクションIDは,Transaction IDフィールドに表示されます。 ハイフンを含み,実際に表示される値とまったく同じ値を指定してください。

説明

DUMPコマンドは,トランザクション・ログの内容を表示します。例 14-1 に,トランザクション・ログの例を使用し, 重要なフィールドについて説明します。

例 14-1 トランザクション・ログ例

Log Manager Control Program V1.1

Dump of transaction log DISK$LOGFILE:SYSTEM$BLUE.LM$JOURNAL;1
End of file block 4002 / Allocated 4002
Log Version 1.0
Transaction log UID:   647327A0-2674-11C9-8001-AA00040069F8 【1】
Penultimate Checkpoint: 000000000239 0039
Last Checkpoint:        00000000042E 002E

Dump of transaction log DISK$LOGFILE:SYSTEM$BLUE.LM$JOURNAL;1
Present Length:     134 (00000086) Last Length:          0 (00000000)
VBN Offset:           0 (00000000) Virtual Block:        2 (00000002) 【2】
Section:              3 (00000003)

Record number 1 (00000001),【3】 114 (0072) bytes 【4】
Transaction state (1):  PREPARED 【5】
Transaction ID: 1D017140-2676-11C9-9F34-08002B174360 【6】 (8-JUL-1995 14:08:29.14)
DECdtm Services Log Format V1.1 【7】
Type ( 2): CHILD 【8】        Log ID: F1469720-4A0C-11CC-8001-AA000400B7A5 【9】
Name (13): "SYSTEM$WESTRN" (4E 52545345 57244D45 54535953) 【10】
Type ( 8): CHILD NODE 【8】   Log ID: F1469720-4A0C-11CC-8001-AA000400B7A5 【9】
Name (6): "WESTRN" (4E52 54534557) 【10】
Type ( 3): LOCAL RM 【8】     Log ID: 037100C0-0019-0003-0100-000000000000 【9】
Name (6): "ORANGE" (4547 4E41524F) 【10】

重要なフィールドは,次のとおりです。

【1】
トランザクション・ ログ・ヘッダ-トランザクション・ログの属性情報
【2】
セクション・ ヘッダ-複数のトランザクション・レコードで構成されるセクションのヘッダ
【3】
レコード番号- 10進と16進によるレコード番号
【4】
レコード・サイズ- 10進と16進によるレコード・サイズ
【5】
トランザクション状態-レコードのタイプ

次のタイプがある。

【6】
トランザクション識別子- DECdtmトランザクション・マネージャが出力する一意のトランザクション識別子(TID)
【7】
DECdtmサービス・ログ形式-トランザクション・ログ形式のバージョン番号
【8】
タイプ-トランザクションの構成要素のタイプ

次のいずれか。

【9】
ログ識別子-構成要素のログの識別子

CHILD,CHILD NODE,PARENT,PARENT NODEの構成要素の場合,DECdtm トランザクション・ログの識別子です。ローカル資源マネージャの場合, そのプライベート・ログの識別子です。

【10】
名前-トランザクションの構成要素の名前

ASCIIと16進形式の両方が表示されます。

    LMCP> DUMP/RM="RMS$" DISK$LOGFILE:SYSTEM$BLUE.LM$JOURNAL
    
    BLUEというノードのトランザクション・ログの内容を表示しています。 OpenVMSのRMSジャーナリングが関わっているトランザクションだけを選択しています。
         Dump of transaction log DISK$LOGFILE:SYSTEM$BLUE.LM$JOURNAL;1
         End of file block 4002 / Allocated 4002
         Log Version 1.0
         Transaction log UID:   6A034B20-6FCC-0095-D7E4-EAA500000000
         Penultimate Checkpoint: 00000000382E 002E
         Last Checkpoint:        000000003C2E 002E
    
         Dump of transaction log DISK$LOGFILE:SYSTEM$BLUE.LM$JOURNAL;1
         Present Length:      46 (0000002E) Last Length:        512 (00000200)
         VBN Offset:          30 (0000001E) Virtual Block:       32 (00000020)
         Section:              1 (00000001)
    
         Record number 2 (00000002), 5 (0005) bytes
         Transaction state (3):  CHECKPOINT
         Checkpoint record contains no active transactions.
    
         Record number 1 (00000001), 21 (0015) bytes
         Transaction state (0):  FORGOTTEN
         Transaction ID: 271D9FC0-7082-0095-98E7-EAA500000000
    
         Dump of transaction log DISK$LOGFILE:SYSTEM$BLUE.LM$JOURNAL;1
         Present Length:     113 (00000071) Last Length:        512 (00000200)
         VBN Offset:          29 (0000001D) Virtual Block:       31 (0000001F)
         Section:              2 (00000002)
    
         Record number 1 (00000001), 93 (005D) bytes
         Transaction state (2):  COMMITTED
         Transaction ID: 271D9FC0-7082-0095-98E7-EAA500000000 ( 3-MAR-1995 13:53:03.42)
         DECdtm Services Log Format V1.1
         Type ( 2): CHILD        Log ID: EF006060-CF37-11C9-8001-AA000400DEFA
         Name (10): "SYSTEM$ORANGE" (45 474E4152 4F244D45 54535953)
         Type ( 8): CHILD NODE Log ID: EF006060-CF37-11C9-8001-AA000400DEFA
         Name ( 6): "ORANGE" (4547 4E41524F)
         Type ( 3): LOCAL RM     Log ID: 28C5D180-7082-0095-0000-000000000000
         Name (22): "RMS$USER1.......`....."
              (0000 00178B60 00000000 00000031 52455355 24534D52)
    
             .
             .
             .
    
         Total of 1 transactions active, 0 prepared and 1 committed
    

HELP

LMCPコマンドのヘルプを出力します。

形式

    HELP   [ヘルプ・トピック[ヘルプ・サブトピック]]

パラメータ

ヘルプ・トピック

ヘルプを出力する対象のコマンドを指定します。

ヘルプ・サブトピック

ヘルプを出力する対象のパラメータまたは修飾子を指定します。

REPAIR

トランザクションの状態を変更します。


重要
REPAIRコマンドは,データを破損する恐れがあります。 トランザクションに関わっている資源マネージャではトランザクション状態を変更できない場合以外には, 使用しないようにしてください。

次の特権とアクセス権が必要です。

形式

    REPAIR   ファイル指定

パラメータ

ファイル指定

状態を変更するトランザクションを格納している,トランザクション・ ログのファイル指定

REPAIRコマンドでは,次の条件が必要です。

省略時の設定は,次のとおりです。

修飾子

/LOGID=ログID
指定したログを使用する構成要素を持つトランザクションだけを選択します。

ログIDは,DUMPコマンドの出力のTypeフィールドの右のLog IDに表示されます。指定する値は,ハイフンを含み,実際に表示される値とまったく同じ値を指定してください。

この修飾子を使用できるのは,/RM修飾子と併用した場合だけです。

/RM=名前
指定した値で始まる名前の構成要素を持つトランザクションのレコードだけを選択します。

構成要素名は,DUMPの出力のNameフィールドに,ASCIIと16進で表示されます

構成要素名に表示不能文字が含まれている場合,16進形式の名前を使用すれば, そのレコードを選択できます。16進形式の名前を使用するためには,2 桁の16進値を1つの対にして,逆に並べます。たとえば,次のような構成要素の名前を仮定します。

     Name (11): "SYSTEM$RED" (4445 52244D45 54535953)

この場合,/RM修飾子には,次の値を指定します。

     /RM=%X53595354454D24524544

/STATE=COMMITTED
/STATE=PREPARED
コミット段階または準備段階のトランザクションのレコードだけを選択します。

/TID=トランザクションID
指定したトランザクションのレコードだけを選択します。

トランザクションIDは,DUMPコマンドの出力のTransaction IDフィールドに表示されます。 ハイフンを含み,実際に表示される値とまったく同じ値を指定してください。

説明

REPAIRコマンドは,トランザクションの状態を変更します。


重要
REPAIRコマンドは,データを破損する恐れがあります。 トランザクションに関わっている資源マネージャではトランザクション状態を変更できない場合以外には, 使用しないようにしてください。

このコマンドは,トランザクションに関わっている資源マネージャにトランザクション状態を変更する手段が用意されていない場合だけに使用してください。 たとえばRdb for OpenVMSがトランザクションに関わっている場合,REPAIR ではなく,Rdb for OpenVMS Managementユーティリティ(RMU) のコマンドを使用してください。同様に,VAX DBMS for OpenVMSが関わっている場合は, データベース・オペレータ・ユーティリティ(DBO) のコマンドを使用してください。

トランザクションの結果がすでに判明しているときに,トランザクション・ ログをただちに手作業で更新する必要がある場合以外には,トランザクション状態を変更しないようにしてください。 トランザクション状態を変更する具体的状況としては, 遠隔ノードへのネットワーク・リンクを失った場合などが考えられます。

REPAIRコマンドでは,変更するトランザクションを修飾子で指定します。 省略時の設定では,すべてのトランザクションが選択されます。

変更するトランザクションを選択した後,REPAIRサブコマンド・モードに入ります。 このモードでは,プロンプトがREPAIR>に変わり,サブコマンドを使用できるようになります。 トランザクション状態を手作業で変更したり, 選択基準を満たす次のトランザクションを選択したりする処理を, これらのサブコマンドで行います。使用できるサブコマンドは,次のとおりです。

サブコマンド 動作
ABORT 準備段階のトランザクションのレコードをトランザクション・ ログから削除することによって, トランザクションを強制終了することを指定する。 この結果,FORGOTTENタイプのレコードが 書き込まれる。 DECdtmサービスは,推定強制終了ロギング・プロトコルを 使用している。
COMMIT 準備段階トランザクションをコミットさせることを 指定する。この結果, COMMITTEDタイプのレコードが 書き込まれる。
EXIT LMCP>プロンプトに戻る。
FORGET コミットされたトランザクションをトランザクション・ ログ から削除できることを指定する。この結果, FORGOTTENタイプのレコードが書き込まれる。
NEXT 指定した選択基準を満たす次のトランザクションを 表示する。

選択したトランザクションが順番に表示されるので,それぞれを変更できます。ABORT ,COMMIT,FORGETのサブコマンドではトランザクション状態の変更,NEXT サブコマンドでは次のトランザクションの選択が行えます。

REPAIRサブコマンド・モードを終了するには,EXITサブコマンドを入力するか, またはCtrl/Zを押します。

    LMCP> REPAIR/STATE=PREPARED DISK$JOURNALS:[LOGFILES]SYSTEM$ORANGE
    
    ORANGEというノードのトランザクション・ログから変更するトランザクションを選択しています。 選択されたトランザクションは,準備段階にあるトランザクションです。

    最初のトランザクションは,準備段階からコミット段階に手作業で変更しています。 次に,NEXTサブコマンドで次のトランザクションに移動しています。

         Dump of transaction log DISK$JOURNALS:[LOGFILES]SYSTEM$ORANGE;1
         End of file block 4002 / Allocated 4002
         Log Version 1.0
         Transaction log UID:   98A43B80-81B7-11CC-A27A-08002B1744C3
         Penultimate Checkpoint: 00000407B9AC 07AC
         Last Checkpoint:        00000407C3B7 07B7
    
         Transaction state (1):  PREPARED
         Transaction ID: 9F7DF804-CBC4-11CC-863D-08002B17450A (18-OCT-1995 16:11:03.67)
         DECdtm Services Log Format V1.1
         Type ( 3): LOCAL RM         Log ID: 00000000-0000-0000-0000-000000000000
         Name (1): "B" (42)
         Type ( 4): PARENT           Log ID: AEC2FB64-C617-11CC-B458-08002B17450A
         Name (13): "SYSTEM$BLUE" (45554C 42244D45 54535953)
         Type (16): PARENT NODE      Log ID: AEC2FB64-C617-11CC-B458-08002B17450A
         Name (6): "BLUE" (45554C42))
    
         REPAIR>COMMIT
         REPAIR>NEXT
             .
             .
             .
    

SHOW LOG

トランザクション・ログに関する情報を表示します。

トランザクション・ログとそのディレクトリへの読み込みアクセス権が必要です。

形式

    SHOW LOG   [ファイル指定]

パラメータ

ファイル指定

情報を表示したいトランザクション・ログのファイル指定。パーセント(%) とアスタリスク(*)のワイルドカード文字を使用できます。

省略時の設定は,次のとおりです。

修飾子

/CURRENT
ローカル・ノードのトランザクション・ログに関する情報を表示します。DECdtm サービスがローカル・ノード上で起動してから発生したチェックポイント数と停止回数も表示されます。

/CURRENT修飾子を使用するには,次の条件を満足しなければなりません。

/FULL
トランザクション・ログのすべての属性をリストします。各トランザクション・ ログの完全ファイル指定とサイズが表示されます。

トランザクション・ログを指定しない場合,論理名SYS$JOURNALが指すすべてのディレクトリに存在するSYSTEM$*.LM$JOURNAL の形式のすべてのトランザクション・ ログを表示します。SYS$JOURNALは,エグゼクティブ・ モードでシステム論理名テーブルに定義していなければなりません。

/OUTPUT[=ファイル指定]
出力ファイルを作成するディレクトリへの読み込みアクセス権と書き込みアクセス権が必要です。

SHOW LOGコマンドの出力先を指定します。省略した場合,出力は現在のSYS$OUTPUT 装置(通常は,使用中のターミナル)に送られます。ファイルに出力するには,/OUTPUT 修飾子を使用します。ファイルを指定しない場合, 省略時のディレクトリのファイルLMCP_SHOW.LISに出力されます。

    LMCP> SHOW LOG/FULL
    
    論理名SYS$JOURNALが指すすべてのディレクトリに格納されているトランザクション・ ログに関する詳細情報を表示しています。SYS$JOURNALは, エグゼクティブ・モードでシステム論理名テーブルに定義されています。
         Directory of DISK$JOURNALS:[LOGFILES]
    
         DISK$JOURNALS:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL;1
         End of file block 4002 / Allocated 4002
         Log Version 1.0
         Transaction log UID:   647327A0-2674-11C9-8001-AA00040069F8
         Penultimate Checkpoint: 000000001A39 0039
         Last Checkpoint:        000000001C8A 008A
    
         Total of 1 file.
    
         Directory of DISK$RED:[LOGFILES]
    
         DISK$RED:[LOGFILES]SYSTEM$RED.LM$JOURNAL;1
         End of file block 4002 / Allocated 4002
         Log Version 1.0
         Transaction log UID:   17BB9140-2674-11C9-8001-AA0004006AF8
         Penultimate Checkpoint: 000000ECADE5 41E5
         Last Checkpoint:        000000F1O5FC 41FC
    
         Total of 1 file.
    
         Directory of DISK$LOGFILES:[LOGS]
    
         DISK$LOGFILES:[LOGS]SYSTEM$YELLOW.LM$JOURNAL;1
         End of file block 1002 / Allocated 1002
         Log Version 1.0
         Transaction log UID:   590DAA40-2640-11C9-B77A-08002B14179F
         Penultimate Checkpoint: 00000C8B4819 2019
         Last Checkpoint:        00000C8BC15B 335B
    
         Total of 1 file.
    
         Total of 3 files in 3 directories.
    


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]