10 Using ODBA Proxy

For Oracle IMS/DB connection to IMS/DB on z/OS, there must be communication between the programs running under Tuxedo ART for IMS control on open systems and on z/OS. As required by the ODBA protocol, a separate address space running on the same z/OS image as IMS/DB is developed to communicate with the programs in Tuxedo ART for IMS and perform database operations on behalf of these programs.

This section contains the following topics:

10.1 Functionality

Oracle IMS/DB supports following DL/I calls (issued in COBOL/C program):

  • GU/GHU
  • GN/GHN
  • GNP/GHNP
  • ISRT
  • REPL
  • DLET
  • INQY
  • FLD
  • POS
  • CHKP
  • SYNC
  • ROLB

10.2 IMS/DB Configuration

This section contains the following topics:

10.2.1 ARTIMPP/ARTIBMP Configuration

You need configure parameter required by Oracle plug-in for IMS/DB for ARTIMPP/ARTIMBP. For example:

ARTIMPP SRVGRP=GROUP1

SRVID=5

CLOPT="-A -- -l 1 -x -o zoshost:port:BEA1"

For more information, see the Oracle Tuxedo Application Runtime for IMS Reference Guide

10.2.2 IMS/DB Configuration

Each database consists of various segments, while each segment consists of various fields. So the configuration for a database consists of two kinds of files, the segment definition and the field definition.

imsdbs.desc is located under $ART_IMS_CONFIG. Some fields of imsdbs.desc configurations are mapped from some DBD statement of IMS on z/OS.

segments.desc defines the segments within a database, while $segname.desc defines the fields within a segment, they are located under $ART_IMS_CONFIG/db/$dbname.

$segname.desc only exists for databases with access type of neither GSAM nor MSDB defined in imsdbs.desc.

You also need to configure related field in $appname.psb. For more information, see Oracle Tuxedo Application Runtime for IMS Reference Guide

10.3 ODBA Proxy Installation

IMS/DB support is provided through ODBA. This support consists of two parts:

Note:

ODBA Proxy directories are generated under the $IMSDIR directory after Tuxedo ART for IMS installation is completed.
  • z/OS (assuming that Tuxedo ART for IMS is installed in the $IMSDIR directory).

    The components for z/OS are under $IMSDIR/odbaproxy/mvs directory. These include:

    • ORACLE.ODBA.BACK.XMI - an XMI file consisting of the executable files to be run on z/O
    • A group of JCL jobs under ./jcl which can be used to install the package and run the ODBA Proxy on z/OS
  • open systems

    Linux 64 bit (OEL/RHEL), AIX 64-bit, and Solaris (Sparc) 64-bit are supported. Under $IMSDIR/bin, odbastop is a utility used to stop ODBA proxy running on an MVS Under $IMSDIR/lib, libdlidb.so is the Oracle plug-in for Tuxedo ART for IMS runtime connection to IMS/DB.

10.3.1 Installing Oracle Tuxedo Application Runtime for IMS Users ODBA Proxy on z/OS

To install Tuxedo ART for IMS ODBA Proxy on z/OS, you must do the following five steps:

  1. Upload JCLs
    1. Create a PDS (LRECL=80, RECFM=FB) on z/OS to upload JCL files, for example USER.ODBA.JCL
    2. Upload all the JCL under mvs/jcl into this PDS as separate members (ftp text mode).
  2. Create XMI Dataset
    1. Modify USER.ODBA.JCL(CREDS) to make it suitable for user's environment, especially VOL=SER parameter, possibly user may also want to modify the dataset name to be created, for example USER.ODBA.XMI
    2. Submit CREDS job and make sure it complete successfully, the result is USER.ODBA.XMI is created.
  3. Upload XMI

    Upload local file ORACLE.ODBA.BACK.XMI to dataset USER.ODBA.XMI on z/OS (ftp binary mode).

  4. Receive XMI
    1. Modify USER.ODBA.JCL(RECEIVE) to make it suitable for user environment, INDSNAME specifies the input dataset of this JCL, it should be identical to the XMI dataset, i.e. USER.ODBA.XMI in step 2; DSNAME is the output file of this JCL, assuming it's changed to USER.ODBA.BAK.
    2. Submit RECEIVE job and make sure it complete successfully, the result is USER.ODBA.BAK is generated.
  5. Restore the PDS Containing the Executables
    1. Modify USER.ODBA.JCL(RESTORE) to make it suitable for user's environment, VOL=SER should be changed to the volume on which the target PDS consisting of the executables will be created, RENAMEU specifies the source name and the target name, the source name must be kept, user can modify the target name, for example USER.ODBASERV.LOAD. Set DSN to the DSNAME value which is set in step 4 (assume it is set to USER.ODBA.BAK).
    2. Submit RESTORE job and make sure it complete successfully, now the executables have been extracted into a PDS named USER.ODBASERV.LOAD.

10.3.2 DRA Configuration Best Practice for ODBA on z/OS

According to z/OS ODBA best practise documentation, frequently creating and tearing down threads can cause timing-related errors while your application program is running. It is recommended that you set MINTHREADS equal to MAXTHREADS in your DRA startup parameters.

10.3.3 Oracle Tuxedo Oracle Tuxedo Application Runtime for IMS Users Servers and ODBA Proxy

To use ODBA Proxy together with Tuxedo ART for IMS Servers, you must do the following four steps:

  1. Start ODBA Proxy on z/OS
    1. Modify USER.ODBA.JCL (RUNPROXY) to make it suitable for user's environment, especially the DD in STEPLIB to correctly specify USER.ODBASERV.LOAD and the dependent DD
    2. Submit RUNPROXY job to start the proxy. Ensure that IMS ODBA environment has been set up before starting the proxy.
  2. Start Tuxedo ART for IMS Runtime on Oracle Tuxedo Server

    For more information, see Oracle Tuxedo Application Runtime for IMS Reference Guide

    After UBBCONFIG and Tuxedo ART for IMS resources have been defined, compile UBBCONFIG and run Tuxedo ART for IMS by starting its Oracle Tuxedo Domain using the tmboot command or controls provided in Oracle Enterprise Manager TSAMPlus plug-in.

  3. To Stop Tuxedo ART for IMS Runtime

    Tuxedo ART for IMS must be shutdown before shutting down ODBA proxy on z/OS. Use tmshutdown command or controls provided in Oracle Enterprise Manager TSAMPlus plug-in.

  4. To Stop ODBA Proxy
    1. From the mainframe: modify USER.ODBA.JCL(STOPROXY)JCL and submit it to stop ODBA proxy
    2. From the open systems: run odbastop or odbactl command, which will send a message to ODBA Proxy triggering the shut down.
  5. To check ODBA Proxy status from open systems

    From the open system, run odbactl command to check if ODBA Proxy is accessible or not.

  6. To list all existing connections to ODBA Proxy from open systems

    From the open system, run odbactl command to show information for existing ODBA connection, including server address and peer address.