![]() |
Copyright © TIBCO Software Inc. All Rights Reserved |
S6BBRULA is a TIBCO Object Service Broker recovery utility that restores one or more TDS tables from an archive (backup) file. You can:
When the data is recovered to a file, the file can be used as input to S6BBRTBL (batch load utility) or it can be reloaded as an import file. If loaded as an import file, you must account for null handling in your rules.Refer to Appendix C, Null Handling for information on preserving null values in data fields. The unload and subsequent load assume specific values in the unloaded file that represent nulls.
• If you use either of the batch unload utilities to unload data, you can reload the data by using the batch load utility or by treating the data as a TIBCO Object Service Broker import file. However, you cannot treat the data as an import file when binary or packed fields are to contain numeric syntax null values. When using the import server, you must use a special value string to represent nulls (null equivalent field values) in the unload file or revert to the oldnull option. Refer to Appendix C, Null Handling for more information.
• Each table requested must be defined by control records that represent the table layout at the time the archive was created.
• If you are using FTP to transfer unloaded data between z/OS and Windows or Solaris, transfer the files in binary and specify the z/OS FTP LOCSITE subcommand with the RDW parameter.Processing OverviewThe process of unloading a table from archive has three phases. During the process, the archive file is scanned twice. The utility accepts a number of parameters to control both the program flow and storage utilization. The three phases of the table unload process are:
1. The first phase scans the archive file and extracts page chain information, primary, and group index chain information.
2. The second phase identifies which data pages contain the information for all the unloaded tables.
3. The third phase extracts the data occurrences from the required pages and produces a work file that is then sorted into appropriate order based upon parameter values within the table name.The sample situation assumes that one table on segment 1 is lost or corrupted. If you are unloading all the table instances from a parameterized table, the process would be the same. For information about recovering particular table instances, review the sample and refer to “Selecting Records During Processing”.
Before using S6BBRULA, ensure that the backup level is appropriate for your requirements. In the sample situation, S6BBRULA is used to recover the table from the most recent backup. This backup can be merged with outstanding journals to create a more current backup. For more information about this procedure, refer to TIBCO Object Service Broker for z/OS Managing Backup and Recovery.To define the tables that you want to recover, code control cards as described in this section. Your definition must match that of the table when it was archived. You can use the BATCHUNLD_CARDS utility, which provides a screen interface for you to specify the table or table instances to unload from the archive, and creates the control cards and selection file for you. Refer to the documentation for BATCHUNLD_CARDS in TIBCO Object Service Broker Shareable Tools.If you cannot use BATCHUNLD_CARDS because TIBCO Object Service Broker is not available, you must define the control cards manually according to the format described below.Each record in the control cards is 80 characters long and has a fixed format. The fields are spaced apart to conform to the layout used by a number of TIBCO Object Service Broker batch utilities such as the batch load utility (S6BBRTBL).Table Control CardThe first card in the control card file is a table control card. This control card specifies the number of tables specified in the control card file and must be the first entry in the file. The layout is as follows:
Table Definition Cards
H – TIBCO Object Service Broker definition card identifier. Offset of parameter/field in output text (the 4-byte variable length and 16-byte table name are excluded from the offset). Null-equivalent value Sample Table DefinitionThe layout you are describing must match the definition contained in the backup file. The following contains a description of the table definition of the sample table:
Sample Control Cards
To customize the JCL, specify input files, output files, and runtime parameters. The files and runtime parameters used by S6BBRULA are described below.Files Used by S6BBRULA
Variable block (sequential) or VSAM. Input TIBCO Object Service Broker backup of segment. SYSPRINT type file. Output execution audit trail including table definitions and summaries for each processing step. Fixed block 4096 byte. Output/input file retains group index page images between pass 1 and 2. This is a temporary file that you do not need to retain. VIO type device is recommended. Variable block, 4100 bytes maximum. The output/input file retains raw extracted data with sequencing fields and the table name at the beginning of the record. This file is used as input to the internal sort that orders the entries and removes the sequencing information. This is a temporary file that you do not need to retain afterwards. VIO type device is recommended. Variable block, 4100 bytes maximum. This is the final output file with extracted data in proper sequence for loading.There are additional files if you choose to break during execution. These files and the necessary runtime parameters are described in Selecting Records During Processing.Runtime Parameters
The segment number of the Pagestore that stores the tables to be unloaded. If omitted, the default is segment 0. The total number of pages contained in a specified segment, including both allocated and unallocated pages. It is better to overestimate the size than underestimate it.Note Do not include commas in the parameter value (for example, specify 100000).There are additional runtime parameters that you can leave at their default values unless error messages indicate that a particular value should be modified. The additional parameters are listed in Runtime Storage Parameters.The S6BBRULA member of the JCL data set distributed with TIBCO Object Service Broker contains sample JCL required to run this utility.
Records in the RECOVER data set store the table name as a 16-byte header. You must account for this 16-byte header when you describe the record format to the batch load utility (S6BBRTBL).If you do not need to recover all the instances of a parameterized table, you can select specific parameter values.The following illustrates the definition of an example parameterized table. The sample table is parameterized by USERID and is used to explain record selection:
If you know the parameter values that you want to select before you initiate S6BBRULA execution, you can use a selection file to specify table instances.To select specific parameter value sets externally, you can run S6BBRULA in Break mode to halt processing and allow you to select parameter values according to your criteria. This procedure is described in Defining Table Instances Externally.
Fixed block, 530 bytes. This file contains selection criteria for the parameter values. It is required for internal parameter value selection only. Variable block, maximum length 40. This output file is created in phase 2 of processing if the BREAK parameter is specified. It retains data page header and requirement information. Variable block, maximum length 300. This output file is created in phase 2 of processing if the BREAK parameter is specified. It retains parameter value information so that selection can be done to eliminate unwanted table instances of a parameterized table. Variable block, maximum length 40. This input file is read at initialization when in CONTINUE processing mode (refer to BRKDATA). Variable block, maximum length 300. This input file is read at initialization when in CONTINUE processing mode (refer to BRKPVS).To define files internally, the selection criteria in a SELECT file must be 530 bytes. This can be generated using the BATCHUNLD_CARDS utility. For more information, refer to the documentation for BATCHUNLD_CARDS in TIBCO Object Service Broker Shareable Tools.If you cannot use BATCHUNLD_CARDS, you must define the selection file manually in the following fixed format:
The first record in the selection file is a control record. The control record must have a table name of “****************” (16 asterisks). The first four bytes of the Parm 1 field must contain a count of the number of records in the SELECT file, excluding the control record. The following illustrates an example of the selection file for this table:
The alternate way to extract table instances is to define the instances externally by executing S6BBRULA in Break and Continue modes. To halt S6BBRULA processing, you can specify a runtime parameter of BREAK. To continue with the unload after doing some external processing, you run S6BBRULA with a runtime parameter of CONTINUE. The parameters are described here:
(Optional) Halt processing after all the required data pages have been tagged and data chain and parameter value files have been produced. To eliminate table instances of specific parameter values you do not want to unload, review the parameter value file (BRKPVS). (Optional, after a break) Continue processing after external parameter value selection is complete.The BRKEXEC member of the JCL data set distributed with TIBCO Object Service Broker contains sample JCL required to run the table unload program, halting it after internal parameter value selection (PVS) and data page selection.The BRKPVS data set contains a header record and a record for every table instance extracted from the archive. The header record contains a count of the number of parameter value records. You can edit this file and delete the parameter value records for the table instances you do not want to recover.
Do not edit the header record. We recommend that you make a backup copy of the BRKPVS file before you edit it and use it as input to the Continue process as CONTDATA and CONTPVS.The CONTEXEC member of the JCL data set distributed with TIBCO Object Service Broker contains sample JCL required to continue the table unload process after a break run.The following runtime parameters are used in the calculation and distribution of allocated storage. These parameters allow you to tune the execution of S6BBRULA. With the exception of the PAGES parameter, all these storage parameters should be left at their default values unless a previous execution failure indicates that modification is necessary.
An estimate of the total number of pages on the archive file for the specified segment.Note Do not embed commas in the parameter value (for example, specify 100000). Note If the tables being unloaded is not parameterized, the GIX percentage can be zero. Note If the tables being unloaded is not parameterized, the HIX percentage can be zero. Storage requirement = total pages * gix% * pvs% * average GIX entries per page (100) * entry length (264).Note If the tables being unloaded is not parameterized, the PVS percentage can be set to zero.The following steps describe how to restore an archived file to a new name or segment, or both. This example uses the EMPLOYEE table that resides on segment 2 and restores it as EMPLOYEE_RESTORE on segment 3.
3. Using the BATCHLOAD_CARDS utility, create control cards for the table EMPLOYEE_RESTORE.
5. Run S6BBRTBL (batch load) to load the data from the flat file into EMPLOYEE_RESTORE.
These procedures can have an adverse effect on your continuous backup. When possible, take full backups before attempting to restore files from an archive. Refer to TIBCO Object Service Broker for z/OS Managing Backup and Recovery for more information.
![]() |
Copyright © TIBCO Software Inc. All Rights Reserved |