In this section: Allocating the Adapter Libraries Unloading the Distribution Tape Disabling Native SQL Commands (Optional) |
The adapter installation consists of five tasks:
The FOCUS distribution tape contains two partitioned data sets (or libraries) that support the adapter:
We suggest that you allocate space for these two libraries at this point before unloading them as described in Unloading the Distribution Tape.
The following chart describes the allocation parameters and disk space requirements (in tracks) for each library:
Library |
Description |
3390 |
FOCSQL.LOAD |
Primary Allocation |
20 |
FOCSQL.DATA |
Primary Allocation |
15 |
Note: The high-level qualifier specified for each library should be the same high-level qualifier used for other FOCUS data sets at your site. This recommendation is assumed in the examples throughout this chapter, which refer to this high-level qualifier as prefix.
Example: |
If you installed FOCUS by downloading files from the FTP site, you can skip this step.
Use the following sample JCL as a model for unloading the contents of the tape.
Add a JOB card and VOL=SER values. The VOL=SER values are provided on the external tape label.
Make any changes needed to comply with your site's standards and then submit the JCL for execution.
//UNLOAD EXEC PGM=IEBCOPY
//LOADIN DD DSN=FOCSQL.LOAD,DISP=SHR,
// UNIT=unittype,VOL=SER=volid,
// LABEL=(22,SL,EXPDT=98000)
//DATAIN DD DSN=FOCSQL.DATA,DISP=SHR,
// UNIT=unittype,VOL=SER=volid,
// LABEL=(23,SL,EXPDT=98000)
//LOADOUT DD DSN=prefix.FOCSQL.LOAD,DISP=OLD
//DATAOUT DD DSN=prefix.FOCSQL.DATA,DISP=OLD
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
COPY INDD=LOADIN,OUTDD=LOADOUT
COPY INDD=DATAIN,OUTDD=DATAOUT
/*
where:
At this point, you may disable support for native SQL commands. The adapter can pass SQL statements, (for example, CREATE TABLE, INSERT, DROP TABLE), directly to the ORACLE RDBMS. To disable this function, edit member ORAPARMS of library FOCSQL.DATA, which was unloaded from the distribution tape, and change the line that reads:
IMMED DC F'1'
to:
IMMED DC F'0'
Save these changes and continue with the installation process.
Note: Currently, only the IMMED parameter in member ORAPARMS may be changed.
Example: |
The adapter installation JCL is contained in member G92FORA (for Oracle 9.2) or member G10FORA (for Oracle 10g) of the FOCSQL.DATA library. This JCL precompiles, assembles, link-edits, and binds the adapter software. It initializes the load module in FOCSQL.LOAD with your system run-time defaults.
The JCL refers to the module HLISTUB, which is an Oracle High Level Interface routine. This module resides in a library for which the Oracle-recommended name is ORACLE.V9R1M5.SQLLIB (for Oracle Version 9.2). HLISTUB is only required to be present during the link-edit of the adapter; it is not a run-time requirement.
Member G92FORA or G10FORA must be modified before it is run. Add a JOB card and make any needed changes in accordance with your site standards.
Then submit the member for execution.
Following is a listing of member G92FORA. Add a JOB card and make the changes indicated before submitting the JCL:
// JOB
//*********************************************************************
//* NAME: G92FORA JCL
//*
//* FUNCTION: LINKEDIT THE MVS FOCUS/ORACLE 9.2 INTERFACE
//*
//* Substitutions:-Change "qualif" into the high level qualifier
//* for your FOCUS datasets.
//* -Change "oraqual.OBJLIB" to the name of your
//* Oracle object library.
//* -Change "libprfx" to the high level qualifier
//* of your linker library (like CEE)
//* -Change "plang" to the name of your linker
//* message name (like EDCPMSGE)
//*********************************************************************
//*
//ASM EXEC PGM=ASMA90,PARM=(OBJECT,NODECK,NOLIST)
//SYSLIB DD DISP=SHR,DSN=SYS1.MACLIB
//SYSLIN DD DISP=(MOD,PASS),DSN=&&ORAPRM,UNIT=SYSDA,
// SPACE=(100,(50,50)),DCB=(LRECL=80,BLKSIZE=800)
//* SYSGO DD DDNAME=SYSLIN
//SYSUT1 DD UNIT=SYSDA,SPACE=(800,(500,500),,,ROUND)
//SYSPRINT DD SYSOUT=A
//SYSIN DD DISP=SHR,DSN=qualif.FOCSQL.DATA(ORAPARMS)
//*
//LKED1 EXEC PGM=IEWL,PARM='LIST,NOXREF,LET,RENT'
//OBJECT DD DISP=SHR,DSN=qualif.FOCSQL.DATA
//SYSLMOD DD DISP=SHR,DSN=qualif.FOCSQL.LOAD
//PARMS DD DISP=(OLD,DELETE),DSN=&&ORAPRM,UNIT=SYSDA
//SYSUT1 DD UNIT=SYSDA,SPACE=(100,(50,50))
//SYSPRINT DD SYSOUT=A
//LKED1.SYSLIN DD *
REPLACE JJCOM2@
REPLACE JJCOM2
INCLUDE SYSLMOD(ORAFOC)
INCLUDE PARMS
INCLUDE OBJECT(ORAFOC)
NAME ORAFOC(R)
/*
//*
//PLKED EXEC PGM=EDCPRLK,REGION=4M,
// PARM='MAP,NOER,UPCASE'
//STEPLIB DD DSN=libprfx.SCEERUN,DISP=SHR
//SYSMSGS DD DSN=libprfx.SCEEMSGP(plang),DISP=SHR
//SYSLIB DD DUMMY
//SYSMOD DD DSN=&&PLKSET,UNIT=VIO,DISP=(NEW,PASS),
// SPACE=(32000,(30,30)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//SYSOUT DD SYSOUT=A
//SYSPRINT DD SYSOUT=A
//SYSDEFSD DD DUMMY
//OBJECT DD DISP=SHR,DSN=qualif.FOCSQL.DATA
//ORAOBJ DD DISP=SHR,DSN=oraqual.OBJLIB
//PLKED.SYSIN DD *
INCLUDE OBJECT(ORAP92C)
INCLUDE OBJECT(ORAPAS2)
INCLUDE ORAOBJ(ORASTBS)
/*
//*
//LKED2 EXEC PGM=IEWL,PARM='LIST,NOXREF,LET,RENT,AMODE=31,RMODE=ANY'
//SYSLIB DD DISP=SHR,DSN=libprfx.SCEELKED
//OBJECT DD DISP=SHR,DSN=qualif.FOCSQL.DATA
//SYSLMOD DD DISP=SHR,DSN=QUALIF.FOCSQL.LOAD
//SYSUT1 DD UNIT=SYSDA,SPACE=(100,(50,50))
//SYSLIN DD DSNAME=*.PLKED.SYSMOD,DISP=(MOD,PASS)
// DD DDNAME=SYSIN
//SYSPRINT DD SYSOUT=A
//LKED2.SYSIN DD *
NAME ORAPAS2(R)
/*
where:
The Adapter for Oracle supports Oracle Release 10g. To install this version of the adapter, you must edit and submit member G10FORA in the FOCSQL.DATA data set. This member links Oracle with FOCUS.
Oracle 10g is stored in a PDSE data set. To link Oracle 10g to FOCUS, you must link it to a version of the FOCUS FOCLIB.LOAD data set that is also stored in a PDSE data set.
To run an interactive FOCUS session that accesses Oracle 10g, you must have a region size that is at least 32 megabytes.
Following is a listing of member G10FORA. Add a job card, make the necessary edits, and submit this JCL to install the adapter:
//job card goes here
//*********************************************************************
//* Name: G10FORA JCL
//*
//* Function: Linkedit the MVS FOCUS/ORACLE 10 interface
//*
//* Substitutions:-Change "qualif" into the high level qualifier
//* for your FOCUS datasets.
//* -Change "qualpdse.LOAD" to the name of your
//* FOCUS PDSE load library.
//* -Change "oraqual.SQLLIB" TO THE NAME OF YOUR
//* Oracle SQL library.
//* -Change "libprfx" to the high level qualifier
//* of your linker library (like CEE)
//* -Change "plang" to the name of your linker
//* message name (like EDCPMSGE)
//*********************************************************************
//*
//LKED1 EXEC PGM=IEWL,PARM='LIST,NOXREF,LET,RENT'
//OBJECT DD DISP=SHR,DSN=qualif.FOCSQL.DATA
//SYSMODIN DD DISP=SHR,DSN=qualif.FOCSQL.LOAD
//SYSLMOD DD DISP=SHR,DSN=qualpdse.LOAD
//SYSUT1 DD UNIT=SYSDA,SPACE=(100,(50,50))
//SYSPRINT DD SYSOUT=A
//LKED1.SYSLIN DD *
INCLUDE SYSMODIN(OR8FOC)
INCLUDE OBJECT(OR8FOC)
NAME ORAFOC(R)
/*
//*
//LKED2 EXEC PGM=IEWL,
// PARM='LIST,NOXREF,LET,RENT,AMODE=31,RMODE=ANY,UPCASE'
//SYSLIB DD DISP=SHR,DSN=libprfx.SCEELKED
//SYSMSGS DD DSN=libprfx.SCEEMSGP(plang),DISP=SHR
//OBJECT DD DISP=SHR,DSN=qualif.FOCSQL.DATA
//ORAOBJ DD DISP=SHR,DSN=oraqual.SQLLIB
//SYSLMOD DD DISP=SHR,DSN=qualpdse.LOAD
//SYSUT1 DD UNIT=SYSDA,SPACE=(100,(50,50))
//SYSPRINT DD SYSOUT=A
//LKED2.SYSLIN DD *
INCLUDE OBJECT(OR8PS2)
INCLUDE OBJECT(ORAPAS10)
INCLUDE ORAOBJ(ORASTBL)
NAME ORAPAS2(R)
/*
where:
Reference: |
At this point, you must create or modify four run-time libraries. You will allocate these libraries later when you create a CLIST, batch job, or FOCEXEC to access the adapter. Each adapter user must have access to these libraries.
Stored FOCUS procedures, called FOCEXECs, are members of a library allocated to DDNAME FOCEXEC. A FOCEXEC library was created when FOCUS was installed.
The Master File tells FOCUS how to interpret the data in an Oracle table or view. Each Oracle table and view accessed by the adapter must be described to FOCUS in a Master File or as part of a multi-table Master File.
Every Master File is a member of a library allocated to DDNAME MASTER. A MASTER library was created when FOCUS was installed.
Every Master File that describes an Oracle table or view to FOCUS must have a corresponding Access File. The Access File provides additional information to FOCUS about that table or view.
Every Access File is a member of a library allocated to DDNAME FOCSQL.
A FOCSQL library was not created when FOCUS was installed. Before you create the FOCSQL library, see if it was created during a previous adapter installation process. If it was not, you can create it using either of the following methods:
Many sites find it useful to create private and public versions of the FOCEXEC, MASTER, and FOCSQL libraries. These private and public libraries make maintenance easier. For example, you can create one private FOCEXEC library for each user's set of FOCEXECs and retain one FOCEXEC library as a general site library that all users can access.
If you want private and public libraries, you can create the additional libraries now. (You should check to see if private libraries already exist.) The additional libraries should have the same DCB attributes as those of the original library.
The adapter must have access to the ERRORS library created when FOCUS was installed. No other ERRORS libraries are required.
The FOCSQL.LOAD library was unloaded from the distribution tape. This library contains essential adapter software.
For TSO and batch access, the adapter load library does not require additional preparation.
Information Builders |