[Digital logo]
[HR]

OpenVMS System Manager's Manual


Previous | Contents

This example shows how to create transaction logs in an OpenVMS Cluster that consists of two nodes whose SCSNODE names are BLUE and RED. Neither node has a node-specific version of SYLOGICALS.COM.

Decide the size and location of the transaction logs:
Node Size of Log (in Blocks) Disk
BLUE 5000 DUA1
RED 4000 DUA2

Mount the disks clusterwide:

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

Create directories for the transaction logs:

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

Define 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

Edit the SYS$MANAGER:SYLOGICALS.COM command procedure to include the following line:

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

Create the transaction logs:

$ 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

Make sure DECdtm services are enabled:

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

SYS$DECDTM_INHIBIT is undefined, so DECdtm services are enabled.

25.5 Monitoring Transaction Performance

Changes to your system, such as increase in work load, can affect transaction performance. Once a month, monitor transactions on the node to make sure that transaction performance has not deteriorated. In an OpenVMS Cluster environment, monitor transaction performance on all the nodes in the cluster.

How to Perform This Task

  1. Monitor transactions, using the MONITOR TRANSACTION command:
    MONITOR TRANSACTION/SUMMARY[=file-spec]/ENDING=time/NODE=(nodename,...) 
    
    where:
    file-spec is the file specification of the summary file. Information about transactions is summarized and recorded in the summary file. If you omit the file specification, the information is recorded in MONITOR.SUM in your default directory.
    time is the time that the monitoring session ends.
    nodename is the name of a node. In an OpenVMS Cluster, list all the nodes in the cluster.

    For the best results, monitor transactions for a day at a time.
    You can monitor transactions in batch mode by including the MONITOR TRANSACTION command in a command procedure.
    For a full description of the MONITOR TRANSACTION command, see the OpenVMS System Management Utilities Reference Manual.
  2. Examine the summary file.
    The summary file contains values for a number of different data items. Note the following values for each node:
    Keep a note of these values.
  3. Compare the results from this monitoring session with the results from previous sessions.
    For the same work load, the rate and duration of transactions should remain about the same. Indications of performance deterioration are:
    Note any trends over a number of monitoring sessions. Variations from one monitoring session to the next are probably due to variations in work load.
    If you suspect that transaction performance has deteriorated on any node, check whether its transaction log is too small (see Section 25.6).
    If the transaction log is big enough, but transaction performance still deteriorates, tuning the system might be necessary. See the OpenVMS Performance Management for information on tuning your system.

    Example

    This example shows how to monitor transaction performance on an OpenVMS Cluster that consists of two nodes whose SCSNODE names are BLUE and RED.

    Monitor transactions on nodes BLUE and RED for one day:

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

    Examine the summary file:

                       DISTRIBUTED TRANSACTION STATISTICS 
                                 on node BLUE         From: 16-DEC-1996 14:23:51 
                                    SUMMARY           To:   17-DEC-1996 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-DEC-1996 14:23:52 
                                    SUMMARY           To:   17-DEC-1996 14:23:52 
     
       .
       .
       .
     
    

    Make a note of the following values:

    Compare the results from this monitoring session to those of previous sessions:
    Session End Rate Completion Rates
    0--1 Secs 1--2 Secs 2--3 Secs
    June 42.13 12.98 28.13 1.02
    July 38.16 10.35 25.80 2.01
    August 43.19 13.57 29.15 0.47

    The results for node BLUE show no signs of deteriorating performance.

    25.6 Checking Whether a Transaction Log Is Too Small

    If transaction performance has deteriorated on a node, check whether its transaction log is too small.

    Section 25.5 describes how to find out whether transaction performance has deteriorated.

    How to Perform This Task

    1. Log in to the node that the transaction log belongs to.
    2. Check how many times the transaction log has stalled, using LMCP's SHOW LOG/CURRENT command:
      $ RUN SYS$SYSTEM:LMCP
      LMCP> SHOW LOG/CURRENT
      

      Note the number of checkpoints and stalls displayed by this command.
    3. Wait for five minutes, then repeat the SHOW LOG/CURRENT command. Note the number of checkpoints and stalls again.
    4. Compare the information from the SHOW LOG/CURRENT commands:
      If the number of checkpoints has not changed, wait until the system is busier, then try this task again.
      If the number of checkpoints has increased, and the number of stalls has increased by more than one, the transaction log is too small.
    5. If the transaction log is too small, increase its size. For information on how to change the size of a transaction log, see Section 25.7.

    Example

    This example shows how to check whether node BLUE's transaction log is too small.

    Log in to node BLUE. Then check how many times the transaction log has stalled:

    $ 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.
    

    The number of checkpoints is 2464, and the transaction log has stalled 21 times.

    Wait for five minutes, then repeat the SHOW LOG/CURRENT command:

    LMCP> SHOW LOG/CURRENT
    Checkpoint starts/ends            2514/2514 
    Stall starts/ends                   28/28 
    Log status: no checkpoint in progress, no stall in progress.
    

    The number of checkpoints has increased since the previous reading, and the transaction log has now stalled 28 times, an increase of 7. This means that the transaction log is too small.

    25.7 Changing the Size of a Transaction Log

    To determine if changing the size of a transaction log is necessary, see Section 25.6.

    How to Perform This Task


    Caution

    Follow all the steps carefully. Taking shortcuts can lead to data corruption.

    1. Log in to the node that the transaction log belongs to.
    2. Find out which directory the transaction log is in, using LMCP's SHOW LOG command:
      SHOW LOG SYSTEM$node.LM$JOURNAL 
      

      where node is the name of the node that the transaction log belongs to.
    3. Rename the transaction log:
      RENAME dirspecSYSTEM$node.LM$JOURNAL dirspecSYSTEM$node.LM$OLD
      
      where:
      dirspec is the full specification of the directory containing the transaction log.
      node is the name of the node that the transaction log belongs to.
    4. Can you stop all the software that uses DECdtm services without shutting down any nodes?
      Yes Close the transaction log as follows:
      Step Action
      a. Stop all the software that uses DECdtm services.
      b. Close the transaction log using LMCP's CLOSE LOG command:
      $ RUN SYS$SYSTEM:LMCP
                  
      LMCP> CLOSE LOG


      The CLOSE LOG command closes the transaction log and stops the DECdtm TP_SERVER process. The command fails if any software is using DECdtm services.
      c. Did the CLOSE LOG command succeed?
      Yes Restart the TP_SERVER process:
      $ @SYS$STARTUP:DECDTM$STARTUP.COM
                    
      No Wait for 30 seconds, then repeat steps 4b and 4c.
      No Close the transaction log by rebooting the node. Log in to the node when it has rebooted.
    5. Change the size of the transaction log, using LMCP's CONVERT LOG command:
      CONVERT LOG/SIZE=size dirspecSYSTEM$node.LM$OLD dirspecSYSTEM$node.LM$JOURNAL 
      

      where:
      size is the new size of the transaction log in blocks.
      dirspec is the full specification of the directory containing the transaction log.
      node is the name of the node that the transaction log belongs to.

    6. If you stopped the software that uses DECdtm services in step 4, restart the software.
    7. Delete the old transaction log:
      DELETE dirspecSYSTEM$node.LM$OLD; 
      
      where:
      dirspec is the full specification of the directory containing the old transaction log.
      node is the name of the node that the transaction log belongs to.

    Example

    This example shows how to change the size of node RED's transaction log to 6000 blocks. Node RED is in an OpenVMS Cluster, and its transaction log is in DISK$LOG2:[LOGFILES].

    Log in to node RED. Find out which directory RED's transaction log is in, then rename the transaction log:

    $ 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
    

    Stop all software that uses DECdtm services. Then close the transaction log:

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

    Restart the TP_SERVER process:

    $ @ SYS$STARTUP:DECDTM$STARTUP.COM
    

    Change the size of the transaction log:

    $ 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
    

    Restart the software that uses DECdtm services.

    Delete the old transaction log:

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

    25.8 Moving a Transaction Log

    You may want to move a transaction log if:

    How to Perform This Task


    Caution

    Follow all the steps carefully. Taking shortcuts can lead to data corruption.

    1. Decide the location that you want to move the transaction log to, using the guidelines in Section 25.2.2. Remember that the disk must have enough contiguous space to hold the transaction log.
    2. Log in to the node that the transaction log belongs to.
    3. If you are in an OpenVMS Cluster, make sure that the disk you want to move the transaction log to is mounted clusterwide.
    4. Decide which directory you want to move the transaction log to. You may want to create a new directory for the transaction log.
    5. Find out which directory the transaction log is in, using LMCP's SHOW LOG command:
      SHOW LOG SYSTEM$node.LM$JOURNAL 
      

      where node is the name of the node that the transaction log belongs to.
    6. Rename the transaction log:
      RENAME dirspecSYSTEM$node.LM$JOURNAL dirspecSYSTEM$node.LM$OLD 
      
      where:
      dirspec is the full specification of the directory containing the transaction log.
      node is the name of the node that the transaction log belongs to.
    7. Can you stop all the software that uses DECdtm services without shutting down any nodes?
      Yes Close the transaction log as follows:
      Step Action
      a. Stop all the software that uses DECdtm services.
      b. Close the transaction log using LMCP's CLOSE LOG command:
      $ RUN SYS$SYSTEM:LMCP
                  
      LMCP> CLOSE LOG


      The CLOSE LOG command closes the transaction log and stops the DECdtm TP_SERVER process. The command fails if any software is using DECdtm services.
      c. Did the CLOSE LOG command succeed?
      Yes Restart the TP_SERVER process:
      $ @SYS$STARTUP:DECDTM$STARTUP.COM
                    
      No Wait for 30 seconds, then repeat steps 7b and 7c.
      No Close the transaction log by rebooting the node. Log in to the node when it has rebooted.
    8. Make sure that SYS$JOURNAL points to the directory that you want to move the log to. If SYS$JOURNAL does not point to this directory, redefine SYS$JOURNAL:
      DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL dirspec[,...] 
      
      where dirspec is the full specification of a directory containing one or more transaction logs. List all the directories that will contain transaction logs after you have moved the transaction log. You can list the directories in any order.
      In an OpenVMS Cluster, use SYSMAN to redefine SYS$JOURNAL clusterwide.
    9. If you redefined SYS$JOURNAL in step 8, edit the SYS$MANAGER:SYLOGICALS.COM command procedure to update the definition of SYS$JOURNAL.
      If you created node-specific versions of SYLOGICALS.COM, edit all the versions.
    10. Move the transaction log, using LMCP's CONVERT LOG command:
      CONVERT LOG old-dirspecSYSTEM$node.LM$OLD new-dirspecSYSTEM$node.LM$JOURNAL 
      
      where:
      old-dirspec is the full specification of the directory that currently contains the transaction log.
      node is the name of the node that the transaction log belongs to.
      new-dirspec is the full specification of the directory that you are moving the transaction log to.
    11. If you stopped the software that uses DECdtm services in step 7, restart the software.
    12. Delete the old transaction log:
      DELETE dirspecSYSTEM$node.LM$OLD; 
      
      where:
      dirspec is the full specification of the directory containing the old transaction log.
      node is the name of the node that the transaction log belongs to.

    Example

    This example shows how to move BLUE's transaction log. BLUE is in an OpenVMS Cluster. The cluster members and the locations of their transaction logs are as follows:
    Node Directory Containing Log
    BLUE DISK$LOG1:[LOGFILES]
    RED DISK$LOG2:[LOGFILES]

    Neither node has a node--specific version of SYLOGICALS.COM.

    Decide where you want to move BLUE's transaction log to. In this example, assume that you want to move it to DISK$LOG3:[LOGFILES].

    Log in to node BLUE. Then mount the disk clusterwide, and create a new directory for the transaction log:

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

    Find out which directory BLUE's transaction log is in, then rename the transaction log:

    $ 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
    

    Stop all software that uses DECdtm services. Then close the transaction log:

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

    Restart the TP_SERVER process:

    $ @SYS$STARTUP:DECDTM$STARTUP.COM
    

    Redefine 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
    

    Edit the SYS$MANAGER:SYLOGICALS.COM command procedure to update the SYS$JOURNAL definition. Then move the transaction log:

    $ 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
    

    Restart the software that uses DECdtm services. Then delete the old transaction log:

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

    25.9 Dismounting a Disk

    Before you can dismount a disk, you must close any transaction logs on the disk.

    This section describes how to dismount a disk that has transaction logs.

    How to Perform This Task

    1. Find out which transaction logs are on the disk you want to dismount, using LMCP's SHOW LOG command:
      $ RUN SYS$SYSTEM:LMCP
      LMCP> SHOW LOG
      
    2. Stop all the software that uses DECdtm services, if you can do so without shutting down any nodes.
      If you cannot stop the software, reboot one or more nodes in step 3.
    3. For each transaction log on the disk:
      1. Log in to the node that the transaction log belongs to.
      2. Rename the transaction log:
        RENAME dirspecSYSTEM$node.LM$JOURNAL dirspecSYSTEM$node.LM$TEMP
        

        where:
        dirspec is the full specification of the directory containing the transaction log.
        node is the name of the node that the transaction log belongs to.
      3. Did you stop all the software that uses DECdtm services in step 2?
        Yes Close the transaction log as follows:
        Step Action
        1) Close the transaction log using LMCP's CLOSE LOG command:
        $ RUN SYS$SYSTEM:LMCP
                    
        LMCP> CLOSE LOG


        The CLOSE LOG command closes the transaction log, and stops the DECdtm TP_SERVER process. The command fails if any software is using DECdtm services.
        2) Did the CLOSE LOG command succeed?
        Yes Restart the TP_SERVER process:
        $ @SYS$STARTUP:DECDTM$STARTUP.COM
                      
        No Wait for 30 seconds, then repeat step 3c.
        No Close the transaction log by rebooting the node. When the node has rebooted, log in.
    4. Dismount the disk. For instructions on how to dismount a disk, see Section 8.9.
    5. When you want to mount the disk again, follow these steps:
      1. Mount the disk. For instructions on how to mount a disk, see Section 8.5.
        If you are in a cluster, mount the disk clusterwide.
      2. Rename each transaction log on the disk:
        RENAME dirspecSYSTEM$node.LM$TEMP dirspecSYSTEM$node.LM$JOURNAL
        

        where:
        dirspec is the full specification of the directory containing the transaction log.
        node is the name of the node that the transaction log belongs to.
      3. If you stopped the software that uses DECdtm services, restart the software.

    Example

    This example shows how to dismount the disk DISK$LOG3.

    Find out which transaction logs are on the disk:

    $ RUN SYS$SYSTEM:LMCP
    LMCP> SHOW LOG
    .
        .
        .
    Directory of DISK$LOG3:[LOGFILES] 
     
    SYSTEM$BLUE.LM$JOURNAL;1
    

    The only transaction log on DISK$LOG3 is node BLUE's transaction log.

    Stop all the software that uses DECdtm services.

    Log in to node BLUE. Then rename the transaction log:

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

    Close the transaction log:

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

    Restart the TP_SERVER process:

    $ @SYS$STARTUP:DECDTM$STARTUP.COM
    

    Dismount the disk:

    $ DISMOUNT/CLUSTER DISK$LOG3:
    

    When you want to mount the disk again, mount it clusterwide:

    $ MOUNT/CLUSTER/SYSTEM DUA3: LOG3
    

    Rename BLUE's transaction log:

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

    Restart the software that uses DECdtm services.

    25.10 Adding a Node

    For every node you add to an OpenVMS Cluster, you must create a new transaction log. This section describes how to create a transaction log for a new node.

    How to Perform This Task

    Before you perform this task, the new node must be configured into the cluster. For instructions on how to configure a node into a cluster, see OpenVMS Cluster Systems.

    1. Decide the size and location of the new node's transaction log, using the guidelines in Section 25.2. Remember that the disk must have enough contiguous space to hold the log.
    2. Make sure that the disk on which you want to create the transaction log is mounted clusterwide.
    3. Decide which directory you want to create the new transaction log in. You may want to create a new directory for the transaction log.
    4. Make sure that SYS$JOURNAL points to the directory in which you want to create the new node's transaction log. If SYS$JOURNAL does not point to this directory, use SYSMAN to redefine SYS$JOURNAL clusterwide:
      DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL dirspec[,...] 
      
      where dirspec is the full specification of a directory containing one or more transaction logs. List all the directories that contain transaction logs, including the directory in which you want to create the new node's transaction log. You can list the directories in any order.
    5. If you redefined SYS$JOURNAL in step 4, edit the SYS$MANAGER:SYLOGICALS.COM command procedure to update the SYS$JOURNAL definition.
      If you created node-specific versions of SYLOGICALS.COM, edit all the versions.
    6. Create the transaction log, using LMCP's CREATE LOG command:
      CREATE LOG [/SIZE=size] dirspecSYSTEM$node.LM$JOURNAL 
      
      where:
      size is the size of the transaction log in blocks. By default, the size of the transaction log is 4000 blocks.
      dirspec is the full specification of the directory in which you want to create the transaction log.
      node is the name of the new node.

    Example


    Previous | Next | Contents | [Home] | [Comments] | [Ordering info] | [Help]

    [HR]

      6017P073.HTM
      OSSG Documentation
      22-NOV-1996 14:23:04.80
    

    Copyright © Digital Equipment Corporation 1996. All Rights Reserved.

    Legal