The installation customization process handles the setup requirements for the Classic data server. You perform
any setup steps in the data source environment, such as deploying a database interface or
configuring PSBs for IMS.
Before you refresh subscriptions, ensure that you complete the following tasks on the data source
environment:
Load query processor
Ensure that your source server is running a query processor service for refresh operations
(service class QPLD) so that InfoSphere® Classic
CDC for z/OS® can refresh
subscribed tables. Do not change the settings for this service.
IMS data sources
Ensure that a DRA service is running in the source server. You must configure a DRA interface so that the source server can communicate with the IMS subsystem.
IBM® recommends that IMS refresh operations be done while the IMS databases
are in read-only mode to protect data consistency. Doing so can prevent update operations from
contending with the refresh operation, which avoids additional overhead for locking. Allowing
updates during refresh can incur overhead for locking and extend the time before the source and
target are in synch because all updates during refresh are only sent to the target after the refresh
operation completes.
Table 1 lists IMS database commands that can be used to put the database in
read-only mode, the required PSB processing option (PCB PROCOPT) settings, and additional
considerations.
Table 1. IMS read-only commands and PROCOPT considerations
| IMS Command |
Required PROCOPT |
Considerations |
| /START DB DBNAME ACCESS=RO |
- PROCOPT=GOx
- The only programs that can use the database on this subsystem are those that have a PCB
processing option of GOx.
|
- Database is in read-only mode.
- Data is read without integrity (no locking).
- Programs that access the data by using the GOx processing option might see uncommitted data, because a sharing IMS subsystem could be updating the database, which is opened for input only.
- Refresh operation might run faster because there is no locking overhead.
|
| /START DB DBNAME ACCESS=RD |
- PROCOPT=any option
- Programs with update intent can be scheduled but cannot perform update operations on this
subsystem.
|
- Database is in read-only mode.
- Data is read with integrity (locking).
- Only committed data can be processed by the refresh when a sharing IMS subsystem is updating the database.
- Programs that access the data by using the GOx processing option might see uncommitted data, because a sharing IMS subsystem could be updating the database, which is opened for input only.
|
| /DBDUMP DB DBNAME |
- PROCOPT=any option
- Programs with update intent can be scheduled but cannot perform update operations on this
subsystem.
|
- Database is in inquire only mode (INQONLY).
- Data is read with integrity (locking).
- Only committed data can be processed by the refresh when a sharing IMS subsystem is updating the database.
- Programs that access the data by using the GOx processing option might see uncommitted data, because a sharing IMS subsystem could be updating the database, which is opened for input only.
|
For more information on the database commands see IMS commands.
If the database cannot be placed in read-only mode, it is important to understand how the PCB
PROCOPT setting can affect the behavior, performance, and data integrity of the refresh operation.
Table 2 describes the possible
PCB PROCOPT settings that are applicable for refresh operations and possible considerations.
Table 2. PCB PROCOPT settings for refresh and possible considerations
| PROCOPT |
Description and considerations for refresh processing |
| A |
All functions (includes G, I, R, and D functions)
- Application can read, insert, delete, replace, or any combination of these actions.
- IMS performs isolation enqueue/dequeue processing.
- Refresh only replicates committed changes.
|
| Gx |
Get Function (Read with integrity)
- Application is read only with access to committed data only.
- IMS performs isolation enqueue/dequeue processing.
- Refresh only replicates committed changes.
|
| GOx |
Get Function (Read without integrity)
- Application is read only with access to uncommitted changes.
- IMS does no isolation enqueue/dequeue processing.
- Refresh might process uncommitted changes.
- Capture service issues the CECC0328W warning message to inform you that the refresh process
could process uncommitted changed.
Use this option with caution: If you use the O option for a PSB,
IMS does not check the ownership of the segments that are
returned. This means that the read-only refresh might get a segment that was updated by another
application. If the updating application should then abnormally terminate, and the changes are
backed out, the read-only refresh would have replicated a segment that never existed in the
database. In addition, the refresh operation can ABEND when doing path calls (PROCOPT=GOP) if
another application updates pointers that the refresh is following.
|
| Rx |
Replace function (Includes G)
- Application can perform read and replace actions.
- IMS performs isolation enqueue/dequeue processing.
- Refresh only replicates committed changes.
|
| Additional |
The following options can be used in conjunction with options listed above with
"x" |
| P |
Position Function
- Application can use path calls.
- Enables optimized processing when IMS data is accessed during refresh.
- When refresh references a child leaf segment, a single DL/I call is issued to retrieve an
instance of the leaf segment with a *D command code (path call) included for all parent
segments.
- Improves refresh performance by issuing a single DL/I call to retrieve a row of data to be sent
to the target as opposed to issuing multiple get next calls that walk the hierarchy and are required
when path calls cannot be used.
- Removes the need for additional calls at each level of the hierarchy to determine if more data exists. These additional calls are not required when *D command codes can be used because IMS is responsible for scanning the database and returning only when all segments in the hierarchic path exist within a database record.
- This method can reduce the instruction path length even when refreshes on root segments are
performed, but it cannot achieve nearly the same cost savings as path calls to retrieve data for
child segments because of the reduced number of DL/I calls that the refresh process needs to
issue.
|
| N |
Only used with GOGet Function (Read without integrity)
- By default, when IMS detects an invalid pointer because of
changes by another application, it abends the request.
- Specifying N changes the default behavior so that IMS
returns a GG status to the refresh operation.
- If the GG status is returned because of the bad pointer, the refresh operation fails.
|
| T |
Only used with GOGet Function (Read without integrity)
- When IMS detects an invalid point because of changes by
another application, it automatically retries the DL/I operation to avoid a GG status if
possible.
- If the automatic retry of the DL/I operation fails, the GG status is returned to the refresh
operation.
- If the GG status is returned because of the bad pointer, the refresh operation fails.
- If the automatic retry of the DL/I operation is successful, the refresh operation
continues.
|
| E |
Exclusive access
- No other programs can access segments in the PSB.
- Refresh only replicates committed changes.
|
PROCOPT Recommendations
Follow these recommendations:
- Do not use a PSB that provides PROCOPT setting on a SENSEG statement
- The refresh operation does validation and call optimization based on the PROCOPT setting on the
PCB statement within a PSB. Although IMS will use a PROCOPT
setting provided on a SENSEG statement, the refresh operation does not use it for validation and
optimization.
- Always code a P (path calls) in the PCB PROCOPT setting
- This method activates streamlined processing by using path calls for the refresh operation. Path
calls are issued when a non-root segment is being refreshed. Activation of path calls only occurs
when a P is specified, even if a DEDB database is being refreshed that can always use path calls.
For more information on PSB processing option (PROCOPT) settings, see the following IMS documentation:
VSAM data sources
Ensure that a VSAM access service is running in the source server. You must configure a VSAM
access service so that the source server can access VSAM data sets.