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.
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
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. |
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.
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
$ RUN SYS$SYSTEM:LMCP LMCP> SHOW LOG/CURRENT
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.
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.
SHOW LOG SYSTEM$node.LM$JOURNAL
RENAME dirspecSYSTEM$node.LM$JOURNAL dirspecSYSTEM$node.LM$OLDwhere:
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. |
Yes |
Close the transaction log as follows:
|
||||||||||||
No | Close the transaction log by rebooting the node. Log in to the node when it has rebooted. |
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. |
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;
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.
SHOW LOG SYSTEM$node.LM$JOURNAL
RENAME dirspecSYSTEM$node.LM$JOURNAL dirspecSYSTEM$node.LM$OLDwhere:
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. |
Yes |
Close the transaction log as follows:
|
||||||||||||
No | Close the transaction log by rebooting the node. Log in to the node when it has rebooted. |
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.
CONVERT LOG old-dirspecSYSTEM$node.LM$OLD new-dirspecSYSTEM$node.LM$JOURNALwhere:
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. |
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;
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
$ RUN SYS$SYSTEM:LMCP LMCP> SHOW LOG
RENAME dirspecSYSTEM$node.LM$JOURNAL dirspecSYSTEM$node.LM$TEMP
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. |
Yes |
Close the transaction log as follows:
|
||||||||||
No | Close the transaction log by rebooting the node. When the node has rebooted, log in. |
RENAME dirspecSYSTEM$node.LM$TEMP dirspecSYSTEM$node.LM$JOURNAL
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. |
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.
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.
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.
CREATE LOG [/SIZE=size] dirspecSYSTEM$node.LM$JOURNALwhere:
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. |
6017P073.HTM OSSG Documentation 22-NOV-1996 14:23:04.80
Copyright © Digital Equipment Corporation 1996. All Rights Reserved.