Configuring setup user ID for SQL DI
The installation and configuration of SQL Data Insights (SQL DI) requires that you have sufficient privileges to access your z/OS® system, allocate system resources, and customize system environment variables. Consider creating a multipurpose SQL DI setup user ID, grant it required permissions, and customize your z/OS environment for it.
Procedure
- If you have not done so, create a multipurpose <sqldi_setup_userid>, which you will use to install, configure, and run your SQL DI.
You can create the required <sqldi_setup_userid> in different ways. For example, you can customize and run the following sample JCL job to create the ID:
//CREATE JOB (0),SQLDI RACF',CLASS=A,REGION=0M, //MSGCLASS=H,NOTIFY=&SYSUID //*------------------------------------------------------------*/ //RACF EXEC PGM=IKJEFT01,REGION=0M //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * ADDGROUP SQLDIGRP OMVS(GID(<group-identifier>)) OWNER(SYS1) ADDUSER <sqldi_setup_userid> DFLTGRP(SQLDIGRP) OMVS(UID(<user-identifier>) - HOME(/u/<sqldi_setup_userid>) - PROGRAM($SQLDI_INSTALL_DIR/tools/bin/bash)) - NAME('SQLDI ID') PASSWORD(<password>) NOOIDCARD /*where
- <sqldi_setup_userid> is the user ID that you will use to configure and run your SQL DI.
SQLDIGRPis a RACF® group that you use to authorize users for your SQL DI login. Users that are not defined in the group are denied access when they attempt to sign in. If necessary, you can modify the default group name. See Modifying the default name of your SQL DI login group for instructions.Note: When you run the sample JCL to create <sqldi_setup_userid>, the ID is automatically assigned to theSQLDIGRPgroup . You can remove the ID from the group if you do not plan to use it for SQL DI login.- <group-identifier> is the identifier for
SQLDIGRP. - <user-identifier> is the identifier for <sqldi_setup_userid>. Do not use UID 0 for <sqldi_setup_userid>.
- $SQLDI_INSTALL_DIR is the directory where SQL DI is installed. The default is /usr/lpp/IBM/db2sqldi/.
- Allocate a minimum of 500 MB disk space to the home directory for <sqldi_setup_userid>.
- Create a SQLDI_HOME directory where SQL DI will store all the configuration, customization, and log files as well as runtime data.
- Create the SQLDI_HOME directory. Make sure that SQLDI_HOME is mounted to a zFS file system with at least 100 GB storage available.Tip: Avoid creating or configuring the SQLDI_HOME directory with automount management. Automount might unmount a directory if it is not referenced for a period of time. Any unplanned unmount of the SQLDI_HOME directory will cause SQL DI to fail.
- If you use another user ID to create the SQLDI_HOME directory, make sure to change the directory owner to <sqldi_setup_userid> by issuing the following command:
chown –R sqldi_setup_userid:SQLDIGRPSQLDI_HOME/ - To allocate zFS data sets for SQLDI_HOME that are larger than 100 GB, make sure that you specify the DFSMS data class with extended format and extended addressability.
- Create the SQLDI_HOME directory. Make sure that SQLDI_HOME is mounted to a zFS file system with at least 100 GB storage available.
- Configure your z/OS UNIX shell environment for <sqldi_setup_userid>
- Copy the $SQLDI_INSTALL_DIR/templates/profile.template directory into $HOME/.profile for <sqldi_setup_userid>.
- Customize the following environment variables in the profile template:
- Set $JAVA_HOME to the directory of your IBM® Java™ 8 SR7 installation.
- Set $SQLDI_INSTALL_DIR to the directory where your SQL DI is installed. The default is /usr/lpp/IBM/db2sqldi/.
- Set $BLAS_INSTALL_DIR to the directory where the IBM OpenBLAS is located on your z/OS system. The default is /usr/lpp/cbclib.
- Verify that the
PATHenvironment variable is correctly set in the profile template as shown in the following example:PATH=/bin: PATH=$SQLDI_INSTALL_DIR/sql-data-insights/bin:$PATH PATH=$SQLDI_INSTALL_DIR/tools/bin:$PATH PATH=$PATH:$JAVA_HOME/bin export PATH=$PATHWhere /tools/bin is home to bash, OpenSSL, and other tools.
- Configure <sqldi_setup_userid> access to your z/OS UNIX shell environment.
<sqldi_setup_userid> must have the following permissions to install, configure, and run your SQL DI:
- Permission to read and write to the SQLDI_HOME directory.
- Permission to read and execute to the $SQLDI_INSTALL_DIR directory used by the SMP/E installation.
- $JAVA_HOME/bin defined in the
$PATHenvironment variable in the user's profile. IBM_JAVA_OPTIONSenvironment variable set to-Dfile.encoding=UTF-8in the user's profile._BPXK_AUTOCVTenvironment variable set to ON in the user's profile.- READ access to the RACF
BPX.JOBNAMEfacility class so that SQL DI default address space names can take effect and that you can assign default job names with theSQLDIprefix to SQL DI started services. - READ access to resources CSFDSG, CSFDSV, CSFEDH, CSFIQA, CSFIQF, CSFOWH, CSFPKG, CSFPKI, CSFPKX, CSFRNG, and CSFRNGL for ICSF services in the CSFSERV class if your system is CryptoCard-enabled.
- Update system resource settings, including
CPUTIMEMAX,MEMLIMIT, andASSIZEMAXvalues in theOMVSsegment of the RACF profile for <sqldi_setup_userid>.If needed, issue the ALTUSER command to update the
CPUTIMEMAX,MEMLIMIT, andASSIZEMAXsettings as shown in the following example:ALTUSER <sqldi_setup_userid> OMVS(ASSIZEMAX(address-space-size) MEMLIMIT(nonshared-memory-size) CPUTIMEMAX(cpu-time))SQL DI requires sufficient system memory to function properly. You can use the
MEMLIMITandASSIZEMAXparameters to control the amount of memory for the address space started by <sqldi_setup_userid>. At the minimum, setMEMLIMITinitially to 32 GB or greater andASSIZEMAXto 1 GB.SQL DI also requires sufficient system CPU to run unimpeded. Consider setting the
CPUTIMEMAXparameter tounlimitedto ensure uninterrupted operations.You can issue the ulimit command in a z/OS UNIX shell session to verify
CPUTIMEMAX,MEMLIMIT, andASSIZEMAXsettings. The command returns a message that is similar to the following example:/bin/ulimit -a core file 8192b cpu time unlimited data size unlimited file size unlimited stack size unlimited file descriptors 520000 address space 1048576k memory above bar 24576mWhere
- "cpu time" is the value of the
CPUTIMEMAXparameter. - "address space" is the value of the
ASSIZEMAXparameter. - "memory above bar" is the value of the
MEMLIMITparameter.
See ALTUSER (Alter user profile) and ulimit for more information.
- "cpu time" is the value of the
- Verify that the required Java is installed on the z/OS system where you will install the SQL DI and available to <sqldi_setup_userid>.