Installing and running the large object fix programs

About this task

Making sizing changes to the large objects involves running two programs. The first (ARSZLOFX) updates the DOC_LEN field in the application group data tables for the migrated indexes for a specified application group, and optionally a range of dates. The second program (ARSMIGF3) updates the ARSODIND table corresponding to the rows modified by ARSZLOFX.

You do the following tasks to install the items in this procedure:
  • copy members to the user libraries
  • customize the Db2® package and plan DDL
  • prepare the Db2 environment

Procedure

To install ARSZLOFX, do the following steps:

  1. Copy members to user libraries.
    Use the user libraries that you created for the index migration routines when you perform this step.
    • From SARSINST to hlq.USERPARM, copy ARSZLOFP, renaming the member to ARSZLOFX.
    • From SARSINST to hlq.USERDB2, copy the following members:
      • ARSKLOFX
      • ARSLLOFX
      • ARSGLOFX
    • From SARSINST to hlq.USERJCL, copy the following members:
      • ARSZLOF, renaming the member to ARSZLOFX
      • ARSATBL1. Back up the existing member before replacing with this new version
  2. Customize the Db2 package and plan DDL.
    You must now convert the DBRM (database request module) library members to application packages and plans and grant access to the plans.
    Note: Each Db2 environment can have multiple subsystem identifiers. Make sure that the subsystem identifiers in the members match the ones in use in your Db2 environment.
    1. Make modifications to the members in USERDB2.
      • Modify ARSKLOFX to reflect the Db2 package name to use for the ARSZLOFX program.
      • Modify ARSLLOFX to reflect the Db2 plan name and package name to use for the ARSZLOFX program.
      • Modify ARSGLOFX to reflect the Db2 plan name for the ARSZLOFX program.
    2. Modify member ARSATBL1 in USERJCL to specify the proper USERPROC library on the //JOPBPROC statement.
      See the note in step 4.
  3. Prepare the Db2 environment.
    This step is only for environments where the Content Manager OnDemandlibrary server is on one MVS™ image and the Content Manager OnDemand object server is on a different MVS image. If your environment has a combined Content Manager OnDemand library and object server, do not do this step.

    The ARSZLOFX program runs on the library server and accesses several tables that reside on that server. It also accesses the ARSOD table that resides on the object server. The following steps describe how to access the ARSOD table on the object server from the library server. The following table describes the references used in those steps.

    Table 1. References for the ARSOD table procedure
    Reference Description
    hlq1 Owner ID for the ARSAG, ARSNODE and ARSSEG tables on the library server.
    hlq2 Owner ID for the ARSOD table on the object server.
    link1 The LINKNAME for the link from the Db2 subsystem on the MVS image of the library server to the Db2 subsystem on the MVS image of the object server.
    link2 The LINKNAME for the link from the Db2 subsystem on the MVS image of the object server to the Db2 subsystem on the MVS image of the library server.
    1. Define the location of the object server to the Db2 subsystem of the library server.
      For the bind of the package to be successful, the ARSOD table on the object server needs to be defined to the library server through a Db2 alias . This package bind occurs on the MVS image of the library server.

      Coordinate with your Db2 DBA to update the SYSIBM.IPNAMES and SYSIBM.LOCATIONS tables on the MVS image of the library server to create a LINKNAME (link1) pointing to the MVS image where the object server resides.

    2. Define a Db2 alias on the library server to the ARSOD table on the object server.
      The bind of the package on the library server for the ARSZLOFX program resolves the references in the program to the ARSOD table on the object server. This step defines the alias for the name resolution.

      When you bind your package and plan on the library server, the ARSKRUN member of the USERDB2 library contains an OWNER parameter. The value of this parameter is the owner-id of the Content Manager OnDemand tables on the library server. Use this value as the hlq1 value in the following SQL statement: CREATE ALIAS hlq1.VARSOD for link1.hlq2.ARSOD The hlq2 value is the owner of the ARSOD table on the object server. link1 is the value you used when creating the SYSIBM.LOCATIONS entry in step 3.a.

    3. Define the location of the library server to the Db2 subsystem of the object server.
      Several of the tables referenced in the ARSZLOFX program reside on the library server. A second package bind of this program must be performed on the object server. For this bind to work, these tables must be defined with an alias on the object server. A LINKNAME must be created on the object server that points to the library server before the alias can be created.

      Coordinate with your Db2 DBA to update the SYSIBM.IPNAMES and SYSIBM.LOCATIONS tables on the MVS image of the object server to create a LINKNAME (link2) pointing to the MVS image where the library server resides.

    4. Define the Db2 alias on the object server to the tables used on the library server.
      The bind of the package on the object server for the ARSZLOFX program resolves the references in the program to the ARSAG, ARSNODE and ARSSEG tables on the library server. This step defines the alias for the name resolution.

      When you bind your package on the object server, set hlq1 to the owner of the ARSOD table on the object server in the CREATE ALIAS. Set hlq2 to the owner of the Content Manager OnDemand tables on the library server. Set link2 to the value you used when creating the SYSIBM.LOCATIONS entry in step 3.c.

      • CREATE ALIAS hlq1.ARSAG FOR link2.hlq2.ARSAG;
      • CREATE ALIAS hlq1.ARSNODE FOR link2.hlq2.ARSNODE;
      • CREATE ALIAS hlq1.ARSSEG FOR link2.hlq2.ARSSEG;
    5. Bind the package on the object server.
      A bind of the package is required on the object server and is included in the PKLIST of the Plan Bind on the library server.
      This bind uses link1 defined in step 3.a and hlq2 as the owner of the ARSOD table on the object server. This bind runs on the image where the object server resides.
      BIND PACKAGE(link1.ARSZLOFR)
      MEMBER(ARSZLOFX)
      ACTION(REP)
      EXPLAIN(NO)
      VALIDATE(BIND)
      ISOLATION(CS)
      RELEASE(COMMIT)
      OWNER(hlq2)
    6. Modify the bind plan parameters on the library server.
      The ARSLLOFX member of the USERDB2 library on the library server is shipped containing the following:
      BIND PLAN(ARSZLOFX)
      PKLIST(ARSZLOFX.*)
      The PKLIST must be modified to include the package from step 3.e:
      BIND PLAN(ARSZLOFX)
           PKLIST(ARSZLOFX.*,
                  link1.ARSZLOFR.*)

      The plan references two packages. The first is the one bound on the library server (in step 4) and the second is the one bound on the object server (in step 3.e). This allows the execution of the ARSZLOFX program on the library server to access the ARSOD table which resides on the object server.

  4. Prepare the Db2 package and plan.
    Run the ARSATBL1 job on the library server after completing all customization. Comment out all but the following steps in the ARSATBL1 JCL member:
    ARSLLOFX
    ARSKLOFX
    ARSGLOFX
    Note: The binding of the package and plan for the ARSZLOFX program, using the ARSKLOFX and ARSLLOFX USERDB2 members, must be done with a Db2 owner value equal to that for which the base Version 7.1 or Version 8.4 tables were created. That is the value specified in the SRVR_INSTANCE_OWNER parameter of the ARS.INI file.

    The ARSKRUN and ARSLRUN members of the USERDB2 library contain the OWNER parameter used during the package and plan binds. If the OWNER value needed for the ARSZLOFX program is different from what is currently there, modify the value before running the package and plan binds.