Connect CDC SQData

Installation Guide

Version 4.0 Installation Guide

© 2001, 2021 SQData. All rights reserved.

Version 4.0 Last Update: 8/24/2021

2 Connect CDC SQData Installation Guide Installation Guide

Contents

Introduction ...... 6 Organization ...... 7 Documentation Conventions ...... 8 Related Documentation ...... 9 z/OS Installation ...... 10 Prerequisites ...... 11 z/OS Security Requirements ...... 12 APF Authorization ...... 12 TCP/IP Ports ...... 12 zFS Variable Directories ...... 12 z/OS LogStreams ...... 14 Started Task Authorization ...... 14 NaCL Key Pair Generation ...... 16 Administrative User Authorization ...... 17 IMS Authorizations ...... 18 Db2 Authorizations ...... 18 VSAM Authorizations ...... 19 Packaging ...... 20 Product Installation using JCL ...... 21 Step 1. Prepare to Download Distribution Files ...... 21 Step 2. Download the Distribution Files ...... 21 Step 3. Upload Distribution Files to z/OS ...... 21 Step 4. Allocate the CNTL (JCL) Library ...... 22 Step 5. Unterse the Distribution CNTL file ...... 22 Step 6. Create System Libraries ...... 22 Step 7. Unterse the System Library Members ...... 23 Step 8. Prepare to Link the Load Modules ...... 23 Step 9. Link the Load Modules ...... 23 Step 10. APF Authorize the Load Library ...... 23 Step 11. Other z/OS Security Requirements ...... 23 Product Installation using ISPF Installer ...... 24 Step 1. Locating the Distribution Files ...... 24 Step 2. Upload Distribution Files to z/OS ...... 24 Step 3. Unterse the Distribution ISPFLIB file ...... 25 Installation Guide

Step 4. Execute the ISPF Installer ...... 25 Step 5. The Installer Main Menu ...... 26 Step 6. Install the product libraries ...... 26 Step 7. Define the Listener Daemon ...... 30 Step 8. Generate Sample Jobs for planning ...... 32 Step 9. APF Authorize the Load Library ...... 33 Starting the ISPF Interface ...... 34 Execution ...... 34 Security Requirements ...... 34 Setting the Defaults during First Time Execution ...... 35 Accessing Online Help ...... 36 Product Operation ...... 37 Product Maintenance ...... 38 Installation ...... 39 Prerequisites ...... 40 UNIX Security Requirements ...... 41 Administrative User Authorization ...... 41 TCP/IP Ports ...... 41 Installation Directories ...... 41 Variable Directories ...... 41 NaCL Key Pair Generation ...... 42 Db2/LUW (UDB) Authorizations ...... 43 Oracle Authorizations ...... 44 Hadoop HDFS Authorizations ...... 44 Kafka Authorizations ...... 45 Packaging ...... 46 Product Installation ...... 47 Step 1. Identify the Installation Account ...... 47 Step 2. Pick Install Location ...... 47 Step 3. Download the Platform Specific Package ...... 47 Step 4. Decompress the Package ...... 47 Step 5. Review Contents of Install Directory ...... 48 Step 6. Create a Symbolic link to the Executables ...... 48 Step 7. Update Environment ...... 48 Step 8. Prepare Environmental Variables ...... 48 Step 9. Verify Installation ...... 49 Installation Guide

Product Maintenance ...... 50 Windows Installation ...... 51 Prerequisites ...... 52 Windows Security Requirements ...... 53 Administrative User Authorization ...... 53 TCP/IP Ports ...... 53 Installation Directories ...... 53 Variable Directories ...... 53 NaCL Key Pair Generation ...... 54 SQL Server Authorizations ...... 55 Db2/LUW (UDB) Authorizations ...... 55 Oracle Authorizations ...... 56 Packaging ...... 57 Product Installation ...... 58 Step 1. Identify the Installation Account ...... 58 Step 2. Pick Install Location ...... 58 Step 3. Download the Platform Specific Package ...... 58 Step 4. Decompress the Package ...... 58 Step 5. Review contents of install directory ...... 59 Step 6. Create a Symbolic link to the Executables ...... 59 Step 7. Update Environment ...... 59 Step 8. Prepare Environmental Variables ...... 60 Step 9. Verify Installation ...... 60 Product Maintenance ...... 61 Introduction

Precisely's Connect CDC SQData data integration platform addresses a variety of business requirements including continuous availability of critical applications, data warehouse propagation, detection and publishing of key business events, application integration, real-time business intelligence and legacy data migration. This document is a detailed Guide to the Installation of the base Connect CDC SQData product on each of your Operating System Platforms. It includes installation prerequisites, operating system Security Requirements, a description of product packaging and the same step-by-step Installation instructions provided in the product distribution $Start_Here_.pdf for each Operating System: This remainder of this section: · Describes how this document is organized · Defines documentation syntax conventions · Identifies complimentary documents

6 Connect CDC SQData Installation Guide Introduction

Organization

The following sections provide detailed Installation instructions for all supported platforms: Connect CDC SQData for z/OS Connect CDC SQData for UNIX Connect CDC SQData for Windows

Connect CDC SQData Installation Guide 7 Introduction

Documentation Conventions

The following conventions are used in command and configuration syntax and examples in this document.

Convention Explanation Example

Regular type Items in regular type must be entered literally using create either lowercase or uppercase letters. Items in Bold type CCSID are usually "commands" or "Actions". Note, uppercase is often used in "z/OS" objects for consistency just as /directory lowercase is often used on other platforms //SYSOUT DD *

Items between < and > symbols represent variables. You must substitute an appropriate numeric or text value for the variable.

| Bar A vertical Bar indicates that a choice must be made 'yes' | 'no' among items in a list separated by bars. JSON | AVRO

[ ] Brackets Brackets indicate that item is optional. A choice may be [alias] made among multiple items contained in brackets. OR [+ | -]

-- Double dash Double dashes "--" identify an option keyword. Some --service= keywords may be abbreviated and preceded by a single OR -s dash "-". A double dash in some contexts can be used to indicate the start of a single line comment. OR --apply OR -- this is a comment

… Ellipsis An ellipsis indicates that the preceding argument or [expression…] group of arguments may be repeated.

Sequence A sequence number indicates that a series of arguments field2 number or values may be specified. The sequence number itself must never be specified.

' ' Single quotes Single quotation marks that appear in the syntax must be IF CODE = 'a' specified literally.

8 Connect CDC SQData Installation Guide Introduction

Related Documentation

$Start_Here_ - Included with the platform specific product distributions are $Start_Here instructions that provide step by step installation instructions. Installation Guide - This publication describes the installation and maintenance procedures for Connect CDC SQData for z/OS and Linux/AIX and Windows products. Product Architecture - Describes the overall architecture of the Connect CDC SQData product and how its components deliver true Enterprise Data Integration. Data Capture Guide - Provides an overview of the role capture plays in Precisely's Connect CDC SQData product, the common features Capture and the methods supported for store and forward transport of captured data to target Engines running on all platforms Data Capture References - Provides comprehensive information about the various Connect CDC SQData data capture agents for IMS, Db2, VSAM, Oracle, UDB (DB2/LUW) and SQL Server. They also detail the activities required for the configuration, operation and management for each of the data capture agents. Apply and Replicator Engine References - Provide detail level references describing the operation and command language of the Connect CDC SQData Apply and Replicator Engine components, which support target datastores on z/OS, AIX, Linux and Windows. Secure Communications Guide - Describes the Secure Communications architecture and the process used to authenticate client-server connections. Utility Guides - Describe each of the Connect CDC SQData utilities such as SQDconf, SQDmon, SQDutil and the zOS Master Controller. Messages and Codes - Lists and describes the messages and associated codes issued by the Capture, Publisher, Storage agents, Parser, Apply and Replicator Engines, and Utilities in all operating environments z/OS, Linux, AIX, and Windows. Quickstart Guides - Tutorial style walk through for some common configuration scenarios including Capture and Replication. z/OS Quickstarts make use of the ISPF interface. While each Quickstart can be viewed in WebHelp, you may find it useful to print the PDF version of a Quickstart Guide to use as a checklist.

Connect CDC SQData Installation Guide 9 z/OS Installation

Connect CDC SQData began life as a Mainframe product, where much of the world's high volume transaction processing still takes place. Written in for portability and in the case of z/OS, some Assembler for high performance, Connect CDC SQData can capture from and apply changed data directly to IMS,VSAM and Db2 datastores on z/OS. Connect CDC SQData provides for seamless cross-platform operation between Mainframe and high performance Linux/UNIX and Windows platforms providing a robust and highly available tool for enterprise integration. Connect CDC SQData uses native TCP/IP for communication between components on and across platforms and also integrates with the Kafka distributed streaming platform on Linux. This section is intended for the system programmer responsible for the installation and maintenance of the Connect CDC SQData for z/OS product. The following information is provided in this document: · Prerequisites · z/OS Security Requirements · Packaging · Product installation using JCL · Product Installation using ISPF Interface · Product Operation · Product Maintenance

10 Connect CDC SQData Installation Guide z/OS Installation

Prerequisites

The prerequisites refer to the system software required in order to install Connect CDC SQData for z/OS. Mandatory Software · z/OS version 1 release 10 (V1R10) or higher · Language Environment (LE) version 4 release 1 (V4R1) or higher Optional Software In addition to the Operating System, your implementation of Connect CDC SQData will determine other software prerequisites. For example, the Connect CDC SQData near real-time and/or asynchronous data capture components require the following minimum level versions: · IMS version 10 or higher (IMS data capture) · Db2 version 11 or higher (Db2 data capture) · CICS version 3 or higher (CICS/VSAM data capture)

Connect CDC SQData Installation Guide 11 z/OS Installation z/OS Security Requirements

This section describes the authorization requirements for administration and operation of Connect CDC SQData and the access requirements for system and user datasets allocated during the z/OS installation process. Note, while the z/OS distribution datasets referred to in this section contain the node V4nnnn corresponding to Version 4, Release/Build (rrbb), we typically recommend incrementing only the Release number when a new build is installed to minimize the impact on JCL, e.g: V400, V401, V410. APF Authorization The Connect CDC SQData load library SQDATA.V4nnn.LOADLIB must be APF authorized. Initially, this can be done via the operator’s console via the SETPROG APF command. This APF authorization must then be made a permanent part of the IPL APF authorization procedure. All Connect CDC SQData agents must have read access to this library. TCP/IP Ports · The Daemon (program SQDAEMON) needs access to the designated port number that it will listen on. The default port number is 2626 but it can be any available port reserved on the platform. · All Connect CDC SQData capture, publisher, daemon, Engine and Utility tasks require access to the TCP/IP Stack. zFS Variable Directories The Controller Daemon, Capture, Storage and Publisher agents require a predefined zFS directory structure used to store a small number of files. While only the configuration directory is required and the location of the agent and daemon directories is optional, we recommend the structure described below, where and a "user" named could be modified to conform to the operating environment and a third level created for the Controller Daemon (see note below): // - The home directory used by the Connect CDC SQData ///daemon - The working directory used by the Daemon that also contains two sub directories. ///daemon/cfg - A configuration directory that contains two configuration files. ///daemon/logs - A logs directory, though not required, is suggested to store log files used by the controller daemon. Its suggested location below must match the file locations specified in the Global section of the sqdagents.cfg file created in the section "Setup Controller Daemon" later in this document.

Additional directories will be create for each Capture/Publisher. We recommend the structures described below: ///db2cdc - The working directory for the Db2 Capture and CDCStore Storage agents. The Capture and CDCStore configuration (.cab) Files will be maintained in this directory along with small temporary files used to maintain connections to the active agents.

///db2cdc/data - A data directory is required by the Db2 Capture. Files will be allocated in this directory as needed by the CDCStore Storage Agent when transient data exceeds allocated in-memory storage. The suggested location below must match the "data_path" specified in the Storage agent configuration (.cab file) described later in this chapter. A dedicated File System is required in production with this directory as the "mount point".

12 Connect CDC SQData Installation Guide z/OS Installation

///imscdc - The working directory for the IMS Capture and CDCzLOG Publisher agents. The Capture and Publisher (.cab) Files will be maintained in this directory along with small temporary files used to maintain connections to the active agents. ///[vsampub | kfilepub] - The working directory for the VSAM and Keyed File Compare Capture's CDCzLOG Publisher agent. The Publisher configuration (.cab) File will be maintained in this directory along with small temporary files used to maintain connections to the active agents. Notes: 1. Consider changing default umask setting in the /etc/profile file, or in your .cshrc or .login file. 2. While many zFS File systems are configured with /u as the "home" directory, others use /home, the standard on Linux. References in the Connect CDC SQData JCL and documentation will use /home for consistency. Check with your Systems programmer regarding zFS on your systems. 3. The User-ID(s) and/or Started Task under which the Capture and the Controller Daemon will run must be authorized for Read/Write access to the zFS directories. 4. A more traditional "nix" style structure may also be used where "sqdata", the product, would be a sub- directory in the structure "/var/opt/sqdata/" with the daemon and data sub-directory structures inside sqdata. 5. The BPXPRMxx member used for IPLs should be updated to include the mount point(s) for this zFS directory structure. JCL similar to the sample member ALLOCZDR included in the distribution should be used to allocate the necessary directories. The JCL should be edited to conform to the operating environment. //ALLOCZDR JOB 1,MSGLEVEL=(1,1),MSGCLASS=H,NOTIFY=&SYSUID //* //*------//* Allocate zFS Directories for Daemon and CAB Files //*------//* Note: 1) These directories are use by the Controller Daemon, //* CDCStore and CDCzLog based capture agents //* //* 2) The 1st, 2nd and 3rd level directories can be changed but //* we recommend the 2nd Level be a User named sqdata. //* //* 3) Leave /daemon and /daemon/cfg as specified //* //* 4) Your UserID may need to be defined as SUPERUSER to //* successfully run this Job //* //********************************************************************* //* //*------//* Delete Existing Directories //*------//*DELETDIR EXEC PGM=IKJEFT01,REGION=64M,DYNAMNBR=99,COND=(0,LT) //*SYSEXEC DD DISP=SHR,DSN=SYS1.SBPXEXEC //*SYSTSPRT DD SYSOUT=* //*OSHOUT1 DD SYSOUT=* //*SYSTSIN DD * //* OSHELL rm -r /home/sqdata /* //*------//* Create New ZFS Directories for Controller Daemon & Captures //*------

Connect CDC SQData Installation Guide 13 z/OS Installation

//CREATDIR EXEC PGM=IKJEFT01,REGION=64M,DYNAMNBR=99,COND=(0,LT) //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * PROFILE MSGID WTPMSG MKDIR '/home/sqdata/' + MODE(7,7,5)

MKDIR '/home/sqdata/daemon/' + MODE(7,7,5)

MKDIR '/home/sqdata/daemon/cfg' + MODE(7,7,5)

MKDIR '/home/sqdata/daemon/logs' + MODE(7,7,5)

MKDIR '/home/sqdata/db2cdc/' + MODE(7,7,5)

MKDIR '/home/sqdata/db2cdc/data/' + MODE(7,7,5) /* // MKDIR '/home/sqdata/imscdc/' + MODE(7,7,5)

MKDIR '/home/sqdata/vsampub/' + MODE(7,7,5)

MKDIR '/home/sqdata/kfilepub' + MODE(7,7,5) z/OS LogStreams The IMS Log Capture, and the zLogc Publisher used by the IMS Capture agent, VSAM Log Replicate and Keyed File Compare Captured require read/write access to one or more system LogStreams. The following RACF commands can be used to set access to the system Logstreams by the Capture and Publisher agents. PERMIT MVSADMIN.LOGR CLASS(FACILITY) ACCESS(ALTER) ID(agent_userid) RDEFINE FACILITY MVSADMIN.LOGR UACC(ALTER) SETROPTS CLASSACT(FACILITY)

The Capture and Publisher components utilize z/OS system Logstreams for their high performance and high reliability. Both DASD Only and CF-Structure based Logstreams are supported. Instructions and sample JCL for defining the LogStreams can be found in the Capture Reference manuals. Started Task Authorization The following sample RACF commands outline the authorization required by the various Connect CDC SQData agents. Modify the names, high-level qualifiers, zFS directories, etc. as required by your environment.SQ Master Controller STC Authorizations – Program SQDAMAST ADDUSER SQDAMAST DFLTGRP() OWNER() ALTUSER SQDAMAST NOPASSWORD NOOIDCARD ALTUSER SQDAMAST NAME('STASK, SQDATA') ALTUSER SQDAMAST DATA('FOR SQDATA CONTACT:') ALTUSER SQDAMAST WORKATTR(WAACCNT('**NOUID**')) CONNECT SQDAMAST GROUP() OWNER() PERMIT 'SQDATA.*' ID(SQDAMAST) ACCESS(READ) GEN

14 Connect CDC SQData Installation Guide z/OS Installation

Daemon STC Authorizations – Program SQDAEMON ADDUSER SQDAEMON DFLTGRP() OWNER() ALTUSER SQDAEMON NOPASSWORD NOOIDCARD ALTUSER SQDAEMON NAME('STASK, SQDATA') ALTUSER SQDAEMON DATA('FOR SQDATA CONTACT:') ALTUSER SQDAEMON WORKATTR(WAACCNT('**NOUID**')) CONNECT SQDAEMON GROUP() OWNER() ALTUSER SQDAEMON OMVS(PROGRAM('/bin/sh')) PERMIT 'SQDATA.*' ID(SQDAEMON) ACCESS(READ) GEN

Db2 Capture STC Authorizations – Program SQDDB2C ADDUSER SQDDB2C DFLTGRP() OWNER() ALTUSER SQDDB2C NOPASSWORD NOOIDCARD ALTUSER SQDDB2C NAME('STASK, SQDATA') ALTUSER SQDDB2C DATA('FOR SQDATA CONTACT:') ALTUSER SQDDB2C WORKATTR(WAACCNT('**NOUID**')) CONNECT SQDDB2C GROUP() OWNER() ALTUSER SQDDB2C OMVS(PROGRAM('/bin/sh')) ALTUSER SQDDB2C OMVS(MMAPAREAMAX(262144)) PERMIT 'SQDATA.*' ID(SQDDB2C) ACCESS(READ) GEN

IMS Capture, IMS Publisher and VSAM Publisher STC Authorizations – Three (3) Total ADDUSER SQDZLOGC DFLTGRP() OWNER() ALTUSER SQDZLOGC NOPASSWORD NOOIDCARD ALTUSER SQDZLOGC NAME('STASK, SQDATA') ALTUSER SQDZLOGC DATA('FOR SQDATA CONTACT:') ALTUSER SQDZLOGC WORKATTR(WAACCNT('**NOUID**')) CONNECT SQDZLOGC GROUP() OWNER() ALTUSER SQDZLOGC OMVS(PROGRAM('/bin/sh')) PERMIT 'SQDATA.*' ID(SQDZLOGC) ACCESS(READ) GEN

Administrative Userid Authorization ADDUSER DFLTGRP() OWNER() ALTUSER NOPASSWORD NOOIDCARD ALTUSER NAME('STASK, SQDATA') ALTUSER DATA('FOR SQDATA CONTACT:') ALTUSER WORKATTR(WAACCNT('**NOUID**')) CONNECT GROUP() OWNER() ALTUSER OMVS(PROGRAM('/bin/sh')) ALTUSER OMVS(MMAPAREAMAX(262144)) PERMIT 'SQDATA.*' ID() ACCESS(READ) GEN

SETROPTS GENERIC (DATASET ) REFRESH

R/W Access to the SQDATA ZFS File System (only if the FSACCESS RACF class is active) SETROPTS GENERIC(FSACCESS) RDEFINE FSACCESS SQDATA.** UACC(NONE) PERMIT SQDATA.** CLASS(FSACCESS) ID(SQDAMAST) ACCESS(UPDATE) PERMIT SQDATA.** CLASS(FSACCESS) ID(SQDDB2C) ACCESS(UPDATE) PERMIT SQDATA.** CLASS(FSACCESS) ID(SQDZLOGC) ACCESS(UPDATE) PERMIT SQDATA.** CLASS(FSACCESS) ID(SQDAEMON) ACCESS(UPDATE)

Connect CDC SQData Installation Guide 15 z/OS Installation

PERMIT SQDATA.** CLASS(FSACCESS) ID() ACCESS(UPDATE) SETROPTS RACLIST(FSACCESS) REFRESH NaCL Key Pair Generation All Agents must have access to the public/private key files. If the files created below are named with the same high- level qualifiers as the other Connect CDC SQData SQD system libraries, the will be in sync with the RACF sample above and you should be good to go! The Controller Daemon uses a Public / Private key mechanism to ensure component communications are valid and secure. A key pair must be created for the SQDaemon Job System User-ID and the User-ID's of all the Agent Jobs that interact with the Controller Daemon. On z/OS, by default, the private key is stored in SQDATA.NACL.PRIVATE and the public key in SQDATA.NACL.PUBLIC. These two files will be used by the Daemon in association with a sequential file containing a concatenated list of the Public Keys of all the Agents allowed to interact with the Controller Daemon. The Authorized Keys file must contain at a minimum, the public key of the SQDaemon job System User-ID and is usually created with a first node matching the user name running the SQDaemon job, in our example SQDATA.NACL.AUTH.KEYS. The file must also include the Public key's of Engines running on zOS or other platforms. The Authorized Keys file is usually maintained by an administrator using ISPF. JCL similar to sample member NACLKEYS included in the distribution executes the SQDutil utility program using the keygen command and should be used to generate the necessary keys and create the Authorized Key List file. The JCL should be edited to conform to the operating environment and the job must be run under the user-id that will be used when the Controller Daemon job is run. //NACLKEYS JOB 1,MSGLEVEL=(1,1),MSGCLASS=H,NOTIFY=&SYSUID //* //*------//* Generate NACL Public/Private Keys and optionally AKL file //*------//* Required DDNAME: //* SQDPUBL DD - File that will contain the generated Public Key //* SQDPKEY DD - File that will contain the generated private Key //* ** This file and its contents are not to be shared //* //* Required parameters: //* PARM - keygen *** In lower case *** //* USER - The system USERID or high level qualifier of the //* SQDATA libraries IF all Jobs will Private Key. //* //* Notes: //* 1) This Job generates a new Public/Private Key pair, saves //* them to their respective files and adds the Public Key //* to an existing Authorized Key List, allocating a new //* file for that purpose if necessary. //* //* 2) An optional first step deletes the current set of files //* //* 3) Change the SET parms below for: //* HLQ - high level qualifier of the CDC Libraries //* VER - the 2nd level qualifier of the CDC OBJLIB & LOADLIB //* USER - the High Level Qualifier of the NACL Datasets //*------//* // SET HLQ=SQDATA // SET VER=V400 // SET USER=&SYSUID //* //JOBLIB DD DISP=SHR,DSN=SQDATA..&VER..LOADLIB

16 Connect CDC SQData Installation Guide z/OS Installation

//* //*------//* Optional: Delete Old Instance of the NACL Files //*------//*DELOLD EXEC PGM=IEFBR14 //*SYSPRINT DD SYSOUT=* //*OLDPUB DD DISP=(OLD,DELETE,DELETE),DSN=&USER..NACL.PUBLIC //*OLDPVT DD DISP=(OLD,DELETE,DELETE),DSN=&USER..NACL.PRIVATE //*OLDAUTH DD DISP=(OLD,DELETE,DELETE),DSN=SQDATA.NACL.AUTH.KEYS //*------//* Allocate Public/Private Key Files and Generate Public/Private Keys //*------//SQDUTIL EXEC PGM=SQDUTIL //SQDPUBL DD DSN=&USER..NACL.PUBLIC, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(,CATLG,DELETE),UNIT=SYSDA, // SPACE=(TRK,(1,1)) //SQDPKEY DD DSN=&USER..NACL.PRIVATE, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(,CATLG,DELETE),UNIT=SYSDA, // SPACE=(TRK,(1,1)) //SQDPARMS DD * keygen //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SQDLOG DD SYSOUT=* //*SQDLOG8 DD DUMMY //*------//* Allocate the Authorized Key List File --> Used only by the Daemon //*------//COPYPUB EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //SYSUT1 DD DISP=SHR,DSN=&USER..NACL.PUBLIC //SYSUT2 DD DSN=SQDATA.NACL.AUTH.KEYS, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(MOD,CATLG),UNIT=SYSDA,SPACE=(TRK,(5,5))

Notes: 1. Since the Daemon and Capture Agents and zOS Apply Engines may be running in the same LPAR/system, they frequently run under the same System User-ID, in that case they would share the same public/private key pair. 2. Changes are not known to the Daemon until the configuration files are reloaded, using the SQDmon Utility, or the sqdaemon process is stopped and started. Administrative User Authorization The Administrative User of Connect CDC SQData requires the following RACF specifications: ADDUSER admuser DFLTGRP(STCAUTH) OWNER() ALTUSER admuser NOPASSWORD NOOIDCARD ALTUSER admuser NAME('STASK, SQDATA') ALTUSER admuser DATA('FOR SQDATA CONTACT:JOHN SMITH') ALTUSER SQDDB2C WORKATTR(WAACCNT('**NOUID**')) CONNECT admuser GROUP(STCAUTH) OWNER() ALTUSER admuser OMVS(PROGRAM('/bin/sh')) ALTUSER admuser OMVS(MMAPAREAMAX(262144)) PERMIT SQDATA.*' ID(SQDDB2C) ACCESS(READ) GEN SETROPTS GENERIC (DATASET ) REFRESH

Connect CDC SQData Installation Guide 17 z/OS Installation

SETROPTS GENERIC(FSACCESS) RDEFINE FSACCESS SQDATA.** UACC(NONE) PERMIT SQDATA.** CLASS(FSACCESS) ID(USER/GROUP_ID) ACCESS(UPDATE) SETROPTS CLASSACT(FSACCESS) SETROPTS RACLIST(FSACCESS) SETROPTS RACLIST(FSACCESS) REFRESH

PERMIT MVSADMIN.LOGR CLASS(FACILITY) ACCESS(ALTER) ID(YOUR_USERID) RDEFINE FACILITY MVSADMIN.LOGR UACC(ALTER) SETROPTS CLASSACT(FACILITY) IMS Authorizations The IMS Log Capture requires the following permisisons: · The IMS Log Capture (program SQDIMSC) needs read access to the IMS OLDS and SLDS datasets · The IMS Log Capture also requires read access to the IMS Reslib and IMS RECON datasets Db2 Authorizations The Db2 Log Reader Capture requires special user privileges and preparation to access and read the Db2 Recovery Logs using the Db2 Instrumentation Facility Interface (IFI) calls. Version 4 of Connect CDC SQData also requires some system tables to be captured to support Schema Evolution. The following GRANTS are required: 1. GRANT MONITOR2 TO < sqdata_user>; 2. GRANT EXECUTE ON PLAN SQDV4000 TO < sqdata_user>; 3. GRANT SELECT ON SYSIBM.SYSTABLES TO < sqdata_user>; 4. GRANT SELECT ON SYSIBM.SYSCOLUMNS TO < sqdata_user>; 5. GRANT SELECT ON SYSIBM.SYSINDEXES TO < sqdata_user>; 6. GRANT SELECT ON SYSIBM.SYSKEYS TO < sqdata_user>; 7. GRANT SELECT ON SYSIBM.SYSTABLESPACE TO < sqdata_user>; Db2 Reorg and Load procedures may need to be updated: · KEEPDICTIONARY=YES parameter must be used by all Db2 REORG and LOAD Utilities. If the CDC process is run asynchronously, for some reason gets behind or is configured to recapture older logs, the proper Compression Dictionary must be available. Schema Evolution Requires DATA CAPTURE CHANGES on Two (2) Catalog Tables: 1. SYSIBM.SYSTABLES 2. SYSIBM.SYSCOLUMNS Notes: · A common database request module (DBRM) SQDDDB2D ships as part of the product distribution and a Bind must be performed on the SQDV4000 Package and Plan. Use the BINDSQD member in the CNTL Library to bind the Package and Plan to Db2. · Each Db2 table to be captured also requires:

ALTER TABLE DATA CAPTURE CHANGES;

18 Connect CDC SQData Installation Guide z/OS Installation

VSAM Authorizations There are no additional security requirements specifically related to the VSAM Log Replicate Capture.

Connect CDC SQData Installation Guide 19 z/OS Installation

Packaging

The Connect CDC SQData product is distributed through Precisely https://www.precisely.com/support where you will also find product documentation in both WebHelp and PDF format. The Support portal is password protected, and individual user accounts will be provided upon request to customers. The Connect CDC SQData z/OS distribution package consists of one .pdf file and seven terse files (which may be contained in a zip file) as described below. Note that the file name indicates the version, release and build. Unless instructed otherwise, a new installation should always be made using the latest version, release and build available.

File Name Contents Tersed File Size A concise set of platform specific V4_$START_HERE_zOS.pdf installation instructions.

SQDATA.ZOS.V4nnnn.CNTL.TERSE JCL members 70 KB

SQDATA.ZOS.V4nnnn.DBRM.TERSE DB2 Database Request Module 44 KB (DBRM)

SQDATA.ZOS.V4nnnn.ISPF.TERSE ISPF Interface panel modules 315 KB

SQDATA.ZOS.V4nnnn.PROC.TERSE PROCLIB members 8 KB

SQDATA.ZOS.V4nnnn.PARM.TERSE PARMLIB members 6 KB

SQDATA.ZOS.V4nnnn.PBMOBJ.TERSE Object modules for the Base Product 70 MB

SQDATA.ZOS.V4nnnn.SAMPLIB.TERSE Samples 8 KB

20 Connect CDC SQData Installation Guide z/OS Installation

Product Installation using JCL

While Connect CDC SQData is typically installed from a Windows workstation, these instructions, with minor adjustments, will work from any environment. We recommend you review the remainder of this section before beginning the installation and then, after completing "Step 2. Download the Connect CDC SQData distribution files", read the instructions in the file START_HERE_zOS.pdf using Adobe Reader. This file contains the very latest instructions for installing and updating your Connect CDC SQData for z/OS installation. Step 1. Prepare to Download Distribution Files On your workstation, create a Connect CDC SQData directory and a Version/Release specific sub-directory. We recommend a directory structure similar to the following for this and future releases: D:\sqdata The base product directory D:\sqdata\V4nnnn A ver-rel-build specific sub-directory Step 2. Download the Distribution Files Connect CDC SQData for z/OS is available for download from Precisely https://www.precisely.com/support. Download the seven Connect CDC SQData distribution files into newly created version-release sub-directory. If necessary, unzip the sqdata-zos-4.nn.nn.zip distribution to yield the terse files. Step 3. Upload Distribution Files to z/OS Upload the Connect CDC SQData distribution terse files, in binary, to your z/OS system. Make sure that you upload these files to datasets with a format of FB 1024. You may be able to use a windows Batch file to FTP the distribution files. Cut and paste the following lines and paste into an new file named UpLoadSQD.bat; save the file and execute at the command line: echo off rem **************************************************************** rem * Command Script to Upload the SQDATA Distribution Terse Files* rem ****************************************************************

rem ------rem Modify the following as required for your environment below rem ------rem SDIR: the name of the source Windows directory rem V: the Version number rem R: the Release number rem B: the Build number rem HOST: the name or IP address of the z/OS host system rem USER: a valid z/OS userid for the target host system rem PSWD: a valid z/OS password for the target host system rem HLQ: High level library Qualifier on target host system rem ------

rem **************************************************************** rem * Dynamically create an FTP script file and upload all the * rem * TERSE files to the target host SQDATA High Level Qualifier* * rem **************************************************************** set /p SDIR="Enter your Download Directory: " dir %SDIR% set /p V="Enter single digit Version: " set /p R="Enter two digit Release: " set /p B="Enter two digit Build: " set /p HOST="Enter your zOS Host name or IP Address: " set /p USER="Enter your zOS User-ID: " set /p PSWD="Enter your zOS Password: " set /p HLQ="Enter the High level library Qualifier eg:TEST: " echo %user% > u.ftp

Connect CDC SQData Installation Guide 21 z/OS Installation

echo %pswd% >> u.ftp echo prompt >> u.ftp echo binary >> u.ftp echo quote site recfm=fb lrecl=1024 blksize=27648 cy pri=1 sec=1 >> u.ftp echo cd '%HLQ%' >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.CNTL.TERSE SQDATA.V%V%%R%%B%.CNTL.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.DBRMLIB.TERSE SQDATA.V%V%%R%%B%.DBRMLIB.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.ISPFLIB.TERSE SQDATA.V%V%%R%%B%.ISPFLIB.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.PARMLIB.TERSE SQDATA.V%V%%R%%B%.PARMLIB.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.PGMOBJ.TERSE SQDATA.V%V%%R%%B%.PGMOBJ.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.PROCLIB.TERSE SQDATA.V%V%%R%%B%.PROCLIB.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.SAMPLIB.TERSE SQDATA.V%V%%R%%B%.SAMPLIB.TERSE >> u.ftp echo quit >> u.ftp ftp -s:u.ftp %host% echo you may delete this file > u.ftp echo File transfer complete Step 4. Allocate the CNTL (JCL) Library Allocate a z/OS partitioned dataset, SQDATA.V4nnnn.CNTL to store the JCL using the following attributes. We recommend naming installation libraries with the full ver/rel/build, i.e. V40031. Production libraries are often named with only the ver/rel, ie V400 to minimize the impact of upgrades on existing JCL, Procs, Parms, etc.

Attributes Value Organization PO Directory Blocks 50 Record Format FB Record Length 80 Block Size 21200 1st Extent Blocks 100 2nd Extent Blocks 50 Step 5. Unterse the Distribution CNTL file Using the following JCL as an example, unterse the distribution CNTL file into the newly created SQDATA.V4nnnn.CNTL library.

//UNTERSE EXEC PGM=AMATERSE,PARM='UNPACK' //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=SHR,DSN=SQDATA.V4nnnn.CNTL.TERSE //SYSUT2 DD DISP=SHR,DSN SQDATA.V4nnnn.CNTL

Step 6. Create System Libraries Edit CNTL member ALLOCDS, set the dataset names for your environment and submit to create the SQDATA system libraries. The return code from this job should be 0.

22 Connect CDC SQData Installation Guide z/OS Installation

Step 7. Unterse the System Library Members Using CNTL member UNTERLIB, unterse the distribution library members into their respective libraries as illustrated in the following table.

File names Description Target z/OS Library SQDATA.ZOS.V4nnnn.DBRM.TERSE Db2 DBRM SQDATA.V4nnnnn.DBRMLIB SQDATA.ZOS.V4nnnn.ISPF.TERSE ISPFLIB members. SQDATA.V4nnnnn.ISPFLIB PARMLIB SQDATA.ZOS.V4nnnn.PARM.TERSE SQDATA.V4nnnnn.PARMLIB members. SQDATA.ZOS.V4nnnn.PROC.TERSE PROCLIB members. SQDATA.V4nnnnn.PROCLIB SQDATA.ZOS.V4nnnn.PGMOBJ.TERSE Object modules SQDATA.V4nnnnn.PGMOBJ SQDATA.ZOS.V4nnnn.SAMPLIB.TERSE Samples SQDATA.V4nnnnn.SAMPLIB Step 8. Prepare to Link the Load Modules Edit the SQDLINK procedure in the SQDATA PROCLIB to specify the required system dataset names (i.e. Language Environment, IMS, CICS, Db2, etc.). The SQDLINK procedure contains instructions on the necessary modifications. Step 9. Link the Load Modules Edit the SQDLINK JCL in the CNTL library to set the dataset names and submit the job. The return code from this job should be 0. Step 10. APF Authorize the Load Library IMPORTANT - The SQD LOADLIB must be APF authorized. Initially, this can be done via the operator’s console via the SETPROG APF command. The list of currently APF authorized files can be viewed using the z/OS ISPF/SDSF facility. First, enter "/D PROG, APF" at the SDSF command prompt to generate the list. Next, enter "LOG" at the SDSF command prompt, scroll to the bottom of the log to display the results of the previous command and then back up and to the right to view the complete listing of the command. Make sure that the APF authorization is made a permanent part of the IPL APF authorization procedure prior to attempting to run Connect CDC SQData. Step 11. Other z/OS Security Requirements While some security authorization requirements are specific to the types of source datastores to be captured, other requirements apply to all components. See the z/OS Security Requirements section in the Product Installation Guide or the Security Authorization Quickstart for details.

Connect CDC SQData Installation Guide 23 z/OS Installation

Product Installation using ISPF Installer

The Connect CDC SQData utilizes an ISPF Installer included in the ISPFLIB_TERSE distribution file . Step 1. Locating the Distribution Files On your workstation, create a Connect CDC SQData directory and a Version/Release specific sub-directory. We recommend a directory structure similar to the following for this and future releases: D:\sqdata The base product directory D:\sqdata\V4.nn.nn A ver-rel-build specific sub-directory

Connect CDC SQData for z/OS is available for download from Precisely https://www.precisely.com/support. Download the seven Connect CDC SQData distribution files into newly created version-release sub-directory. If necessary, unzip the sqdata-zos-4.nn.nn.zip distribution to yield the terse files.. Step 2. Upload Distribution Files to z/OS Upload the Connect CDC SQData distribution terse files, in binary, to your z/OS system. Make sure that you upload these files to datasets with a format of FB 1024. You may be able to use a windows Batch file to FTP the distribution files. Copy and paste the following lines into an new file named UpLoadSQD.bat; save the file and execute at the command line: -----Start copy below this line---- echo off rem **************************************************************** rem * Command Script to Upload the SQDATA Distribution Terse Files* rem ****************************************************************

rem ------rem Modify the following as required for your environment below rem ------rem SDIR: the name of the source Windows directory rem V: the Version number rem R: the Release number rem B: the Build number rem HOST: the name or IP address of the z/OS host system rem USER: a valid z/OS userid for the target host system rem PSWD: a valid z/OS password for the target host system rem HLQ: High level library Qualifier on target host system rem ------

rem **************************************************************** rem * Dynamically create an FTP script file and upload all the * rem * TERSE files to the target host SQDATA High Level Qualifier* * rem **************************************************************** set /p SDIR="Enter your Download Directory: " dir %SDIR% set /p V="Enter single digit Version: " set /p R="Enter two digit Release: " set /p B="Enter two digit Build: " set /p HOST="Enter your zOS Host name or IP Address: " set /p USER="Enter your zOS User-ID: " set /p PSWD="Enter your zOS Password: " set /p HLQ="Enter the High level library Qualifier eg:TEST: " echo %user% > u.ftp echo %pswd% >> u.ftp echo prompt >> u.ftp echo binary >> u.ftp echo quote site recfm=fb lrecl=1024 blksize=27648 cy pri=1 sec=1 >> u.ftp

24 Connect CDC SQData Installation Guide z/OS Installation

echo cd '%HLQ%' >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.CNTL.TERSE SQDATA.V%V%%R%%B%.CNTL.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.DBRMLIB.TERSE SQDATA.V%V%%R%%B%.DBRMLIB.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.ISPFLIB.TERSE SQDATA.V%V%%R%%B%.ISPFLIB.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.PARMLIB.TERSE SQDATA.V%V%%R%%B%.PARMLIB.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.PGMOBJ.TERSE SQDATA.V%V%%R%%B%.PGMOBJ.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.PROCLIB.TERSE SQDATA.V%V%%R%%B%.PROCLIB.TERSE >> u.ftp echo put %SDIR%/%V%.%R%.%B%/SQDATA.*.SAMPLIB.TERSE SQDATA.V%V%%R%%B%.SAMPLIB.TERSE >> u.ftp echo quit >> u.ftp ftp -s:u.ftp %host% echo you may delete this file > u.ftp echo File transfer complete

-----End copy above this line---- Step 3. Unterse the Distribution ISPFLIB file Using the following JCL as an example, create the SQDATA.V4nnnn.ISPFLIB library by untersing the distribution ISPFLIB.TERSE file. //UNTERSE EXEC PGM=AMATERSE,PARM='UNPACK' //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=SHR,DSN=SQDATA.V4nnnn.ISPFLIB.TERSE //SYSUT2 DD DSN SQDATA.V4nnnn.ISPFLIB, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=32720), // DISP=(,CATLG,DELETE),UNIT=SYSALLDA,DSNTYPE=LIBRARY, // SPACE=(TRK,(60,15,1)) Step 4. Execute the ISPF Installer Execute the installer using the ISPFLIB data set and one of the following methods: · Edit the ISPFLIB data set listed in ISPF option 3.4 (DSLIST), locate the SSLSETUP member, type ex next to SSLSETUP, then press Enter. · From an ISPF command line, enter: TSO EX 'SQDATA.V4nnnn.ISPFLIB(SSLSETUP)'

Connect CDC SQData Installation Guide 25 z/OS Installation

Step 5. The Installer Main Menu The Connect CDC SQData Installer main menu displays the steps required to unload the product libraries and prepare SQDATA to run in your environment ------SQData z/OS Installation ------Command ===>

Install product libraries. Select each option in order. Status

_ Unterse distribution data sets Not run _ Link load modules Not run _ Bind DB2 packages Not run

Define the daemon.

_ Create UNIX directories Not run _ Create Daemon Agents and ACL files Not run

Generate SAMPLE jobs for planning.

_ Create Started Task and Admin userids (SAMPLE) Not run _ Create System Logger LogStreams (SAMPLE) Not run

Select an option to continue or F1 for help or F3 to return. For the initial CDC installation, all steps must be completed in order. 1. Complete the steps in the Install product libraries section to install the SQDATA data sets, link the SQDATA load modules, and Bind the SQDATA DB2 package. 2. Complete the steps in the Define the daemon section to create the UNIX (OMVS) sample files that define a listener daemon. 3. The final two options Generate SAMPLE jobs to review with your systems and security staff. Resource planning, additional customization, and special authorization is usually required to complete these steps. 4. To apply maintenance or upgrade to a new version, only the steps in the first section are required. Step 6. Install the product libraries Complete the steps in this section to: · Unpack the Connect CDC SQData distribution data sets · Link the Connect CDC SQData load modules · Bind the Connect CDC SQData DB2 package

26 Connect CDC SQData Installation Guide z/OS Installation

Unpack the distribution data sets Tab to the Unterse distribution data sets option, type s and press Enter. Confirm the names of the input and output data sets. Input data sets are the product distribution libraries in Terse format. They will be unpacked into the output data sets shown on the panel. ------SQData z/OS Installation ------Command ===>

Specify data set names (from/to): DBRM: SQDATA.V40030.DBRMLIB.TERSE to: SQDATA.V40030.DBRMLIB

CNTL SQDATA.V40030.CNTL.TERSE to: SQDATA.V40030.CNTL

PARMLIB SQDATA.V40030.PARMLIB.TERSE to: SQDATA.V40030.PARMLIB

PROCLIB SQDATA.V40030.PROCLIB.TERSE to: SQDATA.V40030.PROCLIB

SAMPLIB SQDATA.V40030.SAMPLIB.TERSE to: SQDATA.V40030.SAMPLIB

PGMOBJ SQDATA.V40030.PGMOBJ.TERSE to: SQDATA.V40030.PGMOBJ

Press ENTER to continue or F1 for help or F3 to return. Notes: · The default names are derived from the ISPF installation dialog data set name. Therefore, you must change the names as necessary for your environment. · Only the input data sets must already exist. The output data sets must not exist since they are created by the unpack job. · It is possible to override both the input and output names if required. · The file names will be verified, input files that they exist, and the opposite for output files. · The installation cannot proceed if errors are found. A pop-up window will appear for each error. Confirm or correct the names of new data sets that are created by the unpack job. Press Enter to continue to the next panel.

Connect CDC SQData Installation Guide 27 z/OS Installation

------SQData z/OS Installation ------Command ===>

Specify data set names (create new)

FAILJCL SQDATA.V40030.FAILJCL

LOADLIB SQDATA.V40030.LOADLIB

SMS Storage Class for new data sets (Optional):

STORCLAS __

Press ENTER to continue or F1 for help or F3 to return. Notes: · These data sets must not already exist. · The default names are derived from the ISPF installation dialog data set name. Therefore, change the names as necessary for your environment. · Confirm the STORCLAS because the size of the PGMOBJ Library may exceed system defaults. While the size of the Tersed file is approximately 70 MB you should anticipate the untersed file may take over 400 Cylinders and the LOADLIB created by the subsequent Link Job more than 100 Cylinders..

File Name Contents Tersed File Size

SQDATA.ZOS.V4nnnn.PBMOBJ.TERSE Object modules for the Base Product 70 MB

Confirm or correct the names of new data sets. Press Enter to continue. At this point a job is built with all names and file sizes, etc., and is prepared for submission. This will define each output file and execute the terse steps. You should review and verify that the generated JCL and parameters are correct. Type SUBMIT on the command line and press ENTER to run the job, confirm that it was successful before continuing.

28 Connect CDC SQData Installation Guide z/OS Installation

Link the Load Modules Tab to the Link Connect CDC SQData load modules option, type s and press Enter. ------SQData z/OS Installation ------Command ===>

The following data set names must be completed and valid. CDC Object Lib.....: SQDATA.V40030.PGMOBJ CDC Load Lib...... : SQDATA.V40030.LOADLIB CDC Proc Lib...... : SQDATA.V40030.PROCLIB LE Runtime Lib.....: CEE.SCEELKED CSS Runtime Lib....: SYS1.CSSLIB Link List Lib...... : SYS1.LINKLIB TCP/IP Runtime Lib.: TCPIP.SEZACMTX USS Exec LIb..: SYS1.SBPXEXEC

The following are optional. Erase name if not required. CICS Loadlib...... : CICSTS54.CICS.SDFHLOAD CICS Excilib...... : CICSTS54.CICS.SDFHEXCI IMS Reslib...... : IMS15.IMSTG1.SDFSRESL DB2 Loadlib...... : DSNCC10.SDSNLOAD

Press ENTER to continue or F1 for help or F3 to return. Notes: · The data set names displayed are referenced in subsequent installation jobs. · The system data set names displayed on this panel are generic and may not be correct for your environment. Therefore, you should change the name to suit your system requirements. · The files in the first group are mandatory. · The second group of files are optional, depending on the features that you plan to use. If for example, the current site only has DB2, then you can erase the CICS and IMS file name and only DB2 will be linked.

Press Enter to continue. At this point a job is built to link all of the Load Modules. You should review and verify that the generated JCL and parameters are correct. Type SUBMIT on the command line and press ENTER to run the job, confirm that it was successful before continuing.

Connect CDC SQData Installation Guide 29 z/OS Installation

Bind the Db2 Package Tab to the Bind CDC DB2 package option, type s and press Enter. ------SQData z/OS Installation ------Command ===>

Install product libraries. Select each option in order. Status .------*** DB2 Bind *** ------. | | | DBRM Library..: WWCDKR.SQDCDC.DBRMLIB.Vnnnnn | S | | | DB2 Loadlib...: DSNCC10.SDSNLOAD | Defi | DB2 SSID...... : DBCG | | | | Press F1 for help or ENTER to continue. | | | '------' Generate SAMPLE jobs for planning.

Create Started Task and Admin userids (SAMPLE) Not run Create System Logger LogStreams (SAMPLE) Not run

Notes: · Specify the name of the data set that contains the DBRM modules (DB2 Database Request Module). · Specify the subsystem ID and load library of the DB2 to Bind the CDC DB2 package to. · The permissions required by the Bind Job may require intervention. Press Enter to continue. At this point a job is built to Bind the Db2 Package. You should review and verify that the generated JCL and parameters are correct. Type SUBMIT on the command line and press ENTER to run the job, confirm that it was successful before continuing. Step 7. Define the Listener Daemon Complete the steps in the "Define the daemon" section to create sample files that define a listener daemon.

30 Connect CDC SQData Installation Guide z/OS Installation

Create UNIX directories Tab to the Create UNIX directories option, type s and press Enter. · Specify the starting path name and permission mask for the SQDATA UNIX files and directories. The maximum length of the starting path name is 56 characters. · The permission mask consists of three octal digits to define owner, group, and world access. ------SQData z/OS Installation ------Command ===>

Specify the UNIX directory path name

Directory: /u//

Permissions: 755

Press ENTER to continue or F1 for help or F3 to return.

Notes: · You may want to confirm the User_ID to be used for execution of the product. Press Enter to continue. At this point a job is built to create the OMVS directory structure. You should review and verify that the generated JCL and parameters are correct. Type SUBMIT on the command line and press ENTER to run the job, confirm that it was successful before continuing.

Create Daemon Agents and ACL Files Tab to the Create Daemon Agents and ACL files option, type s and press Enter. If the UNIX directory path and file permission were provided on the Create UNIX File System Directories panel, that information will be used again for the Create Daemon Agents and ACL files option. However, if you skip the Create UNIX directories option and proceed directly to the Create Daemon Agents and ACL files option, which you might do if the UNIX directories already exist, you will be prompted for that information on the same Create File System Directories panel used for UNIX directories. ------SQData z/OS Installation ------Command ===>

Specify the UNIX directory path name

Directory: /u/home/

Permissions: 755

Press ENTER to continue or F1 for help or F3 to return.

Press Enter to continue.

Connect CDC SQData Installation Guide 31 z/OS Installation

At this point a job is built to create the OMVS directory structure. You should review and verify that the generated JCL and parameters are correct. Type SUBMIT on the command line and press ENTER to run the job, confirm that it was successful before continuing. Step 8. Generate Sample Jobs for planning The final two options on the main menu generate SAMPLE jobs to review with your systems and security staff. Resource planning, additional customization, and special authorization is usually required to complete these steps.

Create Started Task and Admin Userids This panel collects information used to generate a sample RACF command job to define userids for a capture task, a daemon, and a product administrator. It is not intended to be submitted as-is and must be modified to conform to your security environment. Security requirements should be discussed with your RACF administrator. The sample definitions generated in this step can help to facilitate that discussion. ------SQData z/OS Installation ------Command ===>

Verify/Modify the following names:

DB2 Capture Agent...... : CDCDB2C

z/OS Listener Daemon....: CDDAEMON

Administrative User.....: WWCDKR

Owner...... : SYS1

Default Group...... : START2

Additional Connect Group: SYS1

Contact...... : Your name here?

Press ENTER to continue or F1 for help or F3 to return.

Press Enter to continue. At this point a job is built to create the OMVS directory structure. You should review and verify that the generated JCL and parameters are correct. Make a note of the Member created ISPFLIB(SSLJRACF) because you may not have adequate permissions to run this job, which is required before you will be able to execute a Capture.

32 Connect CDC SQData Installation Guide z/OS Installation

Create System Logger LogStream Specify the name of the System Logger LogStream for the CDC publisher. The maximum length is 26 characters. This step is necessary for the VSAM or IMS capture. It is not required for DB2. Discuss System Logger requirements with your coupling facility resource owners and systems programming staff. The generated sample job is not intended to be submitted as-is. Special authority is required to update and activate a CFRM policy when using structure-based log streams, and to define log streams in the LOGR policy. ------SQData z/OS Installation ------.------*** LogStream name *** ------. | | | Enter the name of the log stream for VSAM or IMS capture. | | Omit this step for DB2. | | | | LogStream name: CDC.LOG | | | | | | Press ENTER to continue or F1 for help. | | | '------'

Press Enter to continue. At this point a job is built to create a z/OS System Logger LogStream. You should review and verify that the generated JCL and parameters are correct. Make a note of the Member created ISPFLIB(SSLJIXCM) because you may not have adequate permissions to run this job, which is required before you will be able to execute a VSAM or IMS capture. Step 9. APF Authorize the Load Library IMPORTANT - The SQD LOADLIB must be APF authorized. Initially, this can be done via the operator’s console via the SETPROG APF command. The list of currently APF authorized files can be viewed using the z/OS ISPF/SDSF facility. First, enter "/D PROG, APF" at the SDSF command prompt to generate the list. Next, enter "LOG" at the SDSF command prompt, scroll to the bottom of the log to display the results of the previous command and then back up and to the right to view the complete listing of the command. Make sure that the APF authorization is made a permanent part of the IPL APF authorization procedure prior to attempting to run Connect CDC SQData.

Connect CDC SQData Installation Guide 33 z/OS Installation

Starting the ISPF Interface

The z/OS ISPF interface is an administration tool that allows you to configure, administer and monitor z/OS capture agents, publishers, subscriptions, and controller daemons. The application includes a set of online help panels to assist you as necessary. Please visit Precisely https://www.precisely.com/support if you have any questions or would like a walk through of the interface. Execution The syntax to invoke the ISPF interface from TSO option 6 is: EXEC 'SQDATA.V4nnnnn.ISPFLIB(SQDC$STA)' 'SQDATA.V4nnnnn'

Where the first argument is the fully qualified name of the start module SQDC$STA and the second argument is the high-level qualifier of the SQDATA ISPF library. You can change your load library and other defaults values in Defaults option 0 (see below). For example, if your SQDATA libraries are named SQDATA.V400.xxxxxxxx, you would specify: EXEC 'SQDATA.V4nnnnn.ISPFLIB(SQDC$STA)' 'SQDATA.V4nnnnn'

To create a REXX exec to invoke the ISPF interface, simply create a new exec member with the following contents. /* ------REXX procedure ------*/ EXEC “'SQDATA.V4nnnnn.ISPFLIB(SQDC$STA)' 'SQDATA.V4nnnnn'”

Security Requirements The ISPF interface is intended to be used for administration as well as snapshot monitoring. The following security access is required to use the ISPF interface · Read/write access to the ZFS directories that contain capture/publisher cab files and daemon files. · Read access to any z/OS Logstreams (option 5) that you wish to browse. · The documentation and help for the Connect CDC SQData ISPF interface is contained online within the ISPF interface. There are also capture specific Quick Start guides that provide instructions for the use of this interface. Note: For the Logstreams (option 5), you must have the program IXCMIAPU added to your authorized program names in the IKJTSOxx member in SYS1.PARMLIB. You also need read access to the Logstreams to view statistics.

34 Connect CDC SQData Installation Guide z/OS Installation

Setting the Defaults during First Time Execution When you run the Connect CDC SQData ISPF interface for the first time or via option 0, you will be directed to the Defaults panel. From here, you will need to setup the defaults for your environment.

V4.00------Connect CDC SQData Session Defaults ------Option ===>

ISPF Library ==> SQDATA.V40030.ISPFLIB SQDATA Load Library ==> 'SQDATA.V40030.LOADLIB'

Default Directories/Libraries: SQDATA zFS Directory ==> /home/sqdata/test SQDATA PARM Library ==> 'SQDATA.TEST.PARMLIB' SQDATA PROC Library ==> 'SQDATA.TEST.PROCLIB' IMS DBD Source Library ==> XPARM Source Library ==> ISPF Table Library ==> 'SQDATA.TEST.ISPFTBLS'

Other Default Settings: DB2 SSID ==> DBBG (req for DB2 catalog access) Local z/OS Host Name ==> ZOS21 Local DAEMON Port # ==> 2626 (req for daemons)

NACL Key Files: Public Key ==> 'SQDATA.NACL.PUBLIC' Private Key ==> 'SQDATA.NACL.PRIVATE' Authorized Keys ==> 'SQDATA.NACL.AUTH.KEYS'

ENTER --> Save END --> Save and Exit CANCEL --> Exit without Saving Parameter Descriptions ISPF Lib High Level Qualifier (required): should already be set as it is the second argument when invoking the ISPF interface. Make sure that you do not use single quotes around this parameter. SQDATA Load Library (required): should already be set, but can be changed to reference a specific version of a SQDATA load library Default zFS Directory (required): specify the default directory where you plan to store your capture / publisher cab files, daemon files, etc. You can override the zFS directory for individual agents when creating them. IMS DBD Source Library (optional): if you are planning to configure an IMS capture agent that requires an XPARM module, such as the IMS near-real-time capture for IMS TM, specify the DBD source library here. XPARM Source Library (optional): if you are planning to configure an IMS or VSAM capture agent that requires an XPARM module, specify the XPARM source library here. SQDATA Script Library (optional): ** Reserved for future use ** will be used to store generated engine scripts. DB2 SSID (optional): required only if you are planning to access the DB2 catalog to configure the tables to be included in your SQDATA DB2 capture agent. IBM MQ Queue Manager (optional): required only if you are planning to browse IBM MQ queues (option 6). Local z/OS Host Name (optional): required only if you are planning to display any controller daemons running on the local LPAR image.

Connect CDC SQData Installation Guide 35 z/OS Installation

Local z/OS Port Number (optional): required only if you are planning to display any controller daemons running on the local LPAR image. This is the port number of the local daemon that you will be managing. ISPF Table File (required): should already be set to your ISPF profile dataset. You can specify an alternate library for storing tables, profile variables, etc. NACL Key Files - Public Key (optional): required only if you are planning to issue SQDMON commands via Utilities option 1.3 and/or planning to manage local controller daemons (option 2). NACL Key Files - Private Key (optional): required only if you are planning to issue SQDMON commands via Utilities option 1.3 and/or planning to manage local controller daemons (option 2). Accessing Online Help The documentation and help for the Connect CDC SQData ISPF interface are contained online within the ISPF interface. Press F1 or type HELP from any panel to access information regarding the specific panel or function. There are also capture specific Quick Start guides that provide instructions for the use of this interface. Please visit Precisely https://www.precisely.com/support if you have any questions that are not explained clearly in the help panels.

36 Connect CDC SQData Installation Guide z/OS Installation

Product Operation

Note: Connect CDC SQData can be configured to operate as either standard z/OS JOBS or Started Tasks. Examples throughout the documentation and samples provided in the distribution utilize z/OS JCL. Systems programmers may choose to implement these as started tasks if desired. Connect CDC SQData also provides its own tool for operating various components using a single started Task, the z/OS Master Controller. It provides some additional flexibility for notification of component failure. Many components also support console commands whether they are run as standard z/OS Jobs, Started Tasks or under Connect CDC SQData's Master Controller.

Connect CDC SQData Installation Guide 37 z/OS Installation

Product Maintenance

From time to time, Precisely will provide maintenance releases for the Connect CDC SQData base product components. These maintenance releases include: · Correction of program defects · Small enhancements · New functions or support for additional datastore types The distribution of Connect CDC SQData product maintenance is through Precisely https://www.precisely.com/support where you will also find product documentation in both WebHelp and PDF format. The Support portal is password protected, and individual user accounts will be provided upon request to customers. While maintenance releases generally involve only a subset of Connect CDC SQData modules, updates are packaged as a full installation. Migration of an installation from one environment to the next, development to production for example may involve little more than copying the LOADLIB members to the production libraries. There is nothing that ties the linked modules directly to the LOADLIB. If however, your environments have different version of DB2 or IMS, then the safest course is to re-link in the the upper environments. This is because we include certain IMS, DB2, CICS and MQ modules. If you are using the product with those modules in lower environments and they are compatible with those in upper environments, then no re- link on upper environments is needed. If they are not compatible, then you have to re-link. Important: It is highly recommended that you back up your current object and load module libraries before applying any maintenance release. This allows you to quickly back out the maintenance if any problems arise.

38 Connect CDC SQData Installation Guide UNIX Installation

While Connect CDC SQData started out as a tool for the Mainframe, customers don't operate homogeneous environments. Written in C for portability, Connect CDC SQData can capture from and apply changed data to Oracle and UDB (Db2/LUW) on Unix based operating systems. Connect CDC SQData provides for seamless cross-platform operation between Mainframe and high performance Linux/UNIX and Windows platforms, providing a robust and highly available tool for enterprise integration, high performance data conversion and extraction (ETL). Connect CDC SQData uses native TCP/IP for communication between components on and across platforms. It also integrates with the Kafka distributed streaming platform, Hadoop and IBM MQ messaging framework. This section is intended for the system administrator responsible for the installation and maintenance of the Connect CDC SQData for UNIX product. The following information is provided in this document: · Prerequisite hardware and software · UNIX Security Requirements · Product Distribution and Packaging · Product Installation · Product maintenance

Connect CDC SQData Installation Guide 39 UNIX Installation

Prerequisites

The prerequisites refer to the hardware and software required in order to install Connect CDC SQData for UNIX. Hardware The Connect CDC SQData for UNIX product requires a minimum of 25MB of disk storage and operates on the following hardware platforms: · IBM AIX – RS/600, pSeries server · Intel – Pentium III or higher · AMD – Athlon Software Mandatory You must have one of the following operating systems running on your hardware. · IBM AIX – Versions 4.3 of 5.1 (32 and 64 bit) and higher · RedHat Linux and others. Software Optional If you plan to access distributed databases with Connect CDC SQData, you will need at least one of the following: · IBM DB2 LUW V2 or higher · Oracle 8.i or higher · Any other ODBC compliant relational database management system (RDBMS) If you plan on transporting captured data through a Messaging Service, you will need: · Kafka V0.80 or higher · IBM MQ version 6 release 1 (V6R1) or higher (Engine target only, IBM MQ deprecated from Capture)

40 Connect CDC SQData Installation Guide UNIX Installation

UNIX Security Requirements

This section describes the authorization requirements for administration and operation of Connect CDC SQData and the access requirements for system and user directories allocated during the Connect CDC SQData for AIX and Linux installation process. Administrative User Authorization The level of privileges required by the Connect CDC SQData Administrative User depends on the location chosen for the base product installation. Most Connect CDC SQData for UNIX customers utilize a special system account established for sqdata_user rather than an individual user account because it usually needs elevated privileges designated for configuring and executing the capture and apply processes. If necessary have the system administrator create that account. TCP/IP Ports · The Daemon (program sqdaemon) needs access to the designated port number that it will listen on. The default port number is 2626 but it can be any available port reserved on the platform. · All Connect CDC SQData capture, publisher, daemon, Engine and Utility tasks require access to the TCP/IP Stack. Installation Directories On UNIX based machines, executables are typically installed in /opt under a folder named for the product. /opt is usually owned by root, so the Administrator privileges would be required to create the sqdata folder and decompress the package into this location. To allow multiple users to access the package without giving access to everyone, the system administrator can define an sqdata group and grant permissions on the package to the group.

MKDIR '/opt/sqdata/' MODE(7,7,5)

Alternatively, the product can be installed into the system account user's home directory, eg: /home/sqdata/sqdata. No other special privileges are needed required and the system account user can grant permissions on it’s own directories and files to a group of individual users and/or everyone else without administrator privileges.

MKDIR '/home/sqdata_user/sqdata' MODE(7,7,5)

Variable Directories Once source and target systems and datastores have been identified, the configuration of the Capture Agents, Apply Engines and their Controller Daemon's can begin. That will require the creation of directories and files for variable portions of the configuration. At this point we assume the base Connect CDC SQData product has already been installed according to the instructions in the Installation Guide and the Operating Systems specific $Start_Here_.pdf. The recommended location and Environment Variable values for this static data were:

/opt/sqdata or

/home//sqdata

If you would like to use an Environment Variable to reference the installation location, the recommended value is:

Controller Daemons, Capture Agents and Engines require the creation of directories and files for variable portions of their configurations. Just as the location of the base product installation can be modified, the location of variable directories can be adjusted conform to the operating system and to accommodate areas of responsibility, including

Connect CDC SQData Installation Guide 41 UNIX Installation the associated "application" and optionally Testing or Production environments. This document will refer to the location most commonly used on Linux, AIX and Windows: /var/opt/sqdata[/[/]] or

/home/[/[/]] or simply

/home/sqdata[/[/]]

If you like to use an Environment Variable to reference the location of variable portions of the configuration, the recommended value is:

While only the base variable directory is required and the location of the daemon directory is optional, we recommend the structure described below: /daemon - The working directory used by the Daemon that also contains two sub directories.

/daemon/cfg - A configuration directory that contains two configuration files.

/daemon/logs A logs directory, though not required, is suggested to store log files used by the controller daemon. Its suggested location below must match the file locations specified in the Global section of the sqdagents.cfg file created in the section "Setup Controller Daemon" later in this document..

If this system will include a Change Data Capture agent, we recommend the structure described below:

/cdc The working directory of the capture agent.

/cdc/data - A data directory is required by the Capture agents. Files will be allocated in this directory as needed by the CDCStore Storage Agent when transient data exceeds allocated in-memory storage. The suggested location below must match the "data_path" specified in the Storage agent configuration (.cab file) described later in this chapter. A dedicated File System is required in production with this directory as the "mount point".

Note, the User-ID(s) under which the capture CDCStore and the Controller Daemon will run must be authorized for Read/Write access to these directories. The following commands will create the directories described above: $ mkdir -p /daemon --mode=775 $ mkdir -p /daemon/cfg --mode=775 $ mkdir -p /daemon/log --mode=775

$ mkdir -p /cdc --mode=775 $ mkdir -p /cdc/data --mode=775

NaCL Key Pair Generation The Controller Daemon uses a Public / Private key mechanism to ensure component communications are valid and secure. A key pair must be created for the sqdaemon process User-ID and the User-ID's of all the Agent Jobs that interact with the Controller Daemon. On UNIX, by default, the private key is stored in ~/.nacl.id_nacl and the public key in ~/.nacl/id_nacl.pub. These two files will be used by the daemon in association with a sequential file containing a concatenated list of the Public Keys of all the Agents allowed to interact with the Controller Daemon. The Authorized Keys file must contain at a minimum, the public key of the sqdaemon process User-ID and is usually named nacl_auth_keys and placed in the /daemon directory.

42 Connect CDC SQData Installation Guide UNIX Installation

The file must also include the Public key's of Engines, running on the same or another platform, that connect to the Controller Daemon. The Authorized Keys file is usually maintained by a Systems Administrator. The sqdutil utility program using the keygen command is used to generate the necessary keys. The command must be run under the User-ID that will be used to run the Controller Daemon process. $ sqdutil keygen

Notes: 1. If the Daemon, Capture Agent and Apply Engine are running on the same system, they may optionally run under the same User-ID, in which case they would share the same public/private key pair. 2. Changes are not known to the Daemon until the configuration files are reloaded, using the SQDmon Utility, or the sqdaemon process is stopped and started. Db2/LUW (UDB) Authorizations The Db2/LUW (UDB) Log Reader Capture requires special user privileges and preparation to access and read the Db2 Recovery Logs using the Db2/LUW (UDB) Instrumentation Facility Interface (IFI) calls. Version 4 of Connect CDC SQData also requires some system tables to be captured to support Schema Evolution. The following GRANTS are required: · GRANT DBADM ON DATABASE TO < sqdata_user>; · GRANT EXECUTE ON PACKAGE sqdddb2d TO < sqdata_user>; · GRANT SELECT ON SYSIBM.SYSTABLES TO < sqdata_user>; · GRANT SELECT ON SYSIBM.SYSCOLUMNS TO < sqdata_user>; · GRANT SELECT ON SYSIBM.SYSDATAPARTITIONS TO < sqdata_user>; Db2 Reorg and Load procedures may need to be updated: · KEEPDICTIONARY=YES parameter must be used by all Db2 REORG and LOAD Utilities. If the CDC process is run asynchronously, for some reason gets behind or is configured to recapture older logs, the proper Compression Dictionary must be available. Schema Evolution Requires DATA CAPTURE CHANGES on Two (2) Catalog Tables: 1. SYSIBM.SYSTABLES 2. SYSIBM.SYSCOLUMNS Notes: · A common database request module (DBRM)sqddd2b.bnd ships as part of the product distribution and a Bind must be performed on the Package:

bind /bnd/ sqdddb2d.bnd grant public · Each Db2/LUW (UDB) table to be captured also requires:

ALTER TABLE DATA CAPTURE CHANGES;

Connect CDC SQData Installation Guide 43 UNIX Installation

Oracle Authorizations The Oracle LogMiner Capture requires special user privileges and preparation to access and read the Oracle Recovery Logs using the Oracle LogMiner API. Enable LogMiner functionality · ALTER DATABASE ADD SUPPLEMENTAL LOG DATA provides the minimal level of database metadata required by the Oracle LogMiner. The following GRANTS are required: 1. GRANT LOGMINING TO ; (only required for Oracle 12 and above) 2. EXECUTE authority: a. GRANT EXECUTE_CATALOG_ROLE TO ; b. GRANT EXECUTE DBMS_LOGMNR TO ; c. GRANT EXECUTE DBMS_LOGMNR_D TO ; 3. SELECT authority: a. GRANT SELECT ON V$LOGFILE TO ; b. GRANT SELECT ON V$ARCHIVED_LOG TO ; c. GRANT SELECT ON V$LOG TO ; d. GRANT SELECT ON V$DATABASE TO ; e. GRANT SELECT ON V$LOG_HIST TO ; f. GRANT SELECT ON V$LOGMNR_CONTENTS TO ; g. GRANT SELECT ON V$INSTANCE TO ; h. GRANT SELECT ON V$THREAD TO ; i. GRANT SELECT ANY TRANSACTION TO ; authority to allow for querying the Oracle FLASHBACK_QUERY_TRANSACTION view j. GRANT SELECT MAX(SCN_BAS) from SYS.SMON_SCN_TIME TO ; (9i only) Notes: · The LogMiner Capture requires Oracle client access (same requirements as sqlplus) · Each Oracle table to be captured also requires:

ALTER TABLE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; Hadoop HDFS Authorizations In addition to the installation of the libhdfs library, writing to Hadoop HDFS requires the following permissions: · Read access to libhdfs.so · Userid running Engine must be owner, authorized or in an HDFS group with read/write privileges · May require hadoop classpath –glob

44 Connect CDC SQData Installation Guide UNIX Installation

Kafka Authorizations In addition to the installation of the librdkafka library, writing to Kafka requires the following permissions: · Read access to librdkafka libraries · Port access [plaintext, sasl, zookeeper if desired] · Plaintext security – no changes needed · SASL/Kerberos – follow details in librdkafka doc for producer config, client keys, etc.

Connect CDC SQData Installation Guide 45 UNIX Installation

Packaging

The Connect CDC SQData product is distributed through Precisely https://www.precisely.com/support where you will also find product documentation in both WebHelp and PDF format. The Support portal is password protected, and individual user accounts will be provided upon request to customers. Unless otherwise directed, choose the latest available package for your platform. Note that some platforms have both 32 and 64-bit versions. The Connect CDC SQData for UNIX product package consists of one .pdf file and a single compressed tar file as described below. Note, the file name indicates the Operating System (OS) (i.e. Linux, SUN, AIX, HP, etc.), Version (v), release number (r) and build. Unless instructed otherwise, a new installation should always be made using the latest version, release and build available.

File Name Contents

A concise set of installation instructions utilizing the $START_HERE_UNIX.pdf platform specific terminology.

Executable modules for the Connect CDC SQData for sqdata-OS_v.r.b.tar.gz Unix product along with sample shell scripts that you can use to run the Connect CDC SQData components.

Syntax: sqdata--...

Example: V4 for UNIX: sqdata-aix32-4.0.30.tar.gz sqdata-aix64-4.0.30.tar.gz sqdata-linux-x86_64-4.0.30.tar.bz2 sqdata-sun64-4.0.30.tar.gz

46 Connect CDC SQData Installation Guide UNIX Installation

Product Installation

The $Start_Here_UNIX.pdf contains the very latest instructions for installing and/or updating your SQData for Multiplatform installation. Before you open the .pdf you should read the remainder of this section which expands on the installation steps . When you are ready, open this file and carefully follow each step to complete the basic installation of the product. After that you should refer to the Connect CDC SQData Capture Guide and specific Capture Reference documentation to complete the installation and configuration of the products you have selected. Step 1. Identify the Installation Account Most customers utilize a special "sqdata_user" account established specifically for that purpose because it usually needs elevated privileges to read and apply data. If necessary have the system administrator create that account. If Connect CDC SQData is going to be used to access any local databases, the user will need privileges to operate on those databases. Those privileges include SELECT, DELETE, INSERT, and UPDATE. Step 2. Pick Install Location While there is no specific location that Connect CDC SQData must be installed, this section describes two platform dependent installation scenarios. The most important thing to consider when picking an install directory to make sure all the users that need to access the package have permission to access it. Depending on what type of environment our product is being used in (Production/Test/Development), there can be dramatically different security concerns from very stringent to everyone having administrative privileges on the machine. The first level of security is specifying file system access to executables. On UNIX systems executables are typically installed in /opt under a directory named for the product. The /opt directory is usually owned by root, so administrator privileges would be required to create the /opt/sqdata directory and decompress the package into this location. To allow multiple users to access the installation without giving access to everyone, the system administrator can define an sqdata group and grant permissions on the directory to the group. Alternatively, the product can be installed into the home directory of the user designated to run the capture/apply process, eg: /home//sqdata. To install to this location no special privileges are required, and the user can grant permissions on the directory to a group of users without administrator privileges. From this point, the installation directory will be referred to as . Step 3. Download the Platform Specific Package Locate the package needed for your platform. Once you have identified which package is to be installed, click on the appropriate link to download the compressed package to your desktop or directly to the Installation location previously selected. Note, this should be a BINARY transfer. Step 4. Decompress the Package The package is distributed as a compressed Tar file with the extension (bz2 or .gzip) representing the compression method. Refer to documentation on Tar for its many possible options. If you are installing the product from the command line in the installation working directory, the command for example could be:

$ tar -xvjf sqdata--.tar.bz2 or $ tar -xvzf sqdata--.tar.gz

Connect CDC SQData Installation Guide 47 UNIX Installation

Step 5. Review Contents of Install Directory The decompression and extraction process will create a version labeled directory structure for the executables in the installation directory: sqdata- sqdata-/bin sqdata-/bin/dbg sqdata-/bnd

The "release" version of the executables is found under /bin and the diagnostic version under /dbg. The release version has much of the code used for debugging excluded, making the code faster with fewer runtime instructions, but providing little diagnostics if something goes wrong. Some customers run the debug version in their test environment and the release version in their production environment. Other customers run the diagnostic (/dbg) code in both test and production because they see little difference in performance on their systems.

The /bnd directory contains the DBRM module to Bind when applying to Db2. The Tar files for each version will remain in the installation directory along with their corresponding version numbered directory structure, facilitating both upgrade and regression testing. Step 6. Create a Symbolic link to the Executables A symbolic link should be created to the executable directory of the current version. When new maintenance is applied, do not remove the old directories; just install the new version (which will create a new directory with a new version number) and update the link to point to the new location. Any scripts or PATH variables that need to reference the location of executables can use this symbolic link and thus not be version specific. Here we create a symbolic link called "bin" under which points to the current debug version of the code: $ ln -s /sqdata-/bin/dbg /bin

WARNING: Only update the link when you are ready to stop and restart the product to use the new version. Step 7. Update Environment Precisely recommends that you run the application without fully qualifying executables by adding the symbolic link created in the last step to your PATH environment variable. Append the link to the existing PATH variable as follows: $ export PATH="$PATH:/bin"

This setting will only affect the current shell or the current logged on user. If you would like to maintain this behavior for all new sessions, alter the profile. For example, in bash environments, add the export command to the user’s /home//.bashrc file. If you edit the user’s profile, it must be resourced for the changes to take effect in the current session. Administrator privileges are not required for a user to alter its own PATH variable and are generally not required for a user to alter its profile. Note, if sqdaemon is being used to start and stop agents, it will be necessary to kill and restart sqdaemon in order to exercise the newly installed executables. Step 8. Prepare Environmental Variables Various environment variables can be used by Connect CDC SQData. For example, if an Engine will Apply to Oracle, the environment variables ORACLE_SID and ORACLE_HOME need to be populated. If an Engine will Apply to Db2/LUW (UDB), the environment variable DB2_INSTANCE needs to be populated by sourcing db2profile. Connect CDC SQData will use this information, together with the standard install locations for each product, to find and load the necessary drivers and libraries. If the products are not installed in a standard location, Connect CDC SQData looks for specific environment variables to override the defaults. For example, the

48 Connect CDC SQData Installation Guide UNIX Installation

LD_LIBRARY_PATH environment variable to find ODBC drivers. Usually, only database specific environment variables need to be populated as described above. Environment variables can be set when a session starts by altering the sqdata_user profile. For example, to set the ORACLE_SID to "sqdata", add "export ORACLE_SID=sqdata" to the user's /home/sqdata/.bashrc file for bash environments. Step 9. Verify Installation The installation can now be verified by simply typing in the module name of interest at the command line. Generally, if you provide the module name without any arguments or provide either --help, -V, or -h, information about the product such as the command line syntax and/or version information is displayed. It is a good idea to run the following command from the command line to verify that the soft link and PATH variable has been updated correctly and that you are running the expected version of the code: $ sqdata -V

Connect CDC SQData Installation Guide 49 UNIX Installation

Product Maintenance

From time to time, Precisely will provide maintenance releases for the Connect CDC SQData base product components. These maintenance releases include: · Correction of program defects · Small enhancements · New functions or support for additional datastore types The distribution of Connect CDC SQData product maintenance is through Precisely https://www.precisely.com/support where you will also find product documentation in both WebHelp and PDF format. The Support portal is password protected, and individual user accounts will be provided upon request to customers. While maintenance releases generally involve only a subset of Connect CDC SQData modules, updates are packaged as a full installation. Simply follow the first 6 steps above as you did on the initial installation. Note that the maintenance installation will not overlay your existing installation, as each release has a unique name beneath the main "sqdata" directory.

50 Connect CDC SQData Installation Guide Windows Installation

While Connect CDC SQData started out as a tool for the Mainframe and then for UNIX, the Apply Engine components also operates on the Windows platform. Written in C for portability, Connect CDC SQData can apply changed data to SQL Server, Oracle and UDB (DB2/LUW) on Windows based operating systems. Connect CDC SQData provides for seamless cross-platform operation between Windows, high performance Linux/UNIX and z/OS platforms, providing a robust and highly available tool for enterprise integration, high performance data conversion and extraction (ETL). Connect CDC SQData uses native TCP/IP for communication between components on and across platforms. It also integrates with the Kafka distributed streaming platform, Hadoop and IBM MQ messaging framework. Note: Support for SQL Server Capture by Connect CDC SQData has been deprecated due to changes in SQL Server logging methods. Precisely 's Connect CDC Share, fully supports SQL Server Capture. This section is intended for the system administrator responsible for the installation and maintenance of the Connect CDC SQData for Windows product. The following information is provided in this document: · Prerequisite hardware and software · Windows Security Requirements · Product Distribution and Packaging · Product Installation · Product maintenance

Connect CDC SQData Installation Guide 51 Windows Installation

Prerequisites

The prerequisites refer to the hardware and software required in order to install Connect CDC SQData for Windows. Hardware The Connect CDC SQData for Windows product requires a minimum of 25MB of disk storage and operates on the following hardware platforms: · Intel – Pentium III or higher · AMD – Athlon Software Mandatory The prerequisites refer to the system software required in order to install Connect CDC SQData for Windows. · Connect CDC SQData supports Versions of Windows WIndows Server 2008 or higher. Software Optional If you plan to access databases running on Windows Server with Connect CDC SQData, you will need at least one of the following: · IBM DB2 LUW V10 or higher · Oracle 11 or higher · SQL Server 2008 or higher (Apply Engine only, Capture has been deprecated) · Any other ODBC compliant relational database management system (RDBMS)

52 Connect CDC SQData Installation Guide Windows Installation

Windows Security Requirements

This section describes the authorization requirements for administration and operation of Connect CDC SQData and the access requirements for system and user datasets allocated during the Connect CDC SQData for Windows installation process. Administrative User Authorization The level of privileges required by the Connect CDC SQData Administrative User depends on the location chosen for the base product installation. Most Connect CDC SQData for Windows customers utilize a special system account established for sqdata rather than an individual user account because it usually needs elevated privileges to read and apply data. If necessary have the system administrator create that account. TCP/IP Ports · The Daemon (program sqdaemon) needs access to the designated port number that it will listen on. The default port number is 2626 but it can be any available port reserved on the platform. · All Connect CDC SQData daemon, Engine and Utility tasks require access to the TCP/IP Stack. Installation Directories Connect CDC SQData for Windows is a 32 Bit application so its executables are typically installed in the c:/Program Files (x86) directory. Use of that directory for installation will require Administrator privileges but will allow multiple users to access the product without giving access to everyone. Alternatively, the product can be installed into a user’s home directory, eg: :\Users\\sqdata. Most Connect CDC SQData for Windows customers utilize a special "sqdata_user" account established specifically for that purpose because it usually needs elevated privileges to read and apply data. If necessary have the system administrator create that account. The sqdata_user can then grant the appropriate permissions on it’s own files to a group of users without additional administrator privileges. Variable Directories Once source and target systems and datastores have been identified, the configuration of the Capture Agents, Apply Engines and their Controller Daemon's can begin. That will require the creation of directories and files for variable portions of the configuration. At this point we assume the base Connect CDC SQData product has already been installed according to the instructions in the Installation Guide and the Operating Systems specific $Start_Here_.pdf. The recommended location and Environment Variable values for this static data were:

/opt/sqdata or

/home//sqdata

If you would like to use an Environment Variable to reference the installation location, the recommended value is:

Controller Daemons, Capture Agents and Engines require the creation of directories and files for variable portions of their configurations. Just as the location of the base product installation can be modified, the location of variable directories can be adjusted conform to the operating system and to accommodate areas of responsibility, including the associated "application" and optionally Testing or Production environments. This document will refer to the location most commonly used on Linux, AIX and Windows: /var/opt/sqdata[/[/]] or

/home/[/[/]] or simply

Connect CDC SQData Installation Guide 53 Windows Installation

/home/sqdata[/[/]]

If you like to use an Environment Variable to reference the location of variable portions of the configuration, the recommended value is:

While only the base variable directory is required and the location of the daemon directory is optional, we recommend the structure described below: /daemon - The working directory used by the Daemon that also contains two sub directories.

/daemon/cfg - A configuration directory that contains two configuration files.

/daemon/logs A logs directory, though not required, is suggested to store log files used by the controller daemon. Its suggested location below must match the file locations specified in the Global section of the sqdagents.cfg file created in the section "Setup Controller Daemon" later in this document..

If this system will include a Change Data Capture agent, we recommend the structure described below:

/cdc The working directory of the capture agent.

/cdc/data - A data directory is required by the Capture agents. Files will be allocated in this directory as needed by the CDCStore Storage Agent when transient data exceeds allocated in-memory storage. The suggested location below must match the "data_path" specified in the Storage agent configuration (.cab file) described later in this chapter. A dedicated File System is required in production with this directory as the "mount point".

Note, the User-ID(s) under which the capture CDCStore and the Controller Daemon will run must be authorized for Read/Write access to these directories. The following commands will create the directories described above: $ mkdir -p /daemon --mode=775 $ mkdir -p /daemon/cfg --mode=775 $ mkdir -p /daemon/log --mode=775

$ mkdir -p /cdc --mode=775 $ mkdir -p /cdc/data --mode=775

NaCL Key Pair Generation The Controller Daemon uses a Public / Private key mechanism to ensure component communications are valid and secure. A key pair must be created for the sqdaemon process User-ID and the User-ID's of all the Agent Jobs that interact with the Controller Daemon. On UNIX, by default, the private key is stored in ~/.nacl.id_nacl and the public key in ~/.nacl/id_nacl.pub. These two files will be used by the daemon in association with a sequential file containing a concatenated list of the Public Keys of all the Agents allowed to interact with the Controller Daemon. The Authorized Keys file must contain at a minimum, the public key of the sqdaemon process User-ID and is usually named nacl_auth_keys and placed in the /daemon directory. The file must also include the Public key's of Engines, running on the same or another platform, that connect to the Controller Daemon. The Authorized Keys file is usually maintained by a Systems Administrator. The sqdutil utility program using the keygen command is used to generate the necessary keys. The command must be run under the User-ID that will be used to run the Controller Daemon process. $ sqdutil keygen

54 Connect CDC SQData Installation Guide Windows Installation

Notes: 1. If the Daemon, Capture Agent and Apply Engine are running on the same system, they may optionally run under the same User-ID, in which case they would share the same public/private key pair. 2. Changes are not known to the Daemon until the configuration files are reloaded, using the SQDmon Utility, or the sqdaemon process is stopped and started. SQL Server Authorizations While the Connect CDC SQData SQL Server Capture has been deprecated, the Apply Engine does support SQL Server as an Apply Target. The will need catalog view privileges determine target table keys and to perform SELECT, DELETE, INSERT, and UPDATE. Microsoft’s best practice recommendation is to use Windows Authentication mode for SQL Server whenever possible. The main benefit is that this mode allows centralization of account administration for the entire enterprise in a single place: Active Directory. This dramatically reduces the chances of error or oversight. While SQData can be configured to operate with either mode, we highly recommend the use of Windows Authentication mode as it eliminates the specification of both user_name and password from Apply Engine scripts. Check the current authentication mode using the SQL Server Management Studio (SSMS). Db2/LUW (UDB) Authorizations The Db2/LUW (UDB) Log Reader Capture requires special user privileges and preparation to access and read the Db2 Recovery Logs using the Db2/LUW (UDB) Instrumentation Facility Interface (IFI) calls. Version 4 of Connect CDC SQData also requires some system tables to be captured to support Schema Evolution. The following GRANTS are required: · GRANT DBADM ON DATABASE TO < sqdata_user>; · GRANT EXECUTE ON PACKAGE sqdddb2d TO < sqdata_user>; · GRANT SELECT ON SYSIBM.SYSTABLES TO < sqdata_user>; · GRANT SELECT ON SYSIBM.SYSCOLUMNS TO < sqdata_user>; · GRANT SELECT ON SYSIBM.SYSDATAPARTITIONS TO < sqdata_user>; Db2 Reorg and Load procedures may need to be updated: · KEEPDICTIONARY=YES parameter must be used by all Db2 REORG and LOAD Utilities. If the CDC process is run asynchronously, for some reason gets behind or is configured to recapture older logs, the proper Compression Dictionary must be available. Schema Evolution Requires DATA CAPTURE CHANGES on Two (2) Catalog Tables: 1. SYSIBM.SYSTABLES 2. SYSIBM.SYSCOLUMNS Notes: · A common database request module (DBRM)sqddd2b.bnd ships as part of the product distribution and a Bind must be performed on the Package:

bind /bnd/ sqdddb2d.bnd grant public · Each Db2/LUW (UDB) table to be captured also requires:

Connect CDC SQData Installation Guide 55 Windows Installation

ALTER TABLE DATA CAPTURE CHANGES; Oracle Authorizations The Oracle LogMiner Capture requires special user privileges and preparation to access and read the Oracle Recovery Logs using the Oracle LogMiner API. Enable LogMiner functionality · ALTER DATABASE ADD SUPPLEMENTAL LOG DATA provides the minimal level of database metadata required by the Oracle LogMiner. The following GRANTS are required: 1. GRANT LOGMINING TO ; (only required for Oracle 12 and above) 2. EXECUTE authority: a. GRANT EXECUTE_CATALOG_ROLE TO ; b. GRANT EXECUTE DBMS_LOGMNR TO ; c. GRANT EXECUTE DBMS_LOGMNR_D TO ; 3. SELECT authority: a. GRANT SELECT ON V$LOGFILE TO ; b. GRANT SELECT ON V$ARCHIVED_LOG TO ; c. GRANT SELECT ON V$LOG TO ; d. GRANT SELECT ON V$DATABASE TO ; e. GRANT SELECT ON V$LOG_HIST TO ; f. GRANT SELECT ON V$LOGMNR_CONTENTS TO ; g. GRANT SELECT ON V$INSTANCE TO ; h. GRANT SELECT ON V$THREAD TO ; i. GRANT SELECT ANY TRANSACTION TO ; authority to allow for querying the Oracle FLASHBACK_QUERY_TRANSACTION view j. GRANT SELECT MAX(SCN_BAS) from SYS.SMON_SCN_TIME TO ; (9i only) Notes: · The LogMiner Capture requires Oracle client access (same requirements as sqlplus) · Each Oracle table to be captured also requires:

ALTER TABLE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

56 Connect CDC SQData Installation Guide Windows Installation

Packaging

The Connect CDC SQData product is distributed through Precisely https://www.precisely.com/support where you will also find product documentation in both WebHelp and PDF format. The Support portal is password protected, and individual user accounts will be provided upon request to customers. Unless otherwise directed, choose the latest available package for your platform. Note that some platforms have both 32 and 64-bit versions. The Connect CDC SQData for Windows package consists of one .pdf file and a single .zip file as described below. Note, the file name indicates the Operating System (OS) (i.e. Linux, SUN, AIX, HP, etc.), Version (v), release number (r) and build. Unless instructed otherwise, a new installation should always be made using the latest version, release and build available.

File Name Contents

A concise set of installation instructions utilizing the $START_HERE_WINDOWS.pdf platform specific terminology

Executable modules for the SQData for Windows sqdata-WIN32-b.x.x.zip product.

syntax: sqdata--...

Example: V4 for Windows: sqdata-win32-4.0.30.zip

Connect CDC SQData Installation Guide 57 Windows Installation

Product Installation

The $Start_Here_Windows.pdf contains the very latest instructions for installing and/or updating your SQData for Multiplatform installation. Before you open the .pdf you may wish to read the remainder of this section which expands on the installation steps. When you are ready you should open this file and carefully follow each step to complete the basic installation of the product. After that you should refer to the SQData Capture Guide and specific Capture Reference documentation to complete the installation and configuration of the products you have selected. Step 1. Identify the Installation Account Most customers utilize a special "sqdata_user" account established specifically for that purpose because it usually needs elevated privileges to read and apply data. If necessary have the system administrator create that account. If Connect CDC SQData is going to be used to access any local databases, the user will need privileges to operate on those databases. Those privileges include SELECT, DELETE, INSERT, and UPDATE. Step 2. Pick Install Location While there is no specific location that Connect CDC SQData must be installed, this section describes two platform dependent installation scenarios. The most important thing to consider when picking an install directory to make sure all the users that need to access the package have permission to access it. Depending on what type of environment our product is being used in (Production/Test/Development), there can be dramatically different security concerns from very stringent to everyone having administrative privileges on the machine. The first level of security is specifying file system access to executables. On Windows systems, 32-bit executables are typically installed in "C:/Program Files (x86)" under a directory named for the product, eg: "C:/Program Files (x86)/sqdata”. Administrator privileges are required to create the directory and unzip the package into this location. To allow multiple users to access the directory without giving access to everyone, the system administrator can define a group and grant permissions on the directory to the group. Alternatively, the product can be installed into the home directory of the user designated to run the apply process, eg: /users//sqdata. To install to this location no special privileges are required, and the user can grant permissions on the directory to a group of users without administrator privileges From this point, the installation directory will be referred to as . Note, Windows systems recognize both forward and backslashes in most cases when qualifying a path, so we will use forward slashes to make our examples applicable to both Windows and UNIX based platforms. Step 3. Download the Platform Specific Package Locate the package needed for your platform. Once you have identified which package is to be installed, click on the appropriate link to download the compressed package to your desktop or directly to the Installation location previously selected. Note, this should be a BINARY transfer. Step 4. Decompress the Package The package is distributed as a compressed file with the extension .zip representing the compression method. On Windows, you can right click on the file and select "Extract All". This will open a dialog that allows you to choose where to extract the product.

58 Connect CDC SQData Installation Guide Windows Installation

Step 5. Review contents of install directory The decompression and extraction process will create a version labeled directory structure for the executables in the installation directory: /sqdata-/bin /sqdata-/bin/dbg /sqdata-/bnd /sqdata-/doc

The "release" version of the executables is found under /bin and the diagnostic version under /dbg. The release version has much of the code used for debugging excluded, making the code faster with fewer runtime instructions, but providing little diagnostics if something goes wrong. Some customers run the debug version in their test environment and the release version in their production environment. Other customers run the diagnostic (/dbg) code in both test and production because they see little difference in performance on their systems.

The /bnd directory contains the DBRM module to Bind when applying to Db2. The .zip files for each version will remain in the installation directory along with their corresponding version numbered directory structure, facilitating both upgrade and regression testing. Step 6. Create a Symbolic link to the Executables A symbolic link should be created to the executable directory of the current version. When new maintenance is applied, do not remove the old directories; just install the new version (which will create a new directory with a new version number) and update the link to point to the new location. Any scripts or PATH variables that need to reference the location of executables can use this symbolic link and thus not be version specific. Here we create a symbolic link called "bin" under which points to the current debug version of the code: >mklink /d \\bin \\sqdata-\bin\dbg

WARNING: Only update the link when you are ready to stop and restart the product to use the new code. Step 7. Update Environment Precisely recommends that you run the application without fully qualifying executables by adding the symbolic link created in the last step to your PATH environment variable. Append the link to the existing PATH variable as follows: >set PATH=%PATH%;\\bin

This setting will only affect the current logged on user. If you would like to maintain this behavior for all new sessions, a system administrator can alter the PATH variable for an individual or all users by updating the system's Environmental Variables. This is also required if you choose to run the sqdaemon product component as a "Service". Each version of Windows has a slightly different path of clicks and Tabs to get to the Environment variables which is another reason why we suggest using a link to the bin directory. Once the environment variable is set to the symbolic link, the contents of the directory can change, but the PATH to the directory will not. Note, if sqdaemon is being used to start and stop agents, it will be necessary to kill and restart sqdaemon in order to exercise the newly installed executables.

Connect CDC SQData Installation Guide 59 Windows Installation

Step 8. Prepare Environmental Variables Various environment variables can be used by Connect CDC SQData. For example, if an Engine will Apply to Oracle, the environment variables ORACLE_SID and ORACLE_HOME need to be populated. If an Engine will Apply to Db2/LUW (UDB), the environment variable DB2_INSTANCE needs to be populated by sourcing db2profile. Connect CDC SQData will use this information, together with the standard install locations for each product, to find and load the necessary drivers and libraries. If the products are not installed in a standard location, Connect CDC SQData looks for specific environment variables to override the defaults. For example, the LD_LIBRARY_PATH environment variable to find ODBC drivers. Usually, only database specific environment variables need to be populated as described above. Environment variables can be set when a session starts by altering the sqdata_user profile. For example, to set the ORACLE_SID to "sqdata", add "SET ORACLE_SID=sqdata" to the user's Environment variables. Step 9. Verify Installation The installation can now be verified by simply typing in the module name of interest at the command line. Generally, if you provide the module name without any arguments or provide either --help, -V, or -h, information about the product such as the command line syntax and/or version information is displayed. It is a good idea to run the following command from the command line to verify that the PATH variable has been updated correctly and that you are running the expected version of the code: >sqdata -V

60 Connect CDC SQData Installation Guide Windows Installation

Product Maintenance

From time to time, Precisely will provide maintenance releases for the Connect CDC SQData base product components. These maintenance releases include: · Correction of program defects · Small enhancements · New functions or support for additional datastore types The distribution of Connect CDC SQData product maintenance is through Precisely https://www.precisely.com/support where you will also find product documentation in both WebHelp and PDF format. The Support portal is password protected, and individual user accounts will be provided upon request to customers. While maintenance releases generally involve only a subset of Connect CDC SQData modules, updates are packaged as a full installation. Simply follow the first 6 steps above as you did on the initial installation. Note that the maintenance installation will not overlay your existing installation, as each release has a unique name beneath the main "sqdata" directory.

Connect CDC SQData Installation Guide 61 x e d n Index I

$ S $V$INSTANCE 44, 56 SELECT ANY TRANSACTION 44, 56 SELECT authority 44, 56 A APF 12 T APF authorized 23, 33 TCP/IP Stack 41

C U Customer Zone 20, 46, 57 unterse 22, 25

D V DB2 10 V$ARCHIVED_LOG 44, 56 V$DATABASE 44, 56 V$LOG 44, 56 E V$LOG_HIST 44, 56 EXECUTE authority on DBMS_LOGMNR_D 44, 56 V$LOGFILE 44, 56 EXECUTE authority on the DBMS_LOGMNR 44, 56 V$LOGMNR_CONTENTS 44, 56 EXECUTE_CATALOG_ROLE 44, 56 VSAM 10

I W IMS 10 Windows Service 59

K Z Kafka 39 z/OS system Logstreams 14 zFS File System 12 M Mainframe 10

N NACLKEYS 16

P Private 16 Public 16 Public / Private key 16

R RACF 17

62 Connect CDC SQData Installation Guide 2 Blue Hill Plaza Pearl River, NY 10965 USA precisely.com

© 2001, 2021 SQData. All rights reserved.