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

25 DECdtmサービスの管理

本章では,DECdtmサービスを利用するソフトウェア(たとえばACMS, Oracle Rdb,RMS Journalingなど)を実行するときに必要な作業を説明します。

本章の内容

本章では次の作業について説明します。

作業 参照箇所
トランザクション・ ログの計画 第25.2節
DECnet-Plusネットワークの計画 第25.3 節
トランザクション・ログの作成 第25.4節
トランザクション性能の監視 第25.5節
トランザクション・ ログのサイズが十分かどうかのチェック 第25.6節
トランザクション・ ログのサイズの変更 第25.7節
トランザクション・ログの移動 第25.8節
ディスクのディスマウント 第25.9節
ノードの追加 第25.10節
ノードの削除 第25.11節
DECdtmサービスの停止 第25.12節
DECdtmサービスの開始 第25.13節

図 25-1は,DECdtmサービスの管理のためのフローチャートです。 このチャートから実際に必要な作業と,その作業の順序を知ることができます。

さらに,次の項目について説明します。

項目 参照箇所
トランザクション・ ログについて 第25.1節
トランザクション・グループについて 第25.3.2.2 項

図 25-1 DECdtmサービスの管理

25.1 トランザクション・ログについて

トランザクション・ログとは,あるノード上で行われたDECdtm トランザクションに関する情報を格納するファイルのことです。ファイルのタイプは.LM$JOURNAL です。

任意のノードでDECdtmトランザクションを実行する場合は,そのノードに対してトランザクション・ ログを作成しておく必要があります。OpenVMS Clusterでは,クラスタ内の各ノードでトランザクション・ログを作成します。 ログ・マネージャ制御プログラム(LMCP)ユーティリティを使用して, トランザクション・ログの作成と管理を行います。

DECdtmサービスでは,トランザクション・ログの格納場所は論理名SYS$JOURNAL によって判断されます。トランザクション・ログを含むディレクトリを指すように,SYS$JOURNAL に定義する必要があります。

25.2 トランザクション・ログの計画

トランザクション・ログのサイズと格納場所は,トランザクションの性能に影響を及ぼします。 トランザクション・ログを作成する前に,そのサイズと格納場所を決定してください。

トランザクション・ログのサイズと格納場所は,作成した後でも変更することができます。 しかし,この段階でログの格納場所とサイズについて十分に検討しておくと, 後になって変更する負担が少なくてすみます。

この節では次の作業について説明します。

作業 参照箇所
トランザクション・ ログのサイズの決定 第25.2.1項
トランザクション・ログの格納場所の決定 第25.2.2 項

25.2.1 トランザクション・ログのサイズの決定

トランザクション・ログを作成する場合は,そのサイズをブロック単位で指定することができます。 省略時のサイズは4,000ブロックです。この値に設定すれば, ほとんどのシステムで十分な性能を得ることができます。

トランザクションの平均発生数が予想できる場合,トランザクション・ログのサイズは以下の計算式で求めることができます。


サイズ= 40 *平均発生数

サイズ トランザクション・ログのサイズを示すブロック数
平均発生率 1秒あたりに実行されるトランザクション数の平均

トランザクションの平均発生数が分からない場合には,省略時の値の4,000 ブロックを採用します。

25.2.2 トランザクション・ログの格納場所の決定

できれば,以下の属性を持つディスクに置いてください。

高速 ソリッド・ステート・ディスクのような高性能ディスクで, 負荷の低いもの。
高可用性 データに複数のアクセス・パスを設 定することによって高い可用性を実現することができる。

OpenVMS Clusterでは,クラスタ内の別のノードからもアクセスできるディスクを使用する。1 つのノードがダウンした場合にも,別のノードで実行されているトランザクションはブロックされない。

高信頼性 データの複数のコピーを作成しておけば, 高い信頼性を実現することができる。

シャドウ・ディスクは非シャドウ・ディスクよりも信頼性が高いが, トランザクション・ログがほぼ書き込み専用である分低速になる。

速度と可用性または信頼性のいずれかとの間で選択を行う必要があることがあります。 たとえば,ノードがワークステーションの場合には,可用性と信頼性のために速度を犠牲にして, ワークステーションに接続されたディスクではなく, それより低速のHSCベースのシャドウ・ディスク上にノードのトランザクション・ ログを置く場合があります。

クラスタ環境では,できるだけトランザクション・ログを複数のディスクに分散させてください。1 つのディスクに複数のトランザクション・ログが存在すると, トランザクションの性能が低下します。


注意
ディスクにトランザクション・ ログを保持するための十分な連続領域があることを確認してください。 トランザクション・ログの領域が連続していないと,トランザクション性能は低下します。

25.3 DECnet-Plusネットワークの計画

この節では,DECnet-PlusネットワークでDECdtmを使用する際に役立つ, 次の情報についてまとめます。

25.3.1 DECnet-Plusネームスペースの計画

DECdtmでは,複数のDECnet-Plusネームスペースをサポートしません。

つまり,DECdtmサービスを使用するソフトウェアを使用したい場合には, ローカル・ネームスペースとDECdnsネームスペースの両方を使用することはできません。

25.3.2 DCEnet-PlusネットワークでのSCSNODE名の計画

SCSNODEは,コンピュータの名前を定義するシステム・パラメータです。 DECnet-Plusネットワークを使用しているときに,異なるOpenVMS Cluster または異なるスタンドアロン・コンピュータにまたがるDECdtmトランザクションを実行したい場合には,SCSNODE 名を選択する際に次の規則に従う必要があります。

25.3.2.1 SCSNODE名に関する規則

DECnet-Plusネットワークを使用していて,異なるOpenVMS Clusterまたは異なるスタンドアロン・ コンピュータにまたがるDECdtmトランザクションを実行する場合には,SCSNODE 名が次の規則に従っているかどうかを確認する必要があります。

25.3.2.2 トランザクション・グループについて

トランザクション・グループとは,DECdtmトランザクションに関係するコンピュータのグループであり, そのSCSNODE名は,第25.3.2.1項で説明する規則に従わなければなりません。

トランザクション・グループは,次のガイドラインに従います。

図 25-2は,トランザクション・ グループの例を示しています。

図 25-2 トランザクション・グループ

この図で,9台のコンピュータはすべて同じトランザクション・グループに属します。 これは次の理由によります。

25.4 トランザクション・ログの作成

任意のノードでDECdtmサービスを利用する場合は,そのノードに対してトランザクション・ ログを作成する必要があります。OpenVMS Cluster環境では, ノードごとにトランザクション・ログを作成します。


重要
トランザクション・ログの作成後にクラスタからノードを削除すると, データが破壊されることがあります。 ノードを安全に削除する方法については,第25.11 節を参照してください。

作業方法

  1. 第25.2節のガイドラインに従って, ノードごとにトランザクション・ログのサイズと格納場所を決定する。 ディスクにはトランザクション・ログを格納するのに十分な連続領域が存在する必要がある。

  2. クラスタ環境の場合,トランザクション・ログを作成するディスクがクラスタ全体でマウントされていることを確認する。

  3. トランザクション・ログを作成するディレクトリを決定する。 必要であれば,トランザクション・ログ専用のディレクトリを作成する。

  4. 次のようにトランザクション・ログのディレクトリをSYS$JOURNAL に定義する。

    DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL ディレクトリ指定[,...]

    ここで,ディレクトリ指定 は,作成する1つ以上のトランザクション・ ログを格納するディレクトリの完全ファイル指定である。 このとき,トランザクション・ログを格納するすべてのディレクトリを指定する必要がある。 指定する順序は自由。

    クラスタ環境では,SYSMANを使用してSYS$JOURNALをクラスタ全体で定義する。

  5. コマンド・プロシージャSYS$MANAGER:SYLOGICALS.COMに, SYS$JOURNALの定義を追加する。

    独自のSYLOGICALS.COMを使用しているすべてのノードで同じ作業を行う。

  6. LMCPのCREATE LOGコマンドを使用して,ノードごとに1つのトランザクション・ ログを作成する。

    CREATE LOG [/SIZE=サイズ] ディレクトリ指定SYSTEM$ ノード.LM$JOURNAL

    サイズ トランザクション・ログのサイズを示すブロック数。 サイズの指定を省略すると,トランザクション・ ログのサイズは4,000ブロックになる。
    ディレクトリ指定 トランザクション・ ログを格納するディレクトリの完全指定。
    ノード ノードの名前。

  7. DECdtmサービスを次のように開始する。

    手順 作業
    a. 論理名SYS$DECDTM_INHIBITが定義されているかどうかを調べる。
         $ SHOW LOGICAL SYS$DECDTM_INHIBIT
    
    b. SYS$DECDTM_INHIBIT の定義状態

    定義済み DECdtmサービスは停止される。 第25.13節の指示に従ってDECdtmサービスを開始する。
    未定義 DECdtm サービスが開始される。

この例では,OpenVMS Cluster内のノード(SCSNODE名がBLUEおよびRED)にトランザクション・ ログを作成する方法を示します。どちらのノードも, ノード固有のSYLOGICALS.COMを使用していないものとします。

トランザクション・ログの格納場所とサイズを次にように決定します。

ノード ログのサイズ(ブロック数) ディスク
BLUE 5000 DUA1
RED 4000 DUA2

ディスクをクラスタ全体でマウントします。

     $ MOUNT/CLUSTER/SYSTEM DUA1: LOG1
     $ MOUNT/CLUSTER/SYSTEM DUA2: LOG2

トランザクション・ログ用のディレクトリを作成します。

     $ CREATE/DIRECTORY DISK$LOG1:[LOGFILES]
     $ CREATE/DIRECTORY DISK$LOG2:[LOGFILES]

SYS$JOURNALを定義します。

     $ RUN SYS$SYSTEM:SYSMAN
     SYSMAN> SET ENVIRONMENT/CLUSTER
     SYSMAN> DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL -
     _SYSMAN> DISK$LOG1:[LOGFILES], DISK$LOG2:[LOGFILES]
     SYSMAN> EXIT

コマンド・プロシージャSYS$MANAGER:SYLOGICALS.COM に以下の行を追加します。

     $ !
     $ DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL DISK$LOG1:[LOGFILES], -
     DISK$LOG2:[LOGFILES]
     $ !

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

     $ RUN SYS$SYSTEM:LMCP
     LMCP> CREATE LOG/SIZE=5000 DISK$LOG1:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL
     LMCP> CREATE LOG DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$JOURNAL
     LMCP> EXIT

DECdtmサービスが開始されたことを確認します。

     $ SHOW LOGICAL SYS$DECDTM_INHIBIT
     %SHOW-S-NOTRAN, no translation for logical name SYS$DECDTM_INHIBIT

SYS$DECDTM_INHIBITが定義されていないため,DECdtmサービスが使用できます。

25.5 トランザクション性能の監視

負荷の増加など,システム構成を変更することでトランザクション性能に影響がでることがあります。 毎月一度はノード上でトランザクションを監視し, トランザクション性能が低下していないことを確認してください。 OpenVMS Cluster環境では,クラスタ内のすべてのノードでトランザクション性能を監視してください。

作業方法

  1. MONITORユーティリティのMONITOR TRANSACTIONSコマンドを使用してトランザクションを監視する。

    MONITOR TRANSACTION/SUMMARY[=ファイル指定] /ENDING=終了時刻/NODE=ノード名[,...]

    ファイル指定 要約ファイルのファイル指定。 トランザクションの情報は要約され,ここで指定したファイルに記録される。 ファイル指定を省略すると,トランザクション情報は省略時のディレクトリのMONITOR.SUM に記録される。
    終了時刻 監視セッションを終了する時刻。
    ノード名 ノードの名前。OpenVMS Clusterでは,クラスタ内のすべてのノードをリストする。

    最適な情報を得るためには,トランザクションの監視を24時間連続して行うこと。

    MONITOR TRANSACTIONコマンドをコマンド・プロシージャに追加すれば, トランザクションの監視をバッチ・モードで行うことができる。

    MONITOR TRANSACTIONコマンドについての詳細は,『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』を参照。

  2. 要約ファイルを調査する。

    要約ファイルには,いくつかの異なるデータ項目の値が含まれている。 各ノードについて,以下の項目に注目する。

    以上の値をメモしておく。

  3. 今回の監視セッションの結果を前回のセッションの結果と比較する。

    作業負荷が変化していなければ,トランザクションの発生数と実行時間はほとんど同じはずである。 次のような場合は性能が低下していると考えられる。

    いくつかの監視セッションを通じて各値がどのように変化したかを調べる。1 つの監視セッションから次の監視セッションの間に見られる変化は, システム上の作業負荷の変化が原因であることが考えられる。

    任意のノードでトランザクション性能が低下したと考えられる場合は, そのトランザクション・ログのサイズが十分かどうかチェックする( 第25.6節を参照)。

    トランザクション・ログのサイズが十分であるにもかかわらず, トランザクション性能が低下している場合は,システムのチューニングを検討する。 システムのチューニングについての詳細は,『Guide to OpenVMS Performance Management』を参照。

この例ではBLUEとREDの2つのノードを持つOpenVMS Clusterのトランザクション性能を監視しています。

ノードBLUEとREDのトランザクションは24時間連続して監視します。

     $ MONITOR TRANSACTION/SUMMARY=DISK$LOG1:[LOGFILES]TRANSACTIONS.SUM -
     _$ /ENDING="+1-"/NODE=(BLUE,RED)

要約ファイルを調べます。

                        DISTRIBUTED TRANSACTION STATISTICS
                                  on node BLUE         From: 16-OCT-1998 14:23:51
                                     SUMMARY           To:   17-OCT-1998 14:23:51
                                        CUR        AVE        MIN        MAX

     Start Rate                       49.02      43.21      31.30      49.02
     Prepare Rate                     48.70      43.23      30.67      48.70
     One Phase Commit Rate             0.00       0.00       0.00       0.00
     Total Commit Rate                48.70      43.19      31.30      48.70
     Abort Rate                        0.00       0.00       0.00       0.00
     End Rate                         48.70      43.19      31.30      48.70
     Remote Start Rate                 0.00       0.00       0.00       0.00
     Remote Add Rate                   0.00       0.00       0.00       0.00

     Completion Rate    0-1           21.42      13.57       0.63      21.42
      by Duration       1-2           25.97      29.15      24.59      33.87
      in Seconds        2-3            1.29       0.47       0.00       4.47
                        3-4            0.00       0.00       0.00       0.00
                        4-5            0.00       0.00       0.00       0.00
                         5+            0.00       0.00       0.00       0.00

                                   SUMMARIZING

                        DISTRIBUTED TRANSACTION STATISTICS
                                  on node RED          From: 16-OCT-1998 14:23:52
                                     SUMMARY           To:   17-OCT-1998 14:23:52

        .
        .
        .

以下の値に注目します。

今回の監視セッションの結果を以前のセッションの結果と比較します。

セッション 終了数 実行時間別トランザクション数
0〜1秒 1〜2秒 2〜3秒
6 月 42.13 12.98 28.13 1.02
7 月 38.16 10.35 25.80 2.01
8 月 43.19 13.57 29.15 0.47

ノードBLUEのデータを見るかぎり,性能が低下した兆候は見られません。

25.6 トランザクション・ログのサイズが十分かどうかのチェック

トランザクション性能が低下しているノードが見つかった場合は,そのノードのトランザクション・ ログのサイズが十分かどうかを調べる必要があります。

第25.5節では,トランザクション性能の低下を発見する方法を説明しています。

作業方法

  1. トランザクション・ログが置かれているノードにログインする。

  2. LMCPユーティリティのSHOW LOG/CURRENTコマンドを使用して, トランザクション・ログがストールした回数を調べる。
         $ RUN SYS$SYSTEM:LMCP
         LMCP> SHOW LOG/CURRENT
    

    表示されたチェックポイントと発生したストールの数に注目する。

  3. 5分後にSHOW LOG/CURRENTコマンドを繰り返し実行する。実行後, チェックポイントとストールの数に再び注目する。

  4. SHOW LOG/CURRENTコマンドからの情報と比較する。

    2回のチェックでチェックポイントの数が同じ場合は,システムの負荷が大きい時間に同じ作業をもう一度行う。

    チェックポイントの数が増え,さらにストールの回数が1回以上増えている場合は, トランザクション・ログが小さすぎるといえる。

  5. トランザクション・ログのサイズが小さいときは,そのサイズを大きくする。 トランザクション・ログのサイズを変更する方法については, 第25.7節を参照。

ノードBLUEのトランザクション・ログのサイズが不十分かどうかを調べます。

ノードBLUEにログインし,トランザクション・ログがストールした回数を調べます。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> SHOW LOG/CURRENT

     Checkpoint starts/ends            2464/2464
     Stall starts/ends                   21/21
     Log status: no checkpoint in progress, no stall in progress.

チェックポイントの数は2,464で,トランザクションのストール回数は21 回であることが分かります。

5分後,SHOW LOG/CURRENTコマンドをもう一度入力します。

     LMCP> SHOW LOG/CURRENT

     Checkpoint starts/ends            2514/2514
     Stall starts/ends                   28/28
     Log status: no checkpoint in progress, no stall in progress.

チェックポイントの数が増え,さらにトランザクション・ログが現在28回ストールしており, ストール回数が5分間に7回増えていることが分かります。 したがって,トランザクション・ログのサイズが不十分であるといえます。

25.7 トランザクション・ログのサイズの変更

トランザクション・ログのサイズが不十分な場合,そのサイズを大きくする必要があります。 第25.6節を参照してください。

作業方法


重要
以下の手順で示すステップのすべてを実行してください。 途中のステップを省略すると,データが壊れることがあります。

  1. トランザクション・ログに対応するノードにログインする。

  2. LMCPのSHOW LOGコマンドを使用して,トランザクション・ログが置かれているディレクトリを探す。

    SHOW LOG SYSTEM$ノード.LM$JOURNAL

    ノードは,トランザクション・ログが置かれているノードの名前。

  3. トランザクション・ログをリネームする。

    RENAME ディレクトリ指定SYSTEM$ノード.LM$JOURNAL ディレクトリ指定SYSTEM$ノード.LM$OLD

    ディレクトリ指定 トランザクション・ ログを格納するディレクトリの完全指定。
    ノード トランザクション・ログに対応するノードの名前。

  4. ノードをまったくシャットダウンしないでDECdtmサービスを使用しているすべてのソフトウェアを停止できるか。

    可能 次のようにトランザクション・ログを閉じる。

    手順 作業
    a. DECdtmサービスを使用しているすべてのソフトウェアを終了する。
    b. LMCPのCLOSE LOGコマンドを使用してトランザクション・ログを閉じる。
         $ RUN SYS$SYSTEM:LMCP
         LMCP> CLOSE LOG
    


    CLOSE LOGコマンドはトランザクション・ログを閉じてからDECdtm TP_SERVER プロセスを停止する。DECdtmサービスを使用しているソフトウェアがあると, コマンドは失敗する。
    c. CLOSE LOGコマンドの実行に成功したか。

    成功 TP_SERVERプロセスを再起動する。
         $ @SYS$STARTUP:DECDTM$STARTUP.COM
    
    失敗 30秒間待ってから手順4b および4cを繰り返す。

    不可能 ノードを再ブートしてトランザクション・ログを閉じる。 再ブートされたらノードにログインする。

  5. LMCPユーティリティのCONVERT LOGコマンドを使用して,トランザクション・ ログのサイズを変更する。

    CONVERT LOG/SIZE=サイズ SYSTEM$ノード.LM$OLD ディレクトリ指定SYSTEM$ノード.LM$JOURNAL

    サイズ 新しいトランザクション・ ログのサイズを示すブロック数。
    ディレクトリ指定 トランザクション・ログを格納するディレクトリの完全指定。
    ノード トランザクション・ログが置かれているノードの名前。

  6. ステップ4でDECdtmサービスを使用しているソフトウェアを停止した場合は, そのソフトウェアを再起動する。

  7. 旧トランザクション・ログを削除する。

    DELETEディレクトリ指定SYSTEM$ノード.LM$OLD;

    ディレクトリ指定 旧トランザクション・ ログを格納しているディレクトリの完全指定。
    ノード トランザクション・ ログが置かれているノードの名前。

この例は,ノードREDのトランザクション・ログのサイズを6000ブロックに変更しています。 ノードREDはOpenVMS Cluster内に存在し,そのトランザクション・ ログはDISK$LOG2:[LOGFILES]に置かれています。

ノードREDにログインします。REDのトランザクション・ログが置かれているディレクトリを探し, そのトランザクション・ログの名前を変更します。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> SHOW LOG SYSTEM$RED.LM$JOURNAL

     Directory of DISK$LOG2:[LOGFILES]

     SYSTEM$RED.LM$JOURNAL;1

     Total of 1 file.
     LMCP> EXIT

     $ RENAME DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$JOURNAL -
     _$ DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$OLD

DECdtmサービスを使用しているすべてのソフトウェアを終了します。次に, トランザクション・ログを閉じます。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> CLOSE LOG
     Transaction log closed, TP_SERVER process stopped
     LMCP> EXIT

TP_SERVERプロセスを再起動します。

     $ @ SYS$STARTUP:DECDTM$STARTUP.COM

トランザクション・ログのサイズを変更します。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> CONVERT LOG/SIZE=6000 DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$OLD -
     _LMCP> DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$JOURNAL
     Log file DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$JOURNAL;1 created.
     Log file DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$OLD converted.
     LMCP> EXIT

DECdtmサービスを使用するソフトウェアを再起動します。

旧トランザクション・ログを削除します。

     $ DELETE DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$OLD;

25.8 トランザクション・ログの移動

次の場合には,トランザクション・ログを移動します。

作業方法


重要
以下の手順で示すステップのすべてを実行してください。 途中のステップを省略すると,データが壊れることがあります。

  1. 第25.2.2項で示したガイドラインに従って, トランザクション・ログの移動先を決定する。ディスクにはトランザクション・ ログを格納するのに十分な連続領域が存在する必要がある。

  2. トランザクション・ログが置かれているノードにログインする。

  3. OpenVMS Cluster環境の場合,トランザクション・ログを移動するディスクが, クラスタ全体でマウントされていることを確認する。

  4. トランザクション・ログの移動先のディレクトリを決定する。 必要であれば,トランザクション・ログ専用のディレクトリを作成する。

  5. LMCPのSHOW LOGコマンドを使用して,トランザクション・ログが置かれているディレクトリを探す。

    SHOW LOG SYSTEM$ノード.LM$JOURNAL

    ノードは,トランザクション・ログが置かれているノードの名前。

  6. トランザクション・ログをリネームする。

    RENAME ディレクトリ指定SYSTEM$ノード.LM$JOURNAL ディレクトリ指定SYSTEM$ノード.LM$OLD

    ディレクトリ指定 トランザクション・ ログを格納するディレクトリの完全指定。
    ノード トランザクション・ログが置かれているノードの名前。

  7. ノードをまったくシャットダウンしないでDECdtmサービスを使用しているすべてのソフトウェアを停止できるか。

    可能 次のようにトランザクション・ログを閉じる。

    手順 作業
    a. DECdtmサービスを使用しているすべてのソフトウェアを終了する。
    b. LMCPのCLOSE LOGコマンドを使用して,トランザクション・ログを閉じる。
         $ RUN SYS$SYSTEM:LMCP
         LMCP> CLOSE LOG
    


    CLOSE LOGコマンドはトランザクション・ログを閉じてからDECdtm TP_SERVER プロセスを終了する。DECdtmサービスを使用しているソフトウェアが1 つでもあればコマンドは失敗する。
    c. CLOSE LOGコマンドの実行に成功したか。

    成功 TP_SERVERプロセスを再起動する。
         $ @SYS$STARTUP:DECDTM$STARTUP.COM
    
    失敗 30秒間待ってから手順7b および7cを繰りかえす。

    不可能 ノードを再ブートしてトランザクション・ログを閉じる。 再ブートされたらノードにログインする。

  8. 論理名SYS$JOURNALに,ログの移動先のディレクトリが定義されていることを確認する。 定義されていない場合は,SYS$JOURNALを再定義する。

    DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNALディレクトリ指定[,...]

    ここで,ディレクトリ指定 は1つまたは複数のトランザクション・ ログを格納するディレクトリの完全ファイル指定である。 トランザクション・ログの移動後にトランザクション・ログを格納するすべてのディレクトリを指定する。 ディレクトリの順序は自由。

    OpenVMS Cluster環境では,SYSMANを使用してSYS$JOURNALをクラスタ全体で再定義する必要がある。

  9. ステップ8でSYS$JOURNALを再定義した場合は,それに合わせてコマンド・ プロシージャSYS$MANAGER:SYLOGICALS.COMの中のSYS$JOURNAL の定義を更新する。

    ノード独自のSYLOGICALS.COMを作成している場合は,そのコマンド・ プロシージャのすべてを更新する。

  10. LMCPユーティリティのCONVERT LOGコマンドを使用して,トランザクション・ ログを移動する。

    CONVERT LOG古いディレクトリ指定SYSTEM$ノード.LM$OLD 新しいディレクトリ指定SYSTEM$ノード.LM$JOURNAL

    古いディレクトリ指定 現在トランザクション・ ログを格納しているディレクトリの完全指定。
    ノード トランザクション・ ログが置かれているノードの名前。
    新しいディレクトリ指定 トランザクション・ログの移動先のディレクトリの完全指定。

  11. ステップ7でDECdtmサービスを使用しているソフトウェアを停止した場合は, そのソフトウェアを再起動する。

  12. 旧トランザクション・ログを削除する。

    DELETEディレクトリ指定SYSTEM$ノード.LM$OLD;

    ディレクトリ指定 トランザクション・ ログを格納するディレクトリの完全指定。
    ノード トランザクション・ログが置かれているノードの名前。

この例は,BLUEのトランザクション・ログの移動方法を紹介しています。 BLUEはOpenVMS Cluster内に存在します。クラスタ・メンバおよびトランザクション・ ログの格納場所を次のように想定しています。

ノード ログを格納するディレクトリ
BLUE DISK$LOG1:[LOGFILES]
RED DISK$LOG2:[LOGFILES]

どちらのノードも独自のSYLOGICALS.COMを使用していないものとします。

BLUEのトランザクション・ログの移動先を決定します。この例では, DISK$LOG3:[LOGFILES]に移動します。

ノードBLUEにログインします。次にディスクをクラスタ全体でマウントしてから, トランザクション・ログ用に新しいディレクトリを作成します。

     $ MOUNT/CLUSTER/SYSTEM DUA3: LOG3
     $ CREATE/DIRECTORY DISK$LOG3:[LOGFILES]

BLUEのトランザクション・ログが置かれているディレクトリを探し,トランザクション・ ログの名前を変更します。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> SHOW LOG SYSTEM$BLUE.LM$JOURNAL

     Directory of DISK$LOG1:[LOGFILES]

     SYSTEM$BLUE.LM$JOURNAL;1

     Total of 1 file.
     LMCP> EXIT
     $ RENAME DISK$LOG1:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL -
     _$ DISK$LOG1:[LOGFILES]SYSTEM$BLUE.LM$OLD

DECdtmサービスを使用しているすべてのソフトウェアを終了します。次にトランザクション・ ログを閉じます。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> CLOSE LOG
     Transaction log closed, TP_SERVER process stopped
     LMCP> EXIT

TP_SERVERプロセスを再起動します。

     $ @SYS$STARTUP:DECDTM$STARTUP.COM

SYS$JOURNALを再定義します。

     $ RUN SYS$SYSTEM:SYSMAN
     SYSMAN> SET ENVIRONMENT/CLUSTER
     SYSMAN> DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL -
     _SYSMAN> DISK$LOG2:[LOGFILES], DISK$LOG3:[LOGFILES]
     SYSMAN> EXIT

コマンド・プロシージャSYS$MANAGER:SYLOGICALS.COMのSYS$JOURNALの定義内容を更新します。 その後,トランザクション・ログを移動します。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> CONVERT LOG DISK$LOG1:[LOGFILES]SYSTEM$BLUE.LM$OLD -
     _LMCP> DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL
     Log file DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL;1 created.
     Log file DISK$LOG1:[LOGFILES]SYSTEM$BLUE.LM$OLD converted.
     LMCP> EXIT

DECdtmサービスを使用するソフトウェアを再起動します。次に旧トランザクション・ ログを削除します。

     $ DELETE DISK$LOG1:[LOGFILES]SYSTEM$BLUE.LM$OLD;

25.9 ディスクのディスマウント

ディスクをディスマウントするには,ディスク上のトランザクション・ログをすべて閉じておく必要があります。

ここでは,トランザクション・ログを持っているディスクのディスマウント方法を説明します。

作業方法

  1. LMCPのSHOW LOGコマンドを使用して,ディスマウントしたいディスク上に置かれているトランザクション・ ログを探す。
         $ RUN SYS$SYSTEM:LMCP
         LMCP> SHOW LOG
    

  2. ノードをまったくシャットダウンしないで,DECdtmサービスを使用しているすべてのソフトウェアを終了する。

    ソフトウェアを終了できなければ,ステップ3で1つまたは複数のノードを再ブートする必要がある。

  3. ディスク上の各トランザクション・ログに対して次のステップを実行する。

    1. トランザクション・ログが置かれているノードにログインする。

    2. トランザクション・ログの名前を変更する。

      RENAMEディレクトリ指定SYSTEM$ノード.LM$JOURNAL ディレクトリ指定SYSTEM$ノード.LM$TEMP

      ディレクトリ指定 トランザクション・ ログを格納するディレクトリの完全指定。
      ノード トランザクション・ ログを格納するノードの名前。

    3. DECdtmサービスを使用しているすべてのソフトウェアをステップ2 で終了したか。

      終了済み 次のようにトランザクション・ ログを閉じる。

      手順 作業
      1) LMCPのCLOSE LOGコマンドを使用してトランザクション・ ログを閉じる。
           $ RUN SYS$SYSTEM:LMCP
           LMCP> CLOSE LOG
      


      CLOSE LOGコマンドはトランザクション・ログを閉じてからDECdtm TP_SERVER プロセスを終了する。DECdtmサービスを使用しているソフトウェアが1 つでもあればコマンドは失敗する。
      2) CLOSE LOGコマンドの実行に成功したか。

      成功 TP_SERVERプロセスを再起動する。
           $ @SYS$STARTUP:DECDTM$STARTUP.COM
      
      失敗 30秒間待ってから手順3c を繰り返す。

      未終了 ノードを再ブートしてトランザクション・ログを閉じる。 再ブートされたらノードにログインする。

  4. ディスクをディスマウントする。ディスクのディスマウントに関しては, 第8.9節を参照。

  5. ディスクを再度マウントしたいときは,次のステップを実行する。

    1. ディスクをマウントする。ディスクのマウントに関しては, 第8.5節を参照。

      クラスタの場合は,クラスタ全体でディスクをマウントする。

    2. ディスク上の各トランザクション・ログの名前を変更する。

      RENAMEディレクトリ指定SYSTEM$ノード.LM$TEMP ディレクトリ指定SYSTEM$ノード.LM$JOURNAL

      ディレクトリ指定 トランザクション・ ログを格納するディレクトリの完全指定。
      ノード トランザクション・ ログを格納するノードの名前。

    3. DECdtmサービスを使用するソフトウェアを終了した場合は, そのソフトウェアを再起動する。

次の例は,ディスクDISK$LOG3のディスマウントの方法を説明しています。

ディスク上にあるトランザクション・ログを探す。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> SHOW LOG
        .
        .
        .
     Directory of DISK$LOG3:[LOGFILES]

     SYSTEM$BLUE.LM$JOURNAL;1

DISK$LOG3上に存在するトランザクション・ログは,ノードBLUEのトランザクション・ ログだけである。

DECdtmサービスを使用するすべてのソフトウェアを終了する。

ノードBLUEにログインする。次にトランザクション・ログの名前を変更する。

     $ RENAME DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL -
     _$ DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$TEMP

トランザクション・ログを閉じる。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> CLOSE LOG
     Transaction log closed, TP_SERVER process stopped
     LMCP> EXIT

TP_SERVERプロセスを再起動する。

     $ @SYS$STARTUP:DECDTM$STARTUP.COM

ディスクをディスマウントする。

     $ DISMOUNT/CLUSTER DISK$LOG3:

ディスクを再度マウントしたいときは,クラスタ全体でマウントする。

      MOUNT/CLUSTER/SYSTEM DUA3: LOG3

BLUEのトランザクション・ログの名前を変更する。

     $ RENAME DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$TEMP -
     _$ DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL

DECdtmサービスを使用するソフトウェアを再起動する。

25.10 ノードの追加

OpenVMS Clusterに追加したすべてのノードで,新しいトランザクション・ ログを作成する必要があります。この節では,新規ノードでのトランザクション・ ログの作成方法について説明します。

作業方法

この作業を実行するには,あらかじめ新規ノードをクラスタ内で構成しておく必要があります。 クラスタ内での新規ノードの構成方法については, 『OpenVMS Cluster Systems』を参照してください。

  1. 第25.2節のガイドラインを使用して, 新規ノードのトランザクション・ログのサイズと格納場所を決定する。 ディスクにはログを格納するのに十分な連続領域が存在する必要がある。

  2. トランザクション・ログを作成するディスクが,クラスタ全体でマウントされていることを確認する。

  3. 新規トランザクション・ログを作成するディレクトリを決定する。 必要であれば,トランザクション・ログ専用のディレクトリを作成することもできる。

  4. SYS$JOURNALに新しいノードのトランザクション・ログを格納するディレクトリが定義されていることを確認する。 定義されていない場合は,SYSMAN を使用してSYS$JOURNALをクラスタ全体で再定義する。

    DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNALディレクトリ指定[,...]

    ディレクトリ指定は,トランザクション・ログを格納するディレクトリの完全指定である。 トランザクション・ログを含むすべてのディレクトリ( 新規ノードのトランザクション・ログを作成するディレクトリも含める) を指定する。ディレクトリの指定順序は自由である。

  5. ステップ4でSYS$JOURNALを再定義した場合は,
    SYS$MANAGER:SYLOGICALS.COM コマンド・プロシージャを変更してSYS$JOURNAL 定義を更新する。

    ノード固有のSYLOGICALS.COMを作成した場合は,すべての
    SYLOGICALS.COM を変更する。

  6. LMCPのCREATE LOGコマンドを使用してトランザクション・ログを作成する。

    CREATE LOG [/SIZE=サイズ]ディレクトリ指定SYSTEM$ノード.LM$JOURNAL

    サイズ トランザクション・ ログのサイズを示すブロック数。省略時の設定では4000ブロック。
    ディレクトリ指定 トランザクション・ログを作成するディレクトリの完全指定。
    ノード 新しいノードの名前。

この例は,SCSNODE名がWHITEである新規ノードで,トランザクション・ログを作成する方法を説明したものです。

この例では,クラスタ・メンバおよびそのトランザクション・ログの格納場所は次のとおりです。

ノード ログを格納するディレクトリ
BLUE DISK$LOG3:[LOGFILES]
RED DISK$LOG2:[LOGFILES]

どちらのノードもノード固有のSYLOGICALS.COMは持っていません。

WHITEのトランザクション・ログのサイズと格納場所を決定します。

ノード ログのサイズ(ブロック数) ディスク
WHITE 5000 DUA4

DUA4をクラスタ全体でマウントします。

      MOUNT/CLUSTER/SYSTEM DUA4: LOG4

トランザクション・ログ用のディレクトリを作成します。

     $ CREATE/DIRECTORY DISK$LOG4:[LOGFILES]

SYS$JOURNALを再定義します。

     $ RUN SYS$SYSTEM:SYSMAN
     SYSMAN> SET ENVIRONMENT/CLUSTER
     SYSMAN> DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL -
     _SYSMAN> DISK$LOG2:[LOGFILES], DISK$LOG3[LOGFILES], DISK$LOG4:[LOGFILES]
     SYSMAN> EXIT

SYS$MANAGER:SYLOGICALSコマンド・プロシージャを編集して, SYS$JOURNAL定義を更新します。次にトランザクション・ログを作成します。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> CREATE LOG/SIZE=5000 DISK$LOG4:[LOGFILES]SYSTEM$WHITE.LM$JOURNAL
     LMCP> EXIT

25.11 ノードの削除

この節では,DECdtmサービスを使用している場合にノードを削除する方法について説明します。

作業方法

スタンドアロン・マシンを使用している場合は,ステップ1〜8までだけを実行します。


重要
以下の手順で示すステップのすべてを実行してください。 途中のステップを省略すると,データが壊れることがあります。

  1. 削除したいノードにログインする。

  2. DECdtmサービスを使用しているすべてのソフトウェアを終了する。

  3. LMCPのDUMP/ACTIVEコマンドを使用して,ノードのトランザクション・ ログに実行中のトランザクションが含まれているかどうかを確認する。

    DUMP/ACTIVE SYSTEM$ノード.LM$JOURNAL

    ノードは削除したいノードの名前である。

    このコマンドはすべての実行中のトランザクションの詳細を表示する。 最後の行には実行中のトランザクションの総数が表示される。

  4. トランザクション・ログに実行中のトランザクションが含まれている場合は, 以下のステップを実行する。

    1. DECdtmサービスを使用しているすべてのソフトウェアで復旧プロシージャを実行する。

    2. LMCPのDUMP/ACTIVEコマンドを使用して,ノードのトランザクション・ ログに実行中のトランザクションがまだ含まれているかどうかを確認する。

    3. トランザクション・ログに実行中のトランザクションがまだ含まれている場合は, 弊社のサポート担当者に連絡する。

  5. SYS$JOURNALを再定義し,削除したいノードのトランザクション・ ログを格納しているディレクトリを削除する。ただし,ディレクトリに他のトランザクション・ ログが含まれている場合を除く。

    DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNALディレクトリ指定[,...]

    ここで,ディレクトリ指定 は1つまたは複数のトランザクション・ ログを含むディレクトリの完全指定。削除したいノードのトランザクション・ ログを含むディレクトリだけでなく,トランザクション・ ログを格納するすべてのディレクトリを指定する。ディレクトリの指定順序は自由である。

    クラスタの場合は,SYSMANを使用してSYS$JOURNALをクラスタ全体で再定義する。

  6. ステップ5でSYS$JOURNALを再定義した場合は,コマンド・プロシージャSYS$MANAGER:SYLOGICALS.COM のSYS$JOURNALの定義を更新する。

    独自のSYLOGICALS.COMを使用しているノードがある場合は,そのようなノードのすべてでコマンド・ プロシージャを更新する。

  7. トランザクション・ログを保管する。

  8. ノードをシャットダウンする。

  9. DECdtmサービスを使用するソフトウェアを再起動する。

  10. クラスタを再構成してノードを削除する。

    クラスタの再構成に関しては,『OpenVMS Cluster Systems』を参照。

この例は,ノードBLUEの削除方法を示しています。クラスタ・メンバおよびトランザクション・ ログの格納場所を次のように想定しています。

ノード ログを格納するディレクトリ
BLUE DISK$LOG3:[LOGFILES]
RED DISK$LOG2:[LOGFILES]
WHITE DISK$LOG4:[LOGFILES]

どのノードもノード固有のSYLOGICALS.COMコマンド・プロシージャは持っていません。

ノードBLUEにログインします。

DECdtmサービスを使用しているすべてのソフトウェアを終了します。BLUE のトランザクション・ログに実行中のトランザクションが含まれているかどうかを確認します。

     $ RUN SYS$SYSTEM:LMCP
     LMCP> DUMP/ACTIVE SYSTEM$BLUE.LM$JOURNAL

     Dump of log file DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL
        .
        .
        .
     Total of 0 transactions active, 0 prepared and 0 committed.
     LMCP> EXIT

SYS$JOURNALを再定義します。

     $ RUN SYS$SYSTEM:SYSMAN
     SYSMAN> SET ENVIRONMENT/CLUSTER
     SYSMAN> DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL -
     _SYSMAN> DISK$LOG2:[LOGFILES], DISK$LOG4:[LOGFILES]
     SYSMAN> EXIT

SYS$MANAGER:SYLOGICALS.COMコマンド・プロシージャを編集してSYS$JOURNAL 定義を更新します。

BLUEのトランザクション・ログを保管し,ノードBLUEをシャットダウンします。

     $ @SYS$SYSTEM:SHUTDOWN.COM
        .
        .
        .

     Should an automatic system reboot be performed [NO]? NO

DECdtmサービスを使用するソフトウェアを再起動します。その後,クラスタを再構成します。

     $ @SYS$STARTUP:CLUSTER_CONFIG.COM

            Cluster Configuration Procedure

                 1. ADD a node to a cluster.
                 2. REMOVE a node from the cluster.
                 3. CHANGE a cluster member's characteristics.
                 4. CREATE a duplicate system disk for BLUE.

         Enter choice [1]: 2
        .
        .
        .
      Updating network database...
      The configuration procedure has completed successfully.

25.12 DECdtmサービスの停止

省略時の設定では,システムをブートするとDECdtmサービスが自動的に開始され, トランザクション・ログが1つ見つかるまでDECdtmプロセスTP_SERVER がチェックします。

DECdtmサービスを利用するソフトウェアを現在使用しないか,使用する予定がない場合は,DECdtm サービスを停止します。これでメモリとCPU時間を節約することができます。

OpenVMS Cluster内ではすべてのノードでDECdtmサービスを停止します。

作業方法

  1. 各ノードで以下を実行する。

    1. ノードにログインする。

    2. LMCPのCLOSE LOGコマンドを使用してTP_SERVERプロセスを停止する。
           $ RUN SYS$SYSTEM:LMCP
           LMCP> CLOSE LOG
      

      CLOSE LOGコマンドは,どのソフトウェアもDECdtmサービスを使用していなければ,TP_SERVER プロセスを終了する。

      CLOSE LOGコマンドが実行されなかった場合は作業を中断する。クラスタ・ システム内の別のノードでTP_SERVERプロセスの終了を完了している場合は,SYS$STARTUP:DECDTM$STARTUP.COM コマンド・プロシージャを使用してそのプロセスを再起動する。

  2. 次の行をSYS$MANAGER:SYLOGICALS.COMコマンド・プロシージャに追加する。
         $ !
         $ DEFINE/SYSTEM/EXECUTIVE_MODE SYS$DECDTM_INHIBIT yes
         $ !
    

    固有のSYLOGICALS.COMを使用しているノードがある場合は,そのすべてのプロシージャを変更する。

    これによりTP_SERVERプロセスは,システムの次回のブート時から作成されなくなる。

25.13 DECdtmサービスの開始

ここで示す作業が必要になるのは,DECdtmサービスをいったん停止した後,DECdtm サービスを利用するソフトウェアを実行するようになった場合だけです。

作業方法

  1. 論理名SYS$DECDTM_INHIBITの指定を解除する。
         $ DEASSIGN/SYSTEM/EXECUTIVE_MODE SYS$DECDTM_INHIBIT
    

    OpenVMS Cluster環境では,SYSMANを使用してSYS$DECDTM_INHIBITをクラスタ全体で指定解除する。

  2. DECdtmサービス・プロセスTP_SERVERを起動する。
         $ @SYS$STARTUP:DECDTM$STARTUP.COM
    

    OpenVMS Cluster環境では,SYSMANを使用してTP_SERVERプロセスをクラスタ全体で起動する。

  3. コマンド・プロシージャSYS$MANAGER:SYLOGICALS.COMから, SYS$DECDTM_INHIBITの定義を削除する。これにより,次回のブート時からDECdtm サービスが自動的に起動されるようになる。

この例は,DECdtmサービスをクラスタ環境で開始する方法を説明しています。

SYS$DECDTM_INHIBITの指定を解除してからTP_SERVERプロセスを起動します。

     $ RUN SYS$SYSTEM:SYSMAN
     SYSMAN> SET ENVIRONMENT/CLUSTER
     SYSMAN> DO DEASSIGN/SYSTEM/EXECUTIVE_MODE SYS$DECDTM_INHIBIT
     SYSMAN> DO @SYS$STARTUP.DECDTM$STARTUP.COM
     SYSMAN> EXIT

SYS$MANAGER:SYLOGICALS.COMコマンド・プロシージャを編集してSYS$DECDTM_INHIBIT 定義を削除します。


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