 |
OpenVMS System Manager's Manual
27.8 Moving a Transaction Log
You may want to move a transaction log if:
- You want to place the transaction log on a faster disk
- You want to redistribute the work load on your disks
How to Perform This Task
Caution
Follow all the steps carefully. Taking shortcuts can lead to data
corruption.
|
- Decide the location that you want to move the transaction log to,
using the guidelines in Section 27.2.2. Remember that the disk must
have enough contiguous space to hold the transaction log.
- Log in to the node that the transaction log belongs to.
- If you are in an OpenVMS Cluster, make sure that the disk you want
to move the transaction log to is mounted clusterwide.
- Decide which directory you want to move the transaction log to. You
may want to create a new directory for the transaction log.
- 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.
- 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.
|
- 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.
|
- 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.
- 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.
- 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.
|
- If you stopped the software that uses DECdtm services in step 7,
restart the software.
- 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;
|
27.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
- 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
|
- 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.
- For each transaction log on the disk:
- Log in to the node that the transaction log belongs to.
- 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.
|
- 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.
|
- Dismount the disk. For instructions on how to dismount a disk, see
Section 9.9.
- When you want to mount the disk again, follow these steps:
- Mount the disk. For instructions on how to mount a disk, see
Section 9.5.
If you are in a cluster, mount the disk
clusterwide.
- 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.
|
- 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.
27.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,
refer to OpenVMS Cluster Systems.
- Decide the size and location of the new node's transaction log,
using the guidelines in Section 27.2. Remember that the disk must
have enough contiguous space to hold the log.
- Make sure that the disk on which you want to create the transaction
log is mounted clusterwide.
- Decide which directory you want to create the new transaction log
in. You may want to create a new directory for the transaction log.
- 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.
- 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.
- 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
This example shows how to create a transaction log for a new node,
whose SCSNODE name is WHITE.
In this example, the cluster members and the locations of their
transaction logs are as follows:
Node |
Directory Containing Log |
BLUE
|
DISK$LOG3:[LOGFILES]
|
RED
|
DISK$LOG2:[LOGFILES]
|
Neither node has a node--specific version of SYLOGICALS.COM.
Decide the size and location of WHITE's transaction log:
Node |
Size of Log (in Blocks) |
Disk |
WHITE
|
5000
|
DUA4
|
Mount the disk DUA4 clusterwide:
$ MOUNT/CLUSTER/SYSTEM DUA4: LOG4
|
Create a directory for the transaction log:
$ CREATE/DIRECTORY DISK$LOG4:[LOGFILES]
|
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], DISK$LOG4:[LOGFILES]
SYSMAN> EXIT
|
Edit the SYS$STARTUP:SYLOGICALS command procedure to update the
SYS$JOURNAL definition. Then create the transaction log:
$ RUN SYS$SYSTEM:LMCP
LMCP> CREATE LOG/SIZE=5000 DISK$LOG4:[LOGFILES]SYSTEM$WHITE.LM$JOURNAL
LMCP> EXIT
|
27.11 Removing a Node
This section describes how to remove a node if you are using DECdtm
services.
How to Perform This Task
If you have a standalone machine, perform steps 1 to 8 only.
Caution
Follow all the steps carefully. Taking shortcuts can lead to data
corruption.
|
- Log in to the node that you want to remove.
- Stop all the software that uses DECdtm services.
- Find out whether the node's transaction log contains any active
transactions, using LMCP's DUMP/ACTIVE command:
DUMP/ACTIVE SYSTEM$node.LM$JOURNAL
|
where node is the name of the node that you want to
remove. This command displays details of all the active
transactions. The last line gives the total number of active
transactions.
- If the transaction log contains active transactions, follow these
steps:
- Run recovery procedures for all software that uses DECdtm services.
- Find out if the node's transaction log still contains active
transactions, using LMCP's DUMP/ACTIVE command.
- If the transaction log still contains active transactions, contact
your Compaq support representative.
- Redefine SYS$JOURNAL to exclude the directory that contains the
transaction log of the node you want to remove, unless the directory
contains other transaction logs.
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 any transaction logs other than the transaction log of the node
you are removing. You can list the directories in any order. In a
cluster, use SYSMAN to redefine SYS$JOURNAL clusterwide.
- If you redefined SYS$JOURNAL in step 5, 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.
- Archive the transaction log.
- Shut down the node.
- Restart the software that uses DECdtm services.
- Reconfigure the cluster to remove the node.
For information
about how to reconfigure a cluster, refer to OpenVMS Cluster Systems.
Example
This example shows how to remove the node BLUE. In this example, the
cluster members and the locations of their transaction logs are as
follows:
Node |
Directory Containing Log |
BLUE
|
DISK$LOG3:[LOGFILES]
|
RED
|
DISK$LOG2:[LOGFILES]
|
WHITE
|
DISK$LOG4:[LOGFILES]
|
None of the nodes has a node--specific version of the SYLOGICALS.COM
command procedure.
Log in to node BLUE.
Stop all the software that uses DECdtm services. Then find out if
BLUE's transaction log contains any active transactions:
$ 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
|
Redefine 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
|
Edit the SYS$MANAGER:SYLOGICALS.COM command procedure to update the
SYS$JOURNAL definition.
Archive BLUE's transaction log. Then shut down node BLUE:
$ @SYS$SYSTEM:SHUTDOWN.COM
.
.
.
Should an automatic system reboot be performed [NO]? NO
|
Restart the software that uses DECdtm services. Then reconfigure the
cluster:
$ @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.
|
|