Document revision date: 19 July 1999
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

OpenVMS System Manager's Manual


Previous Contents Index

24.6.4 Enabling Outgoing LAT Connections

By default, outgoing LAT connections are disabled on a node. To allow users to use the SET HOST/LAT connection to establish LAT connections from the node, you must edit LAT$SYSTARTUP.COM to enable outgoing connections. For more details on using the SET HOST/LAT command for outgoing LAT connections, refer to the description of that command in the OpenVMS DCL Dictionary.

Commands to enable outgoing connections are included in the LAT$SYSTARTUP.COM file provided by Compaq. Enable the command of your choice by removing the exclamation point (!) that precedes it, or add a similar command to meet your needs. For more information, refer to the /CONNECTIONS and /USER_GROUPS qualifiers to the LATCP command SET NODE in the OpenVMS System Management Utilities Reference Manual.

To attain optimal SET HOST/LAT performance and forward port performance, you should set the system parameter TTY_ALTYPAHD to 1500 and reboot.

If you want to set up your node only as a service node with incoming connections enabled, editing LAT$SYSTARTUP.COM is not necessary. However, you might edit LAT$SYSTARTUP.COM to do one or more of the following tasks:

24.6.5 Sample Edited LAT$SYSTARTUP.COM Procedure

The following example is a sample of an edited LAT$SYSTARTUP.COM procedure that creates services, creates and sets ports, and sets nodes to allow incoming and outgoing connections.


$! 
$!    LAT$SYSTARTUP.COM -- LAT Startup Commands Specific to Site 
$! 
$!    Use this command procedure to customize the LAT characteristics for 
$!    the local node.  These commands, which should serve as examples, 
$!    will set up a LAT service name SYS$NODE and default identification 
$!    SYS$ANNOUNCE.  The LAT service name and identification will default 
$!    to SYS$NODE and SYS$ANNOUNCE unless you specify a service name and 
$!    identification as arguments to the command line that invokes 
$!    LAT$STARTUP.COM: 
$!                    $ @SYS$STARTUP:LAT$STARTUP 
$! 
$!    You can specify other node and service characteristics (such as group 
$!    codes) as arguments to this command line, as shown below. 
$! 
$!        Argument     Function 
$!        ---------    -------- 
$! 
$!           P1        Name of the service to be created.  If not supplied, a 
$!                     service will be created with the same name as the node. 
$! 
$!        P2,P3,P4     Parameters and qualifiers to the SET NODE command. 
$! 
$!           P5        Parameters and qualifiers to the SET SERVICE command. 
$!                     P5 is only used if P1 is specified.  More than one 
$!                     argument may be supplied by enclosing the string in 
$!                     quotes. 
$! 
$!    Example: $ @SYS$STARTUP:LAT$STARTUP HAWK "/IDENTIFICATION=" - 
$!   """""Development node""""" 
$! 
$!    Please review and edit this file for possible additions and deletions 
$!    that you wish to make.  Future software updates will not overwrite the 
$!    changes made to this file. 
$! 
$ required_privileges = "OPER" 
$ prev_privs = f$setprv(required_privileges) 
$ if .not. f$privilege(required_privileges) then goto no_privileges 
$ lcp := $latcp 
$! 
$! ---------------------  Modify Node Characteristics  ------------------------ 
$! 
$ lcp set node 'p2' 'p3' 'p4' 
$! 
$! Some examples: 
$! 
$! ** Allow incoming connections only 
$! 
$! lcp set node /connections=incoming /groups=(enable=(12,40,43,73),disable=0) 
$! lcp set node /connections=incoming /groups=enable=(0-255) 
$! 
$ LCP SET NODE /CONNECTIONS=INCOMING /GROUPS=(ENABLE=(12,40,43,73),DISABLE=0) 
$! 
$! ** Allow outgoing connections only 
$! 
$! lcp set node /connections=outgoing /user_groups=enable=(24,121-127) 
$! lcp set node /connections=outgoing /user_groups=(enable=0-255) /node_limit=50 
$! 
$! ** Enable incoming and outgoing connections 
$! 
$! lcp set node /connections=both /group=enable=(43,73) /user=enable=(44,56) 
$! lcp set node /connections=both /group=enable=(0-255) /user=enable=(0-255) 
$! 
$! 
$! --------------------  Modify Service Characteristics  ---------------------- 
$! 
$ if p1 .eqs. "" 
$ then 
$    lcp create service 
$ else 
$     lcp create service 'p1' 'p5' 
$ endif 
$! -------------------------  Start LAT Protocol  ----------------------------- 
$! 
$ lcp set node /state=on 
$! 
$! 
$! -------------------------  Create and Map Ports  --------------------------- 
$! 
$! Some examples: 
$! 
$! lcp create port lta101: /dedicated 
$! lcp create port lta102: /application 
$! lcp create port lta103: /application 
$! lcp create port /nolog/logical=(name=ln03$mgmt, table=system, mode=executive) 
$ 
$ LCP CREATE PORT LTA1: /NOLOG 
$ LCP CREATE PORT LTA20: /NOLOG 
$ 
$! lcp set port lta101: /dedicated /service=graphics 
$! lcp set port lta102: /node=server_1 /port=port_1 
$! lcp set port lta103: /node=server_2 /service=laser 
$! lcp set port ln03$mgmt: /node=server_3 /service=ln03_printers 
$! 
$ LCP SET PORT LTA1: /APPLICATION/NODE=TERM_SERVER_1 /PORT=PORT_6 
$ LCP SET PORT LTA20: /APPLICATION/NODE=TERM_SERVER_2 /PORT=PORT_6 
$! 
$exit: 
$ prev_privs = f$setprv(prev_privs) 
$ exit 
$! 
$no_privileges: 
$ write sys$output "Insufficient privileges to execute LATCP commands." 
$ write sys$output "Requires ",required_privileges," privileges." 
$ goto exit 

24.7 Managing the LATACP Database Size

On OpenVMS nodes, another component of the LAT software, the LAT Ancillary Control Process (LATACP), maintains the database of available nodes and services. The nodes and services can be those that are multicast from remote LAT nodes, or they can consist of the local node and one or more local services that you create on your own system. The maximum size of this database is dependent on the value of the system parameter CTLPAGES.

After you enter a LATCP command, you might get the following response:


%LAT-W-CMDERROR, error reported by command executor 
-LAT-F-ACPNOCTL, insufficient resources - ACP CTL/P1 space limit reached 

If so, this signifies that the database size has reached the CTLPAGES limit. You can correct the situation in one of three ways:


Chapter 25
Managing DECdtm Services

This chapter describes what you must do if you want to run software that uses DECdtm services, such as ACMS, DECintact, Oracle Rdb, and RMS Journaling.

Information Provided in This Chapter

This chapter describes the following tasks:
Task Section
Planning transaction logs Section 25.2
Planning for a DECnet-Plus network Section 25.3
Creating transaction logs Section 25.4
Monitoring transaction performance Section 25.5
Checking whether a transaction log is too small Section 25.6
Changing the size of a transaction log Section 25.7
Moving a transaction log Section 25.8
Dismounting a disk Section 25.9
Adding a node Section 25.10
Removing a node Section 25.11
Disabling DECdtm services Section 25.12
Enabling DECdtm services Section 25.13

The map in Figure 25-1 shows the tasks, and the order in which to do them.

This chapter explains the following concepts:
Concept Section
Understanding transaction logs Section 25.1
Understanding transaction groups Section 25.3.2.2

Figure 25-1 Managing DECdtm Services


25.1 Understanding Transaction Logs

A transaction log is a file that stores information about DECdtm transactions performed on a node. It is of file type .LM$JOURNAL.

Before a node can execute DECdtm transactions, you must create a transaction log for the node. In an OpenVMS Cluster, create a transaction log for each node in the cluster. Use the Log Manager Control Program (LMCP) utility to create and manage transaction logs.

DECdtm services use the logical name SYS$JOURNAL to find transaction logs. You must define SYS$JOURNAL to point to the directories that contain transaction logs.

25.2 Planning Transaction Logs

The size and location of a transaction log can affect transaction performance. Before you create a transaction log, decide the size and location of the transaction log.

Later, you can change the size of a transaction log, or move it. However, careful planning at this stage reduces the need for future changes.

This section describes:
Task Section
Deciding the size of a transaction log Section 25.2.1
Deciding the location of a transaction log Section 25.2.2

25.2.1 Deciding the Size of a Transaction Log

When you create a transaction log, you can specify its size. The default size is 4000 blocks; this gives acceptable performance on most systems.

If you know the expected rate of transactions, Compaq suggests the following formula to calculate the transaction log size:
size = 40 * rate
where:
size is the size of the transaction log in blocks.
rate is the average number of transactions executed per second.

If you do not know the rate of transactions, accept the default size of 4000 blocks.

25.2.2 Deciding the Location of a Transaction Log

If possible, choose a disk that is:
Fast Achieve speed by using a high--performance disk, such as a solid--state disk, that is not heavily used.
Highly available Achieve high availability by having multiple access paths to the data.

In an OpenVMS Cluster, use a disk that can be accessed by the other nodes in the cluster. This ensures that if one node fails, transactions running on other nodes are not blocked.

Reliable Achieve reliability by keeping multiple copies of the data.

Using a shadowed disk is more reliable than using a nonshadowed disk, but may be slower because transaction logs are almost exclusively write--only.

You may need to choose between speed and either availability or reliability. For example, if the node is a workstation, you may choose to sacrifice speed for availability and reliability by putting the node's transaction log on a shadowed HSC--based disk, instead of on a faster disk attached to the workstation.

In a cluster environment, try to distribute the transaction logs across different disks. Having more than one transaction log on a disk can lead to poor transaction performance.

Note

Make sure that the disk has enough contiguous space to hold the transaction log. A discontiguous transaction log leads to poor transaction performance.

25.3 Planning for a DECnet-Plus Network

This section contains the following information to help you plan for using DECdtm in a DECnet-Plus network:

25.3.1 Planning Your DECnet-Plus Namespace

DECdtm does not support multiple DECnet-Plus namespaces.

This means that if you want to use software that uses DECdtm services, you cannot use both a local namespace and a DECdns namespace.

25.3.2 Planning SCSNODE Names in Your DECnet-Plus Network

SCSNODE is a system parameter that defines the name of the computer. You must follow certain rules when choosing SCSNODE names if you have a DECnet-Plus network and you want to perform DECdtm transactions that span either different OpenVMS Clusters or different standalone computers.

25.3.2.1 Rules for SCSNODE Names

If you have a DECnet-Plus network and want to perform DECdtm transactions that span different OpenVMS Clusters or different standalone computers, you must make sure that your SCSNODE names obey the following rules:

25.3.2.2 Understanding Transaction Groups

A transaction group is a group of computers involved in DECdtm transactions whose SCSNODE names must obey the rules described in Section 25.3.2.1.

A transaction group conforms to the following guidelines:

Figure 25-2 shows an example of a transaction group.

Figure 25-2 Transaction Group


All nine computers shown in the figure are in the same transaction group because:

25.4 Creating Transaction Logs

Before a node can perform DECdtm transactions, you must create a transaction log for the node. In an OpenVMS Cluster environment, create a transaction log for each node.

Caution

Removing a node from a cluster after you have created the transaction logs can lead to data corruption. For instructions on how to remove a node safely, see Section 25.11.

How to Perform This Task

  1. For each node, decide the size and location of the transaction log, using the guidelines in Section 25.2. Remember that the disks must have enough contiguous space to hold the transaction logs.
  2. If you are in a cluster environment, make sure that the disks on which you want to create the transaction logs are mounted clusterwide.
  3. Decide in which directories you want to create the transaction logs. You may want to create new directories for the transaction logs.
  4. Define SYS$JOURNAL to point to the directories in which you want to create the transaction logs:

    DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL dirspec[,...]
    

    where dirspec is the full specification of a directory in which you want to create one or more transaction logs. List all the directories that will contain transaction logs. You can list the directories in any order.
    In a cluster environment, use SYSMAN to define SYS$JOURNAL clusterwide.

  5. Edit the SYS$MANAGER:SYLOGICALS.COM command procedure to include the SYS$JOURNAL definition.
    If you created node-specific versions of SYLOGICALS.COM, edit all the versions.
  6. Create one transaction log for each node, 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 node.

  7. Make sure DECdtm services are enabled as follows:
    Step Action
    a. Check whether the logical SYS$DECDTM_INHIBIT is defined:
     $ SHOW LOGICAL SYS$DECDTM_INHIBIT
    
    b. Is SYS$DECDTM_INHIBIT defined?
    Yes DECdtm services are disabled. Enable DECdtm services by following the instructions in Section 25.13.
    No DECdtm services are enabled.

Example

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.


Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
6017PRO_099.HTML