Updates to IMS High Availability Large Database Toolkit for z/OS V3.2 User's Guide

Product documentation


Abstract

Updates that apply to IMS High Availability Large Database Toolkit for z/OS V3.2 User's Guide (SC19-2403-02).

Content

The most recent updates appear at the top of the list.

Update 8

Date of change: January 20, 2014

Topic: Converting databases online

Change description: Documentation changes by APAR PM97914.

PDF Page 98

Converting to HALDB using CONVERT: Converting databases online

Descriptions of IMSACB DD and PSBLIB DD have been added to Step 7. Also, the example has been updated.


Procedure

...
7. Edit the following parameters that are required in the JCL for online conversion:

    STEPLIB
      ...

    IEFRDER
      ...

    Start of changeIMSACB
      IMSACB describes the ACB library that is used by IMS Online Reorganization Facility during the Takeover phase. This data set must reside on a direct access storage device.
      If you use dynamic allocation for IMSACBA and IMSACBB for the online system, these DD statements must be provided in the JCL.
      For more information about IMSACB, see the IMS Online Reorganization Facility User's Guide. End of change

    Start of changePSBLIB
      PSBLIB describes the PSB library to rebuild all PSBs in the ACB library that reference the DBD to be converted.
      This parameter is required. End of change

Example
Start of change

//JOBNAME   JOB NAME,000,CLASS=A,MSGCLASS=X                          
//********************************************************************
//*         SAMPLE JCL FOR CONVERT ONLINE(Y) - "online" batch mode    
//*                                                                  
//*  Your databases must be registered to DBRC                        
//*  You must have Online Reorganization Facility installed          
//********************************************************************
//S2     EXEC PGM=IHCHALDB,DYNAMNBR=999,                              
//            REGION=80M                                              
//STEPLIB  DD DISP=SHR,DSN=your.SIHCLOAD   <=== your hcma loadlib    
//         DD DISP=SHR,DSN=your.SHRFLOAD     <=== online reorg loadlib
//         DD DISP=SHR,DSN=your.SDFSRESL     <=== ims reslib          
//         DD DISP=SHR,DSN=your.SHPSLMD0     <=== ims tools loadlib  
//DFSRESLB DD DISP=SHR,DSN=your.SDFSRESL     <=== ims reslib          
//MACLIB   DD DISP=SHR,DSN=your.SDFSMAC      <=== ims maclib          
//IMS      DD DISP=SHR,DSN=your.dbdlib       <=== ims dbdlib          
//IMSACB   DD DISP=SHR,DSN=your.acblib       <=== ims acblib          
//PSBLIB   DD DISP=SHR,DSN=your.psblib       <=== ims psblib          
//IMSDALIB DD DISP=SHR,DSN=your.mdalib       <=== ims mdalib          
//SYSPRINT DD SYSOUT=*                                                
//MSGPRINT DD SYSOUT=*                                                
//DBDPRINT DD SYSOUT=*        
//LNKPRINT DD SYSOUT=*                                            
//AMSPRINT DD SYSOUT=*                                            
//SYSUDUMP DD SYSOUT=*                                            
//OUTPUT   DD SYSOUT=*                                            
//IEFRDER  DD DISP=SHR,DSN=your.hrf.iefrder  <=== online-reorg log
//IHCSYSIN DD *                                                  
  CONVERT  ONLINE(Y) -                                            
           DBDPATT(*****...) DSNPREF(DBSMS.DB) -                  
           DBD(xxxx) -                                            
           PARTNUM(2) -                                          
           ICMID(3) -                                            
           ICDYN(Y) -                                            
           ICHLQ(DBSMS.DB.IC) -                                  
           ICTRLR(2) -                                            
           IC.COMP(Y) -                                          
           IC.COMPRTN(FABJCMP2) -                                
           PTRCHECK(Y)                                                                                    
End of change
Figure 50. Sample JCL (IHCXCVTY) for batch conversions (Online(Y))


Update 7

Date of change: January 20, 2014

Topics: Changes apply to the following multiple topics:


Change description: Documentation changes by APAR PM88021.

PDF Page 113

Maintaining HALDB using MAINTAIN: Maintaining databases offline

Maintaining databases offline

The following new scenario has been added to Table 3. Common MAINTAIN functions

Table 3. Common MAINTAIN functions

Scenario MAINTAIN Parameters KEYSIN input
... ... ...
Start of changeAdd, change, or delete partitions such that four partitions result, and that their high-keys are assigned in EBCDIC order based on the high-keys found in KEYSIN.End of change
Start of change
MAINTAIN DBD(xxx) PARTITION(*)-
         KEYS(KEYSIN) KEYSORDR(Y)
End of change
Start of change
//KEYSIN DD*
 A999

 G999
 M999
 Z999 
End of change
PDF Page 123

Maintaining HALDB using MAINTAIN: MAINTAIN command parameters

MAINTAIN command parameters

In Table 4. MAINTAIN command parameters,

  • Description has been added to the KEYS parameter column.
  • New parameter, KEYSORDR, had been added.


Table 4. MAINTAIN command parameters
Parameter Requirement (R=Required, O=Optional) Description
... ... ...
KEYS O ...

If the high keys are created during analysis, there must be at least as many database records as there are requested partitions.

Start of changeIf KEYSORDR(Y) is specified with KEYS, then the keys are sorted in EBCDIC order, then assigned to the partitions in name order (also EBCDIC order).End of change

If PARTNUM, PARTSIZE, or KEYS is not ...
Start of changeKEYSORDREnd of change Start of changeOEnd of change Start of changeWhen KEYS(dd) is specified, IMS HALDB Toolkit reads the high-key values from the KEYS(dd) and then assigns them to partitions in ascending partition number order by issuing CHANGE.PART commands to DBRC. When KEYSORDR is also specified, IMS HALDB Toolkit subsequently reassigns the high-keys to the partitions, in both their individual ascending EBCDIC order, by issuing CHANGE.PART commands again.

The CHANGE.PART commands that are issued when reassigning the high-keys are in ascending EBCDIC order of partition name, which is the same order as is presented by a DBRC LIST.DB command. KEYSORDR processing is done whether adding or deleting partitions, or changing partitions' attributes.

This option can also be used for the single purpose of reorganizing partitions' high-keys, which is accomplished by placing unchanged high-keys in the KEYS(dd).

Specify Y or N. The default value is N.

When the KEYSORDR option is specified, PARTITION(*) is also required.End of change
... ... ...


Update 6

Date of change: March 22, 2013

Topic: Changes apply to the following multiple topics:


Change description: The maximum allowable value for PARTSIZE is corrected from 4096 to 4095.

PDF Page 109
Converting to HALDB using CONVERT: CONVERT command parameters

CONVERT command parameters

The maximum allowable value for PARTSIZE is corrected from 4096 to 4095.

Table 2. CONVERT command parameters
Parameter Requirement (R=Required, O=Optional) Description
... ... ...
PARTSIZE O Specifies the size of partitions that are created.

PARTSIZE cannot be specified with PARTNUM or KEYS. The partition size must be a number between  Start of change1 - 4095End of change.

Specifying the PARTSIZE parameter causes IMS HALDB Toolkit to find the high keys. The specifications are analyzed to determine whether the requested partitioning is feasible. If either PARTNUM, PARTSIZE, or KEYS is not specified, the default setting PARTSIZE(2048) is used.
... ... ...
PDF Page 100
Converting to HALDB using CONVERT: Specifying PARTNUM, PARTSIZE, and KEYS

PDF Page 115
Maintaining HALDB using MAINTAIN: Specifying PARTNUM, PARTSIZE, and KEYS

Specifying PARTNUM, PARTSIZE, and KEYS

The maximum allowable value for PARTSIZE is corrected from 4096 to 4095.

Procedure
1. Locate the sample JCL, IHCXCVT1, IHCXCVT2, and IHCXCVT3.
2. To specify the number of partitions (PARTNUM), edit IHCXCVT1.
    If you know how many partitions you intend to convert to, you can use the PARTNUM parameter to specify this number.
    The following example converts a database into 20 partitions:

      //IHCSYSIN DD *
        CONVERT DBD( xxx )PARTNUM(20)...
3. Specifying the size of the partitions (PARTSIZE), edit IHCXCVT2.
    If you know how large you would like for each partition to be, you can use the PARTSIZE parameter to specify this number.
    The following example converts a database into partitions of a specific size:

      //IHCSYSIN DD *
      Start of change  CONVERT DBD( xxx )PARTSIZE(4095)... End of change
4. Specifying high key boundaries (KEYS), edit IHCXCVT3.
    ...

Example
Review the following samples to determine how to modify them for your environment.


     //************************ Top of Data *********************************
     //JOBNAME  JOB NAME,000,CLASS=A,MSGCLASS=X
     //**********************************************************************
     //*  SAMPLE JCL FOR CONVERT - batch PARTNUM method
     //* Converts existing full-function database into 20 partitions
     //**********************************************************************
     //S2  EXEC PGM=IHCHALDB,DYNAMNBR=999,REGION=80M
     //STEPLIB  DD DISP=SHR,DSN=your.SIHCLOAD  <===your hcma loadlib
     //         DD DISP=SHR,DSN=your.SDFSRESL  <===ims reslib
     //         DD DISP=SHR,DSN=your.SHPSLMD0  <===ims tools loadlib
     //DFSRESLB DD DISP=SHR,DSN=your.SDFSRESL  <===ims reslib
     //MACLIB   DD DISP=SHR,DSN=your.SDFSMAC   <===ims maclib
     //IMS      DD DISP=SHR,DSN=your.dbdlib    <===ims dbdlib
     //IMSDALIB DD DISP=SHR,DSN=your.mdalib    <===ims mdalib
     //SYSPRINT DD SYSOUT=*
     //MSGPRINT DD SYSOUT=*
     //DBDPRINT DD SYSOUT=*
     //LNKPRINT DD SYSOUT=*
     //AMSPRINT DD SYSOUT=*
     //SYSUDUMP DD SYSOUT=*
     //OUTPUT   DD SYSOUT=*
     //IHCSYSIN DD *
Start of change      CONVERT-End of change
           PARTNUM(20)-
           DBD(xxxx)-
           DBDPATT(*****,,,) DSNPREF(DBSMS.DB)-
           ICMID(3)-
           ICDYN(Y)-
           ICHLQ(DBSMS.DB.IC)-
           ICTRLR(2)-
           IC.COMP(Y)-
           IC.COMPRTN(FABJCMP2)-
           PTRCHECK(Y)
Figures 51 and 55. Sample JCL (IHCXCVT1) for batch using PARTNUM



     //************************ Top of Data *********************************
     //JOBNAME  JOB NAME,000,CLASS=A,MSGCLASS=X
     //**********************************************************************
     //*  SAMPLE JCL FOR CONVERT - batch PARTSIZE method
     //* Converts existing full-function database into as many partitions
Start of change   //*   (4095 sizes) as possibleEnd of change
     //**********************************************************************
     //S2  EXEC PGM=IHCHALDB,DYNAMNBR=999,REGION=80M
     //STEPLIB  DD DISP=SHR,DSN=your.SIHCLOAD  <===your hcma loadlib
     //         DD DISP=SHR,DSN=your.SDFSRESL  <===ims reslib
     //         DD DISP=SHR,DSN=your.SHPSLMD0  <===ims tools loadlib
     //DFSRESLB DD DISP=SHR,DSN=your.SDFSRESL  <===ims reslib
     //MACLIB   DD DISP=SHR,DSN=your.SDFSMAC   <===ims maclib
     //IMS      DD DISP=SHR,DSN=your.dbdlib    <===ims dbdlib
     //IMSDALIB DD DISP=SHR,DSN=your.mdalib    <===ims mdalib
     //SYSPRINT DD SYSOUT=*
     //MSGPRINT DD SYSOUT=*
     //DBDPRINT DD SYSOUT=*
     //LNKPRINT DD SYSOUT=*
     //AMSPRINT DD SYSOUT=*
     //SYSUDUMP DD SYSOUT=*
     //OUTPUT   DD SYSOUT=*
     //IHCSYSIN DD *
Start of change      CONVERT-End of change  
Start of change          PARTSIZE(4095)-End of change
           DBD(xxxx)-
           DBDPATT(*****,,,) DSNPREF(DBSMS.DB)-
           ICMID(3)-
           ICDYN(Y)-
           ICHLQ(DBSMS.DB.IC)-
           ICTRLR(2)-
           IC.COMP(Y)-
           IC.COMPRTN(FABJCMP2)-
           PTRCHECK(Y)
Figures 52 and 56. Sample JCL (IHCXCVT2) for batch using PARTSIZE



     //************************ Top of Data *********************************
     //JOBNAME  JOB NAME,000,CLASS=A,MSGCLASS=X
     //**********************************************************************
     //*  SAMPLE JCL FOR CONVERT - batch KEYS method
     //* Converts existing full-function database into 2 partitions
     //*   assigning specific high-order keys
     //**********************************************************************
     //S2  EXEC PGM=IHCHALDB,DYNAMNBR=999,REGION=80M
     //STEPLIB  DD DISP=SHR,DSN=your.SIHCLOAD  <===your hcma loadlib
     //         DD DISP=SHR,DSN=your.SDFSRESL  <===ims reslib
     //         DD DISP=SHR,DSN=your.SHPSLMD0  <===ims tools loadlib
     //DFSRESLB DD DISP=SHR,DSN=your.SDFSRESL  <===ims reslib
     //MACLIB   DD DISP=SHR,DSN=your.SDFSMAC   <===ims maclib
     //IMS      DD DISP=SHR,DSN=your.dbdlib    <===ims dbdlib
     //IMSDALIB DD DISP=SHR,DSN=your.mdalib    <===ims mdalib
     //SYSPRINT DD SYSOUT=*
     //MSGPRINT DD SYSOUT=*
     //DBDPRINT DD SYSOUT=*
     //LNKPRINT DD SYSOUT=*
     //AMSPRINT DD SYSOUT=*
     //SYSUDUMP DD SYSOUT=*
     //OUTPUT   DD SYSOUT=*
     //KEYSIN DD *
       A999999999
       Z999999999
     //*
     //IHCSYSIN DD *
Start of change     CONVERT-End of change
           KEYS(KEYSIN)-
           DBD(xxxx)-
           DBDPATT(*****,,,) DSNPREF(DBSMS.DB)-
           ICMID(3)-
           ICDYN(Y)-
           ICHLQ(DBSMS.DB.IC)-
           ICTRLR(2)-
           IC.COMP(Y)-
           IC.COMPRTN(FABJCMP2)-
           PTRCHECK(Y)
Figures 53 and 57. Sample JCL (IHCXCVT3) for batch using KEYS
PDF Page 124
Maintaining HALDB using MAINTAIN: MAINTAIN command parameters

MAINTAIN command parameters

The maximum allowable value for PARTSIZE is corrected from 4096 to 4095.

Table 4. MAINTAIN command parameters
Parameter Requirement (R=Required, O=Optional) Description
... ... ...
PARTSIZE O Specifies the size of partitions to create.

PARTSIZE cannot be used with PARTNUM or KEYS. The partition size must be Start of change1 - 4095End of change.

Specifying this parameter causes IMS HALDB Toolkit to find the high keys. The specifications are analyzed to determine whether the requested partitioning is feasible.

If either PARTNUM, PARTSIZE, or KEYS is not specified, the default, PARTSIZE(2048) is used.
... ... ...


Update 5

Date of change: March 22, 2013

Topic: MAINTAIN command parameters

Change description: Added the DSNDBD parameter to Table 4. MAINTAIN command parameters.

PDF Page 119
Maintaining HALDB using MAINTAIN: MAINTAIN command parameters

MAINTAIN command parameters

Added the DSNDBD parameter to Table 4. MAINTAIN command parameters.

Table 4. MAINTAIN command parameters
Parameter Requirement (R=Required, O=Optional) Description
... ... ...
Start of changeDSNDBDEnd of change Start of changeOEnd of change Start of changeSpecifies the suffix portion of the new dsname you are using.

A total of 37 characters are allowed for the entire dsname, which includes the characters used for the DSNPREF prefix and the characters used for the DSNDBD suffix.

The following values are valid:
DBD Add the DBD name to DSNPREF
PART Add the partition name to DSNPREF
DBDPART Add the DBD name and the partition name to DSNPREF

The default value is DBD. End of change
... ... ...


Update 4

Date of change: September 21, 2012

Topic: System Requirements

Change description: Added two new items to list in Mandatory operational requirements.

Mandatory operational requirements

IMS HALDB Toolkit is designed to operate with the following versions of IMS:

  • IMS V9.1 (5655-J38)
  • IMS V10.1 (5635-A01)
  • Start of changeIMS V11.1 (5635-A02)End of change
  • Start of changeIMS V12.1 (5635-A03)End of change


Update 3

Date of change: July 26, 2012

Topic: Usage and restrictions

Change description: Added two paragraphs in "Logical relationships and secondary indexes" section.


PDF Page 20
Usage and restrictions

Added two paragraphs to the end of "Logical relationships and secondary indexes" section.

Logical relationships and secondary indexes
IMS HALDB Toolkit converts databases and secondary indexes with the following logical relationships:
  • Unidirectional logical relationships remain as unidirectional.
  • Bidirectional logical relationships with physical pairing remain as bidirectional with physical pairing.
  • Bidirectional logical relationships with virtual pairing are converted to bidirectional relationships with physical pairing.
  • Shared secondary indexes are converted to single secondary indexes.
  • Non-unique secondary indexes are converted to unique secondary indexes by adding the /SX field to the SUBSEQ parameters of the XDFLD.

A few installations have defined bidirectional logical relationships without any pairing even though this capability is not documented in the IMS product. IMS HALDB Toolkit does not support a conversion of these relationships to HALDB.

Start of changeWhen running the CONVERT function as a batch job, DBDs with logical relationships (except for indexes) are not allowed. To CONVERT DBDs with logical relationships, the ISPF interface must be used because the database and all logically related databases must be unloaded before the conversion can be done. Batch CONVERT does only one unload followed by one convert at a time. The ISPF interface can be used to construct the JCL such that all unloads are to be done before the conversion.End of change

Start of changeThe CONVERT function does work for DBDs with logically related secondary indexes. The CONVERT function always converts the related non-HALDB Secondary Index to a HALDB Secondary Index (PSINDEX for example). This conversion from non-HALDB Secondary Index to a HALDB Secondary Index is so that the secondary index remains usable. If the secondary index is no longer required, one must remove it from the DBD and run DBDGEN again before running the CONVERT function.End of change




Update 2

Date of change: July 26, 2012

Topic: System requirements

Change description: Added two items to list of mandatory operational requirements under "System requirements."

PDF Page 12
Configuring IMS HALDB Toolkit: System requirements

Added "IMS V11.1 (5636-A02)" and "IMS V12.1 (5635-A03)" to "Mandatory operational requirements" list.

Mandatory operational requirements

IMS HALDB Toolkit is designed to operate with the following versions of IMS:

  • IMS V9.1 (5655-J38)
  • IMS V10.1 (5635-A01)
  • Start of changeIMS V11.1 (5636-A02)End of change
  • Start of changeIMS V12.1 (5635-A03)End of change



Update 1

Date of change: July 26, 2012

Topic: Batch messages

Change description: Update batch messages.

PDF Page 210
Batch messages: IHC01020E

Added "DBD has logical relation" to list of reasons.

Explanation

The DBD decoder found errors for DBD nnnnn. These errors are probably due to one of the following reasons rrr:

  • Start of changeDBD has logical relation.End of change
  • The DBD version is IMS/360.
  • The DBD type is not supported.
  • DBD nnnnn is not a valid DBD.
  • The DBD name is different from the member name. The member name in the DBD library and the name inside the DBD are different. The name inside the DBD is the valid name.
  • DOS does not support this DBD.
  • The index DBD has no primary DBD.
  • The index DBD has more than one target DBD. IMS™ HALDB Toolkit does not support multiple target DBDs.
  • The target DBD is an IMS HALDB Toolkit DBD, but the index DBD is not.
  • The index DBD is an IMS HALDB Toolkit DBD, but the target DBD is not.

Related information

IMS HALDB Toolkit

Publication number

SC19-2403-02

Copyright date

2002, 2012

Original publication date

2012/7/26

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

IMS Tools
IMS HALDB Toolkit

Software version:

3.2.0

Operating system(s):

z/OS

Reference #:

7011672

Modified date:

2014-01-20

Translate my page

Machine Translation

Content navigation