Installing and Uninstalling TACF

This chapter describes how to install and uninstall TACF and how to verify the result.

1. Installation

This section describes how to install TACF automatically using the installer or manually using the script.

1.1. Automatic Installation Using the Installer

Once the installation properties file mentioned in Creating Installation Properties Files is created, you can easily install TACF simply by using the installer.

The following installation process can be applied in the same way to all platforms.

  1. Copy the installer binary file to the directory where TACF will be installed.

  2. If the installer does not have execution permissions, use the chmod command to grant it those permissions.

    The following example grants execution permissions to the installer binary file for 64-bit Linux x86.

    $ chmod a+x OpenFrame_Tacf7_1_Linux_x86_64.bin
  3. Run the installer at the console prompt.

    <installer_file_name> -f tacf.properties

    Configure the tacf.properties file and use it to execute the installer in one of the following ways, then press <Enter>.

    • Method 1

      $ ./OpenFrame_Tacf7_1_Linux_x86_64.bin -f tacf.properties
    • Method 2

      $ sh OpenFrame_Tacf7_1_Linux_x86_64.bin -f tacf.properties
  4. The following message is displayed to show the installation progress.

    Preparing to install...
    Extracting the JRE from the installer archive...
    Unpacking the JRE...
    Extracting the installation resources from the installer archive...
    Configuring the installer for this system's environment...
    
    Launching installer...
    
    Preparing SILENT Mode Installation...
    
    ===============================================================================
    OpenFrame_Tacf7.1                 (created with InstallAnywhere by Macrovision)
    -------------------------------------------------------------------------------
    
    
    
    
    ===============================================================================
    Installing...
    -------------
    
     [==================|==================|==================|==================]
     [------------------|------------------|------------------|------------------]
    
    Installation Complete.

Unlike OpenFrame/Base, TACF does not require modifications to the .profile file. Therefore, no environment variables settings with the .profile file are necessary.

1.2. Manual Installation by Using Scripts

If auto-creation options for the Master catalog and default volume are all set to NO in the installation properties file, scripts must be manually executed after installing TACF. The script files are located in the ${OPENFRAME_HOME}/scripts directory. You must execute the script as described in the following.

  1. create_tacf.sh

    Installs system tables used in TACF.

If auto-creation options for the Master catalog and default volume are all set to YES, the installer automatically run the script.

2. Installation Verification

After installing TACF, verify the result by checking the following items.

2.1. Directory Structure

After installing OpenFrame/Base and OpenFrame/Batch, then TACF, the following directory structure is created. TACF does not affect the existing OpenFrame directory structure. The directory set in the environment variable $OPENFRAME_HOME is set as the Home directory.

${OPENFRAME_HOME}
   +---- UninstallerData
   +---- bin
   +---- config
   +---- core
   +---- cpm
   +---- data
   +---- include
   +---- lib
   +---- license
   +---- log
         +---- cmd
         +---- data
         +---- sys
   +---- ofdb_scripts
   +---- outputq
   +---- profile
   +---- sample
   +---- scripts
   +---- schema
   +---- shared
         +---- SMF
         +---- TJES
   +---- spbackup
   +---- spool
   +---- spunpack
   +---- temp
   +---- tsam
         +---- temp
         +---- lib
         +---- copybook
   +---- util
   +---- volume_DEFVOL
   +---- webde
         +---- bin
         +---- copybook
UninstallerData

Contains files for uninstalling OpenFrame.

bin

Contains binary files used in OpenFrame.

config

Contains configuration files for OpenFrame.

core

Contains Tmax-associated files used in OpenFrame, including Tmax server program, service program and Tmax configuration file.

cpm

Contains character conversion tables.

data

Contains data files and error message files used in OpenFrame.

include

Contains API header files used in compiling business applications.

lib

Contains libraries used in OpenFrame.

license

Contains the OpenFrame license files.
The following are the OpenFrame license types.

File Description

licbase.dat

Base license file

lictjes.dat

Batch (TJES) license file

lictacf.dat

TACF license file

lichidb.dat

HiDB license file

licosc.dat (MVS)

OSC license file

licosi.dat (MVS)

OSI license file

licaim.dat (AIM)

AIM license file

log

Contains log files generated from individual OpenFrame products. Logs are stored in the following directories under the log directory. For more information, refer to "Appendix D. Log Managment" in OpenFrame Base Guide.

Directory Description

cmd

Operation logs.

sys

System logs.

data

Data logs.

ofdb_scripts

Contains templates and scripts required for TSAM / NDB / HiDB.

outputq

Contains output data to be printed. In a multi-node configuration, it is recommended to set this directory as a subdirectory of the shared directory.

profile

Contains OpenFrame user profiles.

sample

Contains sample files of OpenFrame products.

scripts

Contains OpenFrame initial environment setup scripts.

schema

Contains data set schema files created using cobgensch and pligensch tools.

shared

Shared directory for OpenFrame products. For more information, refer to "2.8.1.10. SHARED_DIR" in OpenFrame Configuration Guide.

spbakup

Backs up spool data sets.

spool

Stores spool data sets. In multi-node configuration, it is recommended to set this directory as a subdirectory of the shared directory.

spunpack

Restores backed up spool data.

temp

Contains temporary files.

tsam

Manages TSAM-related information used in OpenFrame.

util

Contains utilities used in Batch.

volume_DEFVOL

Used as the default volume for different OpenFrame products.

webde

Manages WEBDE-related information used in OpenFrame.

2.2. Startup

The following are the steps for verifying TACF startup.

  1. If all auto-creation options for script are set to YES in the installation properties file, open the ${OPENFRAME_HOME}/UninstallerData/log/install_tacf.log file with a text editor to check for any error logs.

    link_lib_tacf.sh START
    tacfinit START
    tacfinit version 7.1.0(1) obuild@tplinux32:ofsrc7/tacf(#1) 2021-03-08 11:02:05
    Initialize OpenFrame TACF Tables
    
    Creating OFM_TACF_GROUP...
     > "OFM_TACF_GROUP" created...
    Creating OFM_TACF_GROUP_PK...
     > "OFM_TACF_GROUP_PK" created...
    Creating OFM_TACF_SUBGRPS...
     > "OFM_TACF_SUBGRPS" created...
    Creating OFM_TACF_SUBGRPS_UNIQ...
     > "OFM_TACF_SUBGRPS_UNIQ" created...
    Creating OFM_TACF_USER...
     > "OFM_TACF_USER" created...
    Creating OFM_TACF_USER_PK...
     > "OFM_TACF_USER_PK" created...
    Creating OFM_TACF_PASS_HISTORY...
     > "OFM_TACF_PASS_HISTORY" created...
    Creating OFM_TACF_PASS_HISTORY_UNIQ...
     > "OFM_TACF_PASS_HISTORY_UNIQ" created...
    Creating OFM_TACF_CONNECT...
     > "OFM_TACF_CONNECT" created...
    Creating OFM_TACF_CONNECT_UNIQ...
     > "OFM_TACF_CONNECT_UNIQ" created...
    Creating OFM_TACF_CONNECT_IDX1...
     > "OFM_TACF_CONNECT_IDX1" created...
    Creating OFM_TACF_CLASS...
     > "OFM_TACF_CLASS" created...
    Creating OFM_TACF_CLASS_PK...
     > "OFM_TACF_CLASS_PK" created...
    Creating OFM_TACF_DATASET...
     > "OFM_TACF_DATASET" created...
    Creating OFM_TACF_DATASET_UNIQ...
     > "OFM_TACF_DATASET_UNIQ" created...
    Creating OFM_TACF_RESOURCE...
     > "OFM_TACF_RESOURCE" created...
    Creating OFM_TACF_RESOURCE_UNIQ...
     > "OFM_TACF_RESOURCE_UNIQ" created...
    Creating OFM_TACF_MEMBER...
     > "OFM_TACF_MEMBER" created...
    Creating OFM_TACF_MEMBER_UNIQ...
     > "OFM_TACF_MEMBER_UNIQ" created...
    Creating OFM_TACF_PERMIT...
     > "OFM_TACF_PERMIT" created...
    Creating OFM_TACF_PERMIT_UNIQ...
     > "OFM_TACF_PERMIT_UNIQ" created...
    Creating OFM_TACF_SEGMENT_CICS...
     > "OFM_TACF_SEGMENT_CICS" created...
    Creating OFM_TACF_SEGMENT_CICS_PK...
     > "OFM_TACF_SEGMENT_CICS_PK" created...
    Creating OFM_TACF_SEGMENT_OMVS...
     > "OFM_TACF_SEGMENT_OMVS" created...
    Creating OFM_TACF_SEGMENT_OMVS_PK...
     > "OFM_TACF_SEGMENT_OMVS_PK" created...
    Creating OFM_TACF_SEGMENT_TSO...
     > "OFM_TACF_SEGMENT_TSO" created...
    Creating OFM_TACF_SEGMENT_TSO_PK...
     > "OFM_TACF_SEGMENT_TSO_PK" created...
    Inserting SYS1 GROUP into OFM_TACF_GROUP...
     > "SYS1 GROUP" inserted...
    Inserting ROOT USER into OFM_TACF_USER...
     > "ROOT USER" inserted...
    Inserting SYS1/ROOT CONNECT into OFM_TACF_CONNECT...
     > "SYS1/ROOT CONNECT" inserted...
    Inserting SURROGAT CLASS into OFM_TACF_CLASS...
     > "SURROGAT CLASS" inserted...
    Inserting TERMINAL CLASS into OFM_TACF_CLASS...
     > "TERMINAL CLASS" inserted...
    Inserting GTERMINL CLASS into OFM_TACF_CLASS...
     > "GTERMINL CLASS" inserted...
    Inserting TCICSTRN CLASS into OFM_TACF_CLASS...
     > "TCICSTRN CLASS" inserted...
    Inserting GCICSTRN CLASS into OFM_TACF_CLASS...
     > "GCICSTRN CLASS" inserted...
    Inserting FCICSFCT CLASS into OFM_TACF_CLASS...
     > "FCICSFCT CLASS" inserted...
    Inserting HCICSFCT CLASS into OFM_TACF_CLASS...
     > "HCICSFCT CLASS" inserted...
    Inserting DCICSDCT CLASS into OFM_TACF_CLASS...
     > "DCICSDCT CLASS" inserted...
    Inserting ECICSDCT CLASS into OFM_TACF_CLASS...
     > "ECICSDCT CLASS" inserted...
    Inserting SCICSTST CLASS into OFM_TACF_CLASS...
     > "SCICSTST CLASS" inserted...
    Inserting UCICSTST CLASS into OFM_TACF_CLASS...
     > "UCICSTST CLASS" inserted...
    Inserting MCICSPPT CLASS into OFM_TACF_CLASS...
     > "MCICSPPT CLASS" inserted...
    Inserting NCICSPPT CLASS into OFM_TACF_CLASS...
     > "NCICSPPT CLASS" inserted...
    Inserting ACICSPCT CLASS into OFM_TACF_CLASS...
     > "ACICSPCT CLASS" inserted...
    Inserting BCICSPCT CLASS into OFM_TACF_CLASS...
     > "BCICSPCT CLASS" inserted...
    Inserting TJESMGR  CLASS into OFM_TACF_CLASS...
     > "TJESMGR  CLASS" inserted...
    Inserting GTJESMGR CLASS into OFM_TACF_CLASS...
     > "GTJESMGR CLASS" inserted...
    Inserting STUDIO   CLASS into OFM_TACF_CLASS...
     > "STUDIO   CLASS" inserted...
    Inserting GSTUDIO  CLASS into OFM_TACF_CLASS...
     > "GSTUDIO  CLASS" inserted...
    Inserting UTILITY  CLASS into OFM_TACF_CLASS...
     > "UTILITY  CLASS" inserted...
    Inserting GUTILITY CLASS into OFM_TACF_CLASS...
     > "GUTILITY CLASS" inserted...
    Inserting JESJOBS  CLASS into OFM_TACF_CLASS...
     > "JESJOBS  CLASS" inserted...
    Inserting JESSPOOL CLASS into OFM_TACF_CLASS...
     > "JESSPOOL CLASS" inserted...
    Inserting OFMANAGR CLASS into OFM_TACF_CLASS...
     > "OFMANAGR CLASS" inserted...
    Inserting HIDBSEGM CLASS into OFM_TACF_CLASS...
     > "HIDBSEGM CLASS" inserted...
    Inserting GHIDBSEG CLASS into OFM_TACF_CLASS...
     > "GHIDBSEG CLASS" inserted...
    Inserting TIMS CLASS into OFM_TACF_CLASS...
     > "TIMS CLASS" inserted...
    Inserting GIMS CLASS into OFM_TACF_CLASS...
     > "GIMS CLASS" inserted...
    Inserting CIMS CLASS into OFM_TACF_CLASS...
     > "CIMS CLASS" inserted...
    Inserting DIMS CLASS into OFM_TACF_CLASS...
     > "DIMS CLASS" inserted...
    Inserting IIMS CLASS into OFM_TACF_CLASS...
     > "IIMS CLASS" inserted...
    Inserting JIMS CLASS into OFM_TACF_CLASS...
     > "JIMS CLASS" inserted...
    Inserting APPL CLASS into OFM_TACF_CLASS...
     > "APPL CLASS" inserted...
    Inserting AIMS CLASS into OFM_TACF_CLASS...
     > "AIMS CLASS" inserted...
    Inserting LIMS CLASS into OFM_TACF_CLASS...
     > "LIMS CLASS" inserted...
    Inserting MIMS CLASS into OFM_TACF_CLASS...
     > "MIMS CLASS" inserted...
    Inserting PIMS CLASS into OFM_TACF_CLASS...
     > "PIMS CLASS" inserted...
    Inserting QIMS CLASS into OFM_TACF_CLASS...
     > "QIMS CLASS" inserted...
    Inserting SIMS CLASS into OFM_TACF_CLASS...
     > "SIMS CLASS" inserted...
    Inserting UIMS CLASS into OFM_TACF_CLASS...
     > "UIMS CLASS" inserted...
    Inserting FIMS CLASS into OFM_TACF_CLASS...
     > "FIMS CLASS" inserted...
    Inserting HIMS CLASS into OFM_TACF_CLASS...
     > "HIMS CLASS" inserted...
    Inserting IMS CLASS into OFM_TACF_CLASS...
     > "IMS CLASS" inserted...
    Inserting OIMS CLASS into OFM_TACF_CLASS...
     > "OIMS CLASS" inserted...
    Inserting WIMS CLASS into OFM_TACF_CLASS...
     > "WIMS CLASS" inserted...
    Inserting OFSTUDIO CLASS into OFM_TACF_CLASS...
     > "OFSTUDIO CLASS" inserted...
    Inserting CDT CLASS into OFM_TACF_CLASS...
     > "CDT CLASS" inserted...
    Inserting PCICSPSB CLASS into OFM_TACF_CLASS...
     > "PCICSPSB CLASS" inserted...
    Inserting QCICSPCB CLASS into OFM_TACF_CLASS...
     > "QCICSPCB CLASS" inserted...
    Inserting UNIFYDS CLASS into OFM_TACF_CLASS...
     > "UNIFYDS CLASS" inserted...
    Inserting GUNIFYDS CLASS into OFM_TACF_CLASS...
     > "GUNIFYDS CLASS" inserted...
    
    create_tacfcf START
    COMPLETED SUCCESSFULLY!
    COMPLETED SUCCESSFULLY.
    tacf_init.sh START
    CFL is done successfully for node(NODE1)
    SVC tables are successfully generated
    GST is successfully done
  2. Execute tmboot to start OpenFrame.

    $ tmboot
  3. Check if the following messages are fully displayed without any errors.

    TMBOOT for node(NODE1) is starting:
            TMBOOT: TMM is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: CLL is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: CLH is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: TLM(tlm) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(TPFMAGENT) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(ofrsasvr) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(ofrlhsvr) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(ofrdmsvr) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(ofrdsedt) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(ofrcmsvr) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(ofruisvr) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(ofruisvr) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(ofrsmlog) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(obmjmsvr) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(obmjschd) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(obmjinit) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(obmjhist) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(obmjspbk) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(ofrpmsvr) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(obmtsmgr) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(obmjtimr) is starting: Tue Mar 16 14:58:07 2021
            TMBOOT: SVR(tmsvr) is starting: Tue Mar 16 14:58:07 2021
  4. Execute tmadmin, then run the si command to print the servers list and check if all server processes are successfully started.

    If all servers are marked as RDY, as in the following, TACF is successfully installed and started.

    $ tmadmin
    --- Welcome to Tmax Admin (Type "quit" to leave) ---
    $$1 NODE1 (tmadm): si
    ------------------------------------------------------------------------
      clh   svrname    (svri)   status     count   qcount   qpcount  emcount
    ------------------------------------------------------------------------
        0   TPFMAGENT  (   4)      RDY         0        0         0        0
        0   ofrsasvr   (   5)      RDY         0        0         0        0
        0   ofrlhsvr   (   6)      RDY         0        0         0        0
        0   ofrdmsvr   (   7)      RDY         0        0         0        0
        0   ofrdsedt   (   8)      RDY         0        0         0        0
        0   ofrcmsvr   (   9)      RDY         0        0         0        0
        0   ofruisvr   (  10)      RDY         0        0         0        0
        0   ofrsmlog   (  11)      RDY         0        0         0        0
        0   obmjmsvr   (  12)      RDY         0        0         0        0
        0   obmjschd   (  13)      RDY         1        0         0        0
        0   obmjinit   (  14)      RDY         2        0         0        0
        0   obmjhist   (  15)      RDY         0        0         0        0
        0   obmjspbk   (  16)      RDY         0        0         0        0
        0   ofrpmsvr   (  17)      RDY         0        0         0        0
        0   obmtsmgr   (  18)      RDY         0        0         0        0
        0   obmjtimr   (  19)      RDY         0        0         0        0
        0   tmsvr      (  20)      RDY         0        0         0        0
    
    $$2 NODE1 (tmadm):
  5. Execute tacfmgr.

    $ tacfmgr
  6. Enter the user information as in the following to check if the connection is successful.

    Input USERNAME  : ROOT
    Input PASSWORD  : SYS1
    
    TACFMGR: TACF MANAGER START!!!

3. Uninstallation

TACF can be uninstalled by using the uninstaller utility provided by the installer.

The following are the steps for uninstalling TACF.

  1. Before unintalling TACF, shut down OpenFrame using the tmdown.

    $ tmdown
  2. Check if the following shutdown messages are fully displayed without any errors.

    Do you really want to down whole Tmax? (y : n): y
    
    TMDOWN for node(NODE1) is starting:
            TMDOWN: SERVER(TPFMAGENT:36) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(obmjhist:56) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(obmjtimr:60) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(tmsvr:61) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(ofrlhsvr:38) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(ofrdmsvr:39) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(obmjspbk:57) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(ofrdsedt:40) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(ofrcmsvr:41) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(obmjschd:54) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(ofrsasvr:37) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(ofrpmsvr:58) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(ofruisvr:42) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(obmjmsvr:53) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(ofruisvr:43) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(obmtsmgr:59) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(obmjinit:55) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: SERVER(ofrsmlog:52) downed: Tue Mar 16 14:58:52 2021
            TMDOWN: CLH downed: Tue Mar 16 14:58:52 2021
            TMDOWN: CLL downed: Tue Mar 16 14:58:52 2021
            TMDOWN: TLM downed: Tue Mar 16 14:58:52 2021
            TMDOWN: TMM downed: Tue Mar 16 14:58:52 2021
            TMDOWN: TMAX is down

    The previous messages shows the result of shutting down OpenFrame/Base and Batch. Different messages can be displayed depending on the product.

  3. After verifying that OpenFrame is shut down, execute the Uninstall_Tacf file under the ${OPENFRAME_HOME}/UninstallerData directory in the Unix console.

    $ ./Uninstall_Tacf
  4. The uninstaller removes all files cerated during TACF installation as well as all TACF-related contents in the relevant Tmax configuration.

4. Uninstallation Verification

Since the uninstaller deletes only the files created by the TACF installer, any other remaining unnecessary directories and files must be manually deleted.