Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 8 Configuring Your Pagestore on z/OS : Adding a Page Data Set to an Existing Segment

Adding a Page Data Set to an Existing Segment
If a segment is nearing its data capacity, you can use one of two procedures to add one or more page data sets to the segment:
1.
Use backup and restore utilities along with segment balance. This is the recommended method especially if the segment has many tables.
2.
See Also
TIBCO Object Service Broker for z/OS Utilities and TIBCO Object Service Broker for z/OS Managing Backup and Recovery for specific information about the utilities mentioned in the following sections.
Procedure 1: Using Backup and Restore Utilities
Complete the following tasks to add a page data set to an existing segment.
 
Task A Take the segment offline, using the dboffline command
From the system console, issue the following command replacing nn with the segment number:
/F OSTARDOB, DBOFFLINE=nn
Task B Perform a backup of the segment
1.
Edit the JCL for S6BTLBPS (Backup Page Data Sets utility) and change the SEG#=0 parameter to indicate the segment to be backed up.
2.
Task C Verify the backup is good
Use S6BBRPTR (Batch Pointer Check utility) to check the backup. If any errors are detected, correct the problems before continuing. Once you have obtained a clean backup, save the backup for the expansion of the segment and recovery, in case it is needed.
1.
2.
Task D Increment the number of data sets
1.
Edit OSB.INSTALL(S6A5DBDG) to increase the number of data sets by incrementing the ACBS=n parameter for the segment.
2.
Task E Modify your segment allocations
1.
Edit the member CNTL(SPLXSEGn) or CNTL(SPLXSGnn), which describes your segment allocation:
a.
b.
2.
Create a job OSB.INSTALL(S6A3ATMP) modelled after OSB.INSTALL(S6A3ALOC) and include only 1 IDCAMS step that contains the new DEFINE CLUSTER statements:
 

 
OSB.INSTALL(S6A3ATMP)
//*-----------------------------------------------------------------------*
//* Allocate SEGMENT nn new data sets.
//*-----------------------------------------------------------------------*
//STEP4 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=$SYSPRT$
//SYSIN DD DSN *
DEFINE CLUSTER (NAME($HLQVSAM$.$SLQ$.$SEGnnNAME$.PAGEn) UNIQUE -
VOLUMES($OSBVOL$) NONINDEXED RECSZ(4089,4089) CYLINDERS(20,0) CISZ(4096))

 
3.
4.
Using the JCL in OSB.INSTALL(S6A5FRMT) as a model, create a member OSB.INSTALL(S6A5FTMP) to format the segment's data sets using the S6BTLFPS utility. Include a DD statement for each new page data set within the segment:

 
OSB.INSTALL(S6A5FTMP)
//*---------------------------------------------------------------*
//* Format SEGMENT nn data sets *
//*---------------------------------------------------------------*
//FRMTSEGS EXEC PGM=S6BTLFPS
//STEPLIB DD DSN=$HLQNONV$.$INSTVER$.AUTH,
// DISP=SHR
//DBDLIB DD DSN=$HLQVSAM$.$SLQ$.DBDLIB,
// DISP=SHR
//SYSPRINT DD SYSOUT=$SYSPRT$
//* INCLUDE ONLY THE NEWLY ALLOCATED PAGE DATASET(S) HERE
//DD1 DD DISP=SHR,DSN=$HLQVSAM$.$SLQ$.$SEGnnNAM$.PAGEn
...
/*

 
Task F Perform a backup of the expanded segment
Use S6BTLBPS (Backup Page Data Sets utility) to backup the expanded segment.
Task G Verify the expanded data set
1.
2.
At this point the expanded segment can be used by the Data Object Broker by skipping to Task M, Shutdown the Data Object Broker; however, we recommend that S6BBRBAL (Segment Balance utility) be used to balance the data across all the segment's page data sets. This will distribute I/O for new data across all page data sets, yielding better performance.
Task H Distribute the segment data across the page data sets
S6BBRBAL (Segment Balance utility) takes your backup and creates a new backup data set reflecting evenly populated page data sets.
1.
Task I Verify the balanced segment
1.
2.
Task J Reallocate and format the page date sets
1.
Edit the OSB.INSTALL(S6A3ATMP) member created in Modify your segment allocations and change the IDCAMS SYSIN statement to point to OSB.INSTALL(SPLXSEGn) or OSB.INSTALL(SPLXSGnn). This defines the data sets comprising the segment being expanded.
2.
Ensure that this job only contains one step and that the member contains DELETE and DEFINE CLUSTER statements for all existing and new segment page data sets.
3.
4.
Edit job OSB.INSTALL(S6A5FTMP) from Task E, Modify your segment allocations and include //DD1,2,,,n DD statements for each page data set in the segment.
5.
Task K Restore the data to the newly formatted page data sets
1.
Edit the JCL for S6BTLRPS changing the PARM='SEG=nn' to specify the segment being restored by S6BTLRPS.
2.
3.
Task L Backup and verify the data set
This task ensures that the restore has been successful.
1.
Make sure that you use new backup names so that previous backups are not overwritten. This is especially important for the backup created in Task B, Perform a backup of the segment which is the fallback backup for this entire procedure.
2.
The timestamps created by S6BBRBAL for relocated pages are expressed in UTC. If you are running your system with page time stamping "OFFSET=LOCAL" rather than "OFFSET=UTC", then you must observe the following.
If your local time is a positive offset from UTC (you are ahead of UTC locally) then you must be very careful to purge old page images that might exist in the spin, merge and if you use continuous backup, the backup files. Restart your continuous backup from a freshly created backup using S6BTLBPS. You may bring the target segments back online immediately after using S6BBRBAL.
If your local time is a negative offset from UTC (you are behind UTC locally) then you should not bring the target segments back online until the local time has caught up to the UTC at which S6BBRBAL ran. For instance, if your local time is -2 hours from UTC and S6BBRBAL is run at 13:00:00 UTC then you should not bring the segment back online until after 13:00:00 local time (15:00:00 UTC) is reached. Failure to do this may corrupt future continuous backups.
Refer to TIBCO Object Service Broker for z/OS Utilities for detailed information concerning recovery and S6BBRBAL.
Task M Shutdown the Data Object Broker
To ensure an orderly shutdown, complete the following steps:
1.
2.
3.
4.
5.
For detailed information about shutting down TIBCO Object Service Broker, refer to TIBCO Object Service Broker for z/OS Installing and Operating.
Task N Restart the Data Object Broker
From the system console, issue the command to start the Data Object Broker. You may need to bring the expanded segment online, using DBONLINE. Example:
/F OSTARDOB, DBONLINE=nn
For information about starting TIBCO Object Service Broker, see TIBCO Object Service Broker for z/OS Installing and Operating.
Procedure 2: Using Unload and Load Utilities
Procedure 1: Using Backup and Restore Utilities is the recommended procedure but if your segment does not have many tables you may find it more convenient to use the unload and load utilities instead.
 
Task A Take the segment offline, using the dboffline command
From the system console, issue the following command, replacing nn with the segment number:
/F OSTARDOB, DBOFFLINE=nn
Task B Perform a backup of the segment
Edit the JCL for S6BTLBPS (Backup Page Data Sets utility) and change the SEG#=0 parameter to indicate the segment to be backed up. Submit the job to create the backup.
Task C Verify that the backup is good
Use S6BBRPTR (Batch Pointer Check utility) to check the backup. If any errors are detected, correct the problems before continuing. Once you have obtained a clean backup, save the backup for the expansion of the segment and recovery.
1.
2.
Task D Unload the table date from the segment
Use S6BBRULHB (Batch Unload utility) to unload the table data. For each table to be unloaded from the segment, you must prepare control statement information using the BATCHUNLD_CARDS tool. For details, see TIBCO Object Service Broker Shareable Tools.
Task E Increment the number of data sets
1.
Edit OSB.INSTALL(S6A5DBDG) to increase the number of data sets by incrementing the ACBS=n parameter for the segment.
2.
Task F Modify your segment allocations
1.
Edit the member CNTL(SPLXSEGn) or CNTL(SPLXSGnn), which describes your segment allocation:
a.
b.
2.
Create a job OSB.INSTALL(S6A3ATMP) modelled after OSB.INSTALL(S6A3ALOC) and include only 1 IDCAMS step that contains the new DEFINE CLUSTER statements:
 

 
OSB.INSTALL(S6A3ATMP)
//*-----------------------------------------------------------------------*
//* Allocate SEGMENT nn new data sets.
//*-----------------------------------------------------------------------*
//STEP4 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=$SYSPRT$
//SYSIN DD DSN *
DEFINE CLUSTER (NAME($HLQVSAM$.$SLQ$.$SEGnnNAME$.PAGEn) UNIQUE -
VOLUMES(HRN157) NONINDEXED RECSZ(4089,4089) CYLINDERS(20,0) CISZ(4096))

 
3.
4.
Using the JCL in OSB.INSTALL(S6A5FRMT) as a model, create a member OSB.INSTALL(S6A5FTMP) to format the segment's data sets using utility S6BTLFPS. Include a DD statement for each new page data set within the segment:

 
OSB.INSTALL(S6A5FTMP)
//*---------------------------------------------------------------*
//* Format SEGMENT nn data sets *
//*---------------------------------------------------------------*
//FRMTSEGS EXEC PGM=S6BTLFPS
//STEPLIB DD DSN=$HLQNONV$.$INSTVER$.AUTH,
// DISP=SHR
//DBDLIB DD DSN=$HLQVSAM$.$SLQ$.DBDLIB,
// DISP=SHR
//SYSPRINT DD SYSOUT=$SYSPRT$
//* INCLUDE ONLY THE NEWLY ALLOCATED PAGE DATASET(S) HERE
//DD1 DD DISP=SHR,DSN=$HLQVSAM$.$SLQ$.$SEGnnNAM$.PAGEn
...
/*

 
Task G Reload each table’s data into the expanded segment
Use S6BBBRTBL (Batch Load utility) to load the table data. For each table to be loaded from the segment, prepare control statement information using the BATCHLOAD_CARDS tool. For details, see TIBCO Object Service Broker Shareable Tools.
Task H Perform a backup of the expanded segment
Edit the JCL for S6BTLBPS (Backup Page Data Sets utility) and change the SEG#=0 parameter to indicate the segment to be backed up. Submit the job to create the backup.
Task I Verify that the backup is good
Use S6BBRPTR (Batch Pointer Check utility) to check the backup. If errors are detected, correct the problems before continuing. Once you have obtained a clean backup, save the backup for the expansion of the segment and recovery.
1.
2.
Task J Shutdown the Data Object Broker
To ensure an orderly shutdown, complete the following steps:
1.
2.
3.
4.
5.
For details, see TIBCO Object Service Broker for z/OS Installing and Operating.
Task K Restart the Data Object Broker
From the system console, issue the command to start the Data Object Broker. You may need to bring the expanded segment online, using DBONLINE. Example:
/F OSTARDOB, DBONLINE=nn
For details, see TIBCO Object Service Broker for z/OS Installing and Operating.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved