This section provides information about installing Adabas Cluster Services in the operating system environment.
The installation procedure must be repeated for each operating system image (that is, LPAR) that will participate in the system.
Important: Before proceeding with the installation, ensure that the prerequisite environment has been established. Review the earlier sections of this documentation for detailed information.
The procedure corresponds to the jobs that SMA creates to install the product. If you do not use SMA, you can modify and use the sample JCL described in Unload the Installation Libraries to Disk to unload the libraries from the installation tape.
This document covers the following topics:
Sample JCL is provided in the base Adabas source library and in the Entire Net-Work source library. This JCL can be modified and used to unload the Adabas Cluster Services libraries and, optionally, the Entire Net-Work libraries from the installation tape.
The Adabas Cluster Services installation tape is a standard label tape. Refer to the Report of Tape Creation that accompanies the tape for the volume serial number, density, media type, dataset names, and dataset sequence numbers.
The tape contains the installation datasets, a dataset required by SMA, and one or more datasets containing maintenance fixes. Refer to the Release Notes for information about recommended fixes.
The ALS load library for Adabas Cluster Services requires one cylinder.
If you need to install them, the minimum 3390 disk space requirements for the Adabas limited (WAL) load library is one cylinder; the WAL source library requires two cylinders.
The WDX limited load library for Entire Net-Work requires four cylinders; the WCP source library for Entire Net-Work requires four cylinders.
To copy the Adabas Cluster Services datasets and (optionally) the limited Entire Net-Work libraries from the installation tape, use JCL similar to the following:
//COPY JOB . . . . //* //* Adabas Cluster Services Load Library //* //CPY1 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //DDIN DD DSN=ALSvrs.LOAD,DISP=OLD,UNIT=cart, // VOL=(,RETAIN,SER=volser),LABEL=n //DDOUT DD DSN=ADAALS.Vvrs.LOAD,DISP=(NEW,CATLG,DELETE), // UNIT=xxxxx,VOL=SER=vvvvvv,SPACE=(CYL,(cc,,bl)) //SYSIN DD * COPY INDD=DDIN,OUTDD=DDOUT /* //* //* Entire Net-Work Limited Load Library //* //CPY2 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //DDIN DD DSN=WDXvrs.LOAD,DISP=OLD,UNIT=cart, // VOL=(,RETAIN,SER=volser),LABEL=n //DDOUT DD DSN=WDXALS.Vvrs.LOAD,DISP=(NEW,CATLG,DELETE), // UNIT=xxxxx,VOL=SER=vvvvvv,SPACE=(CYL,(cc,,bl)) //SYSIN DD * COPY INDD=DDIN,OUTDD=DDOUT /* //* //* Entire Net-Work Samples //* //CPY3 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //DDIN DD DSN=WCPvrs.SRCE,DISP=OLD,UNIT=cart, // VOL=(,RETAIN,SER=volser),LABEL=n //DDOUT DD DSN=WCPALS.Vvrs.SRCE,DISP=(NEW,CATLG,DELETE), // UNIT=xxxxx,VOL=SER=vvvvvv,SPACE=(CYL,(cc,,bl)) //SYSIN DD * COPY INDD=DDIN,OUTDD=DDOUT /*
where
bl | number of directory blocks for this library |
cart | tape device type |
cc | number of cylinders for this library |
vrs | product version, revision, and system maintenance (SM) level |
volser | volume serial number for the installation tape |
n | position of the dataset on the installation tape |
ALS | product code for Adabas Cluster Services |
WCP | product code for the Entire Net-Work source library |
WDX | product code for Entire Net-Work limited load library |
vvvvvv | volume serial number of the disk used for the specified library |
xxxxx | DASD device type |
Entire Net-Work requires some Adabas modules. For systems where Adabas is not installed, these modules are supplied on the installation tape in the Adabas limited libraries (WALvrs). See the Report of Tape Creation for specific information regarding these limited libraries.
Software AG recommends that you concatenate the Adabas limited (WAL) libraries with the Entire Net-Work (WDX) load library first in the sequence.
Ensure that Adabas Cluster Services runs authorized.
To run authorized, the Adabas Cluster Services, Adabas, and limited Entire Net-Work load libraries and all other load libraries in the STEPLIB concatenation must be APF-authorized.
Ensure that all load libraries referenced in the STEPLIB concatenation for your Entire Net-Work, ADACOM, and Adabas cluster nuclei start-up procedures are defined to the operating system as authorized libraries. If this is not done, the Entire Net-Work, ADACOM, or the Adabas cluster nuclei will not initialize and may abnormally terminate, usually with an ABENDS047, ABENDS306, or ABENDS0C1.
Either copy the base Adabas modules and the Adabas Cluster Services modules to an existing APF-authorized library or APF-authorize the Adabas Cluster Services library that was unloaded from the installation tape and the Adabas load library unloaded from the base Adabas installation tape.
The version 7.4 ADASVC, which is prelinked with the cluster SVCCLU component, can and should also be used for Entire Net-Work. It must be installed on any node where Entire Net-Work is to be run, even if no servers are running on that node. Use the WALvrs libraries for such nodes.
Adabas client application programs need an Adabas link routine module suitable for the environment in which they run. For example, batch programs should be linked with ADAUSER, which loads current versions of ADALNK and supporting modules from the Adabas load library. TP environments usually require specialized link routine modules that may require an additional license.
Software AG recommends that link routines have the same version level as Adabas in a sysplex cluster environment.
Make any needed additions and modifications to the COUPLExx SYS1.PARMLIB member and the sysplex CFRM policy. See the Performance and Tuning documentation for sizing recommendations.
A separate XCF group is activated for each
Adabas sysplex cluster;
Entire Net-Work instance using an XCF line driver; and
active lock structure; each Adabas cluster uses one lock structure.
Ensure that the COUPLExx datasets are formatted with sufficient capacity for the necessary XCF groups.
No changes to the COUPLExx member are required. If values are not specified, the system defaults are used. However, rather than use the default values for CLASS, GROUP, and STRUCTURE, Software AG recommends that you add specific values to the COUPLExx member in SYS1.PARMLIB for use by the Entire Net-Work XCF line driver, as follows:
Add a CLASSDEF statement with CLASS(ENTIRE) and GROUP(NETWORK) specified.
Add a PATHIN statement with STRNAME(IXC_NETWORK) specified.
Add a PATHOUT statement with STRNAME(IXC_NETWORK) and CLASS(ENTIRE) specified.
A sample section from the COUPLExx member in SYS1.PARMLIB is as follows:
COUPLE SYSPLEX(USRSPLX1) PCOUPLE(SYS1.SYSPLEX.USRSPLX1.CDS01) ACOUPLE(SYS1.SYSPLEX.USRSPLX1.CDS02) INTERVAL(120) CLASSDEF CLASS(ENTIRE) CLASSLEN(8192) GROUP(NETWORK) MAXMSG(4096) LOCALMSG MAXMSG(4096) CLASS(ENTIRE) PATHIN STRNAME(IXC_DEFAULT ,IXC_NETWORK) PATHOUT STRNAME(IXC_DEFAULT) PATHOUT STRNAME(IXC_NETWORK) CLASS(ENTIRE)
To define the optional list structure for Entire Net-Work and the required cache and lock structures for each ADABAS nucleus cluster, you will need to run a job similar to the following to update the CFRM administrative policy data in the COUPLE dataset:
//STEP20 EXEC PGM=IXCMIAPU //SYSPRINT DD SYSOUT=* //SYSABEND DD SYSOUT=* //SYSIN DD * DATA TYPE(CFRM) REPORT(YES) DEFINE POLICY NAME(POLICY1) REPLACE(YES) CF NAME(CF) TYPE(009674) MFG(IBM) PLANT(02) SEQUENCE (000000040101) PARTITION(1) CPCID(00) DUMPSPACE(2000) . . STRUCTURE NAME(IXC_DEFAULT) SIZE(1000) PREFLIST(CF) STRUCTURE NAME(ADA_CACHE1) SIZE(48000) PREFLIST(CF) . . STRUCTURE NAME(ADA_LOCK1) SIZE(16000) PREFLIST(CF) . . STRUCTURE NAME(IXC_NETWORK) SIZE(10000) PREFLIST(CF) . .
The CACHE structure must be large enough to retain
all changed blocks between buffer flushes; and
directory elements for all blocks in all buffer pools.
For information on cache structure sizes, see the section Optimizing Lock and Cache Structures in the Coupling Facility in the Performance and Tuning documentation.
Adabas Cluster Services 7.4 supports rebuild processes and duplexing rebuild processes for the cache and lock structures that it uses. These processes are managed by the operating system. See the following IBM documentation for additional information:
MVS Setting Up a Sysplex
MVS Programming: Sysplex Services Guide
MVS System Commands (the SETXCF operator command)
Customize the Entire Net-Work start-up procedure and copy it to a valid system procedure library.
The following example execution job can be used to start Entire Net-Work in an OS/390 or z/OS environment. More JCL may be needed, depending on the node configuration (types of line drivers, number of links, and so on). All load libraries in the STEPLIB concatenation must be APF-authorized.
//NETWORK JOB . . . . //*-----------------------------------------------------------* //* ENTIRE NET-WORK Vv.r.s STARTUP * //*-----------------------------------------------------------* //XCFNET01 EXEC PGM=ADARUN,REGION=4M,TIME=1440 <--- see Note 1 //STEPLIB DD DISP=SHR,DSN=NETWRK.Vvrs.LOAD // DD DISP=SHR,DSN=ADAALS.Vvrs.LOAD // DD DISP=SHR,DSN=ADABAS.Vvrs.LOAD <--- see Note 2 //DDPRINT DD SYSOUT=* <--- see Note 3 //NETPRNT DD DISP=SHR,DSN=WDXvrs.NETPRNT <--- see Note 4 //MPMDUMP DD SYSOUT=* <--- see Note 5 //SYSUDUMP DD SYSOUT=* //DDCARD DD * <--- see Note 6 *-------------------------------------------------------------* * SAMPLE ADARUN CARDS FOR ENTIRE NET-WORK * *-------------------------------------------------------------* ADARUN PROG=NETWRK ADARUN TARGETID=65490 /* MUST BE UNIQUE WITHIN SYSTEM */ ADARUN SVC=209 /* SUPPLY ADABAS SVC NUMBER */ ADARUN NAB=16,LU=65535,NC=20 ADARUN FORCE=N * //DDKARTE DD * <--- see Note 7 *-------------------------------------------------------------* * SAMPLE ENTIRE NET-WORK NODE STATEMENT * *-------------------------------------------------------------* NODE XCFNET01 BUFFERS=(32K,16K,512K,0), - CQTIMER=60, - LOG=NO, - MAXPATH=10, - NTRACE=1000, - REPLYTIM=60, - TIMER=20 *--------------------------------------------------------------* * SAMPLE ENTIRE NET-WORK LINE DRIVER DEFINITION * *--------------------------------------------------------------* DRIVER XCFD GROUP=NETWORK, - ACCEPTUI=Y, - TRACESIZ=256K *--------------------------------------------------------------* * SAMPLE ENTIRE NET-WORK LINK TO NODE XCFNET02 * * FROM THIS NODE (XCFNET01) * *--------------------------------------------------------------* LINK XCFLNK02 XCFD MEMBER=XCFNET02 *
Notes:
As shown in the job example in section Modify the Start-up Procedure, there are four types of Entire Net-Work control statements:
ADARUN control statements define the interregion communication environment.
NODE statements define the node's name and operating characteristics. See the section XCF NODE Statement in the Parameters and Parameter Statements documentation..
DRIVER statements define the line driver type(s) to be loaded. Add one or more DRIVER statements that specify your requirements for this Entire Net-Work node. At least one DRIVER statement is required. For the XCF line driver, see the section XCF DRIVER Statement in the Parameters and Parameter Statements documentation.
LINK statements define the links to other nodes and are currently not required. Optionally, add one or more LINK statements. For the XCF line driver, see the section XCF LINK Statement in the Parameters and Parameter Statements documentation..
Customize the Entire Net-Work ADARUN and NODE statement parameters.
Add the XCF DRIVER statement that specifies your requirements to the Entire Net-Work parameter dataset. Optionally, add one or more XCF LINK statements to describe Entire Net-Work partner nodes.
Apply corrective maintenance.
Refer to the Report of Tape Creation to determine whether any files containing corrective maintenance (i.e., datasets named pppvrs.ZAPS) are supplied on the installation tape. If so, restore the datasets using IEBCOPY, and then follow the corrective maintenance instructions in the $READMVS member.
When execution JCL, including the ADARUN and Entire Net-Work parameter statements, is created for each node and all access method-specific definitions and installation steps are completed, Entire Net-Work can be started.
Start Entire Net-Work on multiple nodes and establish connectivity with the partner nodes.
The execution job or procedure for Entire Net-Work must be started on each of the participating nodes. Once started, Entire Net-Work determines the interregion communications environment on its node, connects to neighboring nodes through the defined links, and exchanges all relevant information with the other nodes during the "handshaking" process following link connection.
While the Entire Net-Work tasks are active and connected, user programs on any node can access all active targets on any other node, regardless of the targets' locations.
Run verification tests. For example:
Test your applications running across Entire Net-Work. Run one application at a time and verify the results.
Run a load test through the network (that is, multiple users on each node accessing data on the partner node).
If a link fails or cannot be connected properly, Entire Net-Work searches for possible alternate routes to complete the call. Once a disconnected link becomes available again, it is automatically considered for traffic.
Entire Net-Work can also be installed as a started task; no special considerations apply.
Entire Net-Work uses cross-memory services similar to Adabas in OS/390 and z/OS systems. As a result, the operating system terminates the ASCB/initiator when Entire Net-Work terminates operation. This is normal and is not be regarded as an error.
During execution, a number of operator commands may be issued to Entire Net-Work to display or modify the system status. See the section Entire Net-Work Operator Commands in the Operator Commands documentation.
An ADACOM initialization task is provided. This task must execute on each operating system image that has users who access the cluster database but no cluster nuclei; Software AG recommends that you also execute it on each operating system image that has a nucleus that participates in the cluster so that it is available as a command manager. All load libraries in the STEPLIB concatenation of ADACOM must be APF-authorized.
Either a cluster nucleus or the ADACOM program can allocate the nucleus table for monitoring the active nuclei and the user table for monitoring users in the extended CSA (ECSA) above the 16MB line.
The ADACOM task can be set up to manage any number of SVC/DBID sets in a sysplex. Refer to the section ADACOM Initialization Parameters in the Parameters and Parameter Statements documentation for more information about specifying values for ADACOM parameters.
The following is a sample job for running ADACOM:
//ADACOM JOB . . . . //*-------------------------------------------------------------* //* Adabas Cluster Services ADACOM Vv.r.s STARTUP * //*-------------------------------------------------------------* //ALSvrs EXEC PGM=ADARUN,REGION=4M,TIME=1440 //STEPLIB DD DISP=SHR,DSN=ADAALS.Vvrs.LOAD // DD DISP=SHR,DSN=ADABAS.Vvrs.LOAD //* //COMPRINT DD SYSOUT=* //DDCARD DD * ADARUN PROGRAM=ADACOM /* //DDKARTE DD * ADACOM SVC=sv1,DBID=dbid1,NU=150 ADACOM SVC=sv1,DBID=dbid2,NU=150,C=N,F=Y ADACOM SVC=sv2,DBID=dbid1,NU=500 ADACOM SVC=sv2,DBID=dbid3,NU=500 /*
The COMPRINT DD statement must be specified when running ADACOM. It defines an output dataset for all general messages printed by ADACOM. For each SVC/DBID set specified in the ADACOM task, a subtask is attached and a SYSOUT dataset is dynamically allocated to receive all messages specific to that combination. The DD-name of the SYSOUT dataset is 'Pssddddd', where 'ss' represents the last two digits of the SVC number and 'ddddd' are the five digits of the DBID.
ADACOM can also be installed as a started task; no special considerations apply.
You may also want to add the ADACOM task's start command to member COMMNDxx of SYS1.PARMLIB; this enables the ADACOM task to begin automatically at IPL.
Customize a start-up procedure to execute ADARUN.
For each Adabas cluster nucleus, customize the appropriate start-up parameters and execute ADARUN from the Adabas load library.
Concatenate the Adabas Cluster Services load library ahead of the Adabas load library in the STEPLIB. All load libraries in the STEPLIB concatenation of the cluster nucleus must be APF-authorized.
Allocate and format a Work dataset for each nucleus.
All nuclei in an Adabas cluster share a common database resource; i.e., the same ASSO and DATA datasets. Each nucleus in the cluster must have its own Work dataset; and all Work datasets within a cluster must have the same size and device type as defined in the general control block (GCB).
Use DISP=SHR on the DD card for the Work dataset (DDWORKR1). During an offline or online restart/recovery, a nucleus may access the Work datasets belonging to other nuclei in the cluster.
Specify the ADARUN CLUSTER
,
NUCID
, CLUGROUPNAME
,
CLUCACHENAME
, and CLULOCKNAME
parameters for each nucleus.
Although each nucleus of an Adabas cluster shares the same database
resource (DBID), each nucleus must have a unique NUCID
value:
a single (noncluster) nucleus: NUCID=0 (default)
a cluster nucleus: NUCID=1-65000
Each cluster has cache and lock structure names that are unique in the sysplex system. ADARUN parameters are used to identify these names to each cluster nucleus.
Use current values for all other ADARUN parameters, then reevaluate the values after monitoring the result. Ensure that each nucleus in the cluster is prepared to handle the entire workload for the common database, if necessary.
If protection logs are used, they must be dual or multiple
logs and each nucleus must have its own. If one nucleus in the cluster runs
with PLOGs, all nuclei in the cluster must run with PLOGs. The ADARUN
PLOGRQ
parameter must be the same for all nuclei (global
parameter).
If user exit 2 or user exit 12 is supplied for one nucleus, the same user exit must be supplied for all nuclei in the cluster. User exit 12 must be used instead of user exit 2 if NCLOG/NPLOG is specified.
If command logs are used, each nucleus must have its own. If
command logs are to be merged, they must be dual or multiple command logs and
each nucleus in the cluster must have the same CLOG definition.
CLOGMRG=YES
must be specified in the ADARUN parameters
to invoke automatic CLOG merging.
The following sample nucleus JCL executes the Adabas ADARUN program to implement session parameters for an Adabas cluster nucleus.
Note that the Adabas Cluster Services library is concatenated ahead of the Adabas library in the STEPLIB.
//PLX240N1 JOB . . . . //*----------------------------------------------------------------* //* STARTUP FOR ADABAS CLUSTER NUC #1 * //*----------------------------------------------------------------* //V7NUC240 EXEC PGM=ADARUN ,REGION=8M,TIME=1440 //STEPLIB DD DSN=ADAALS.Vvrs.LOAD,DISP=SHR // DD DSN=ADABAS.Vvrs.LOAD,DISP=SHR //* //DDASSOR1 DD DSN=MPM240.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=MPM240.DATAR1,DISP=SHR //DDWORKR1 DD DSN=MPM240.WORKR1.CLU01,DISP=SHR //* //DDPRINT DD SYSOUT=* //DDDRUCK DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSABEND DD SYSOUT=* //* //DDCARD DD * ADARUN PROG=ADANUC ADARUN CLUSTER=SYSPLEX ADABAS CLUSTER SERVICES ADARUN NUCID=1 ADABAS CLUSTER NUCLEUS ID ADARUN CLUGROUPNAME=ADA240 XCF GROUP NAME ADARUN CLUCACHENAME=ADA240_CACHE CACHE STRUCTURE NAME ADARUN CLULOCKNAME=ADA240_LOCK LOCK STRUCTURE NAME ADARUN SVC=209 SVC NUMBER ADARUN DBID=240 DATABASE ID ADARUN PLOGRQ=NO PLOG REQUIRED ADARUN MODE=MULTI MULTIUSER MODE ADARUN LOCAL=NO . . . //*
Software AG recommends the following first start sequence:
Start Entire Net-Work on each operating system image that is participating in the Adabas nucleus cluster. Ensure that all nodes required for the cluster are connected.
Start the ADACOM initialization task on each operating system image that is participating in the Adabas cluster.
Start the Adabas cluster nuclei in any order.
The Adabas cluster is now ready to process user requests.
Rules for subsequent starts of Adabas Cluster Services are described in the Operations documentation.
When the Adabas cluster nuclei are active, issue the Entire Net-Work operator command DISPLAY TARGETS to ensure that the required targets have been established. For more information, see section DISPLAY - Display Information About a Network Component in the Operator Commands documentation.