Skip to content
CA Datacom Core - 15.1
Documentation powered by DocOps

SPILL (Transfer Data to RXX)

Last update January 7, 2019
Note: We recommend you use the new SPILLOPT function instead of the SPILL function. SPILL works the same as SPILLOPT SPILL=MAX (see SPILLOPT (Transfer Data to RXX Using MAX/MIN)).

The SPILL function transfers data from the Log Area (LXX) to the Recovery File (RXX). All spilling is controlled and done through the MUF, which must be enabled to do a spill. The SPILL function is allowed for both active and inactive recovery.

If blocks are spillable, the utility opens the Recovery File, copies the appropriate log blocks (from MUF) to the Recovery File, and closes the file. The space occupied by the spilled data is made available when the function is complete.

With an Active Recovery File, the spill is automatically done when the percentage is equal or above the LOGSPILL percentage and log blocks are spillable.

See Administrating for details about the LOGSPILL, LOGRCV, and MESSAGE MUF startup options.

Note: When using inactive recovery (that is, NO specified for the MUF startup option LOGRCV) and checking for spillable data based upon the LOGSPILL percentage, CA Datacom®/DB presumes that the portion of the Log Area (LXX) that contains pipelined index and/or data need not be spilled when determining the number of blocks spillable. This allows a spill option to reduce index/data I/O when preparing for a spill.

When to Use Active Recovery

The SPILL function can be run at any time to request that the MUF spill any spillable blocks to the Recovery File. This would be used in the situation of having run a job which ended but you need to run backward recovery to reverse the job. If the full job's logging records have not been spilled, run this spill. If any blocks are spillable (and a spill is not active), a spill is started. At its completion, the date/time stamp in the DB00310 message provides information to tell if the job is completely spilled. If not, wait a while and rerun the spill.

When to Use Inactive Recovery

With an Inactive Recovery File and when the console message DB00308 occurs, log blocks are spillable and a spill should be done. A spill may not be successful at other times for the following reasons:

  • The Log Area may have data, but due to an active transaction, no blocks are spillable. The utility terminates processing the utility job step and takes no action concerning the Recovery File.
  • A spill may already be in progress. In this case, a message so indicates and the utility terminates processing the utility job step and takes no action concerning the Recovery File.
  • The Log Area might be empty. In this case, a message indicates the empty condition, and the utility continues to the next function without error and no action concerning the Recovery File.
Note: When using inactive recovery (that is, NO specified for the MUF startup option LOGRCV) and checking for spillable data based upon the LOGSPILL percentage, CA Datacom®/DB presumes that the portion of the Log Area (LXX) that contains pipelined index and/or data need not be spilled when determining the number of blocks spillable. This allows a spill option to reduce index/data I/O when preparing for a spill.

Dual Recovery File (RXX) Support

Dual Recovery File (RXX) support is available for sites that use inactive recovery. This provides the ability to create two copies of the RXX with one pass of the Log Area (LXX). To allow for a dual Recovery File, a dual RXX parameter has been added to the LOGRCV MUF startup option.

Note: For more information on the LOGRCV MUF startup option, see Administrating.

MUF Connection

This function communicates with one MUF. Be aware of the following:

  • Ensure that DBUTLTY is communicating with the desired MUF by executing DBUTLTY with the same System Identifier module (DBSIDPR) that is being used by the MUF, and
  • Ensure proper load library concatenation by keeping the System Identifier modules (DBSIDPR) in separate load libraries.

If the z/OS Cross-System Coupling Facility (XCF) is being used, ensure that the TOGROUP DBSIDPR parameter is correctly defined. See Administrating for more information on XCF.

How to Use SPILL

The MUF must be active when you execute this command. Use the following command format to transfer Log Area data to the Recovery File (RXX):

►►─ SPILL ────────────────────────────────────────────────────────────────────►◄

Command

  • SPILL
    Invokes the function to transfer data from the Log Area (LXX) to the Recovery File (RXX).

Example JCL (SPILL)

The following shows the command to transfer data from the Log Area to the Recovery File. In the line that shows //RXX DD ... the three dots (...) represent the desired DD statement options. Do not use the DCB= option, however, because CA Datacom®/DB forces the appropriate values to be used, and those appropriate values override any DCB= values set by users.

Note: Use the following as a guide to prepare your JCL. The JCL statements are for example only. Lowercase letters in a statement indicate a value you must supply. Code all statements to your site and installation standards.

 //jobname    See the previous note.
 //       EXEC PGM=DBUTLTY,REGION=2M
 //STEPLIB    See the previous note.
 //CXX      DD DSN=cxx.data.set,DISP=SHR           Directory data set
 //RXX      DD ...                                 Recovery data set (output)
 set
 //SYSIN    DD *                                   Command Input
          SPILL
 /*

The following shows sample JCL when the MUF option is set for dual RXX output. In the line that shows //RXX1 DD ... and //RXX2 DD ... the three dots (...) represent the desired DD statement options. Do not use the DCB= option, however, because CA Datacom®/DB forces the appropriate values to be used, and those appropriate values override any DCB= values set by users. Using dual RXX output, you could if desired direct RXX1 to disk and RXX2 to tape.

Note: Use the following as a guide to prepare your JCL. The JCL statements are for example only. Lowercase letters in a statement indicate a value you must supply. Code all statements to your site and installation standards.

 //jobname    See the previous note.

 //       EXEC PGM=DBUTLTY,REGION=2M

 //STEPLIB    See the previous note.

 //CXX      DD DSN=cxx.data.set,DISP=SHR           Directory data set

 //RXX1     DD ...                                 Recovery data set 1 (output)

 //RXX2     DD ...                                 Recovery data set 2 (output)

 //SYSIN    DD *                                   Command Input

          SPILL

 /*

Sample Report

Following is a sample report page. For an example report header, see Sample Report Headers.

                    CONTROL CARD(S)
                    .........1.........2.........3.........4.........5.........6.........7.........8
                    SPILL
 
                    FUNCTION=SPILL

This page of the report shows the following:

  • The command exactly as entered.
  • An analysis of keywords encountered and expected. Any errors found are flagged with a note in the left margin.
  • Any messages related to syntax processing.

DB13085I - LOG AREA SPILL IS COMPLETE                                                  
                                                                                       
DB00310I - LOG SPILL 1-1, BLOCKS E-E4, TIMES ccyy/mm/dd hh.mm.ss-ccyy/mm/dd hh.mm.ss     
                                                                                       
DB00404I - RXX LAST RECORD DATE/TIME -  ccyy/mm/dd/ hh.mm.ss                          

This page of the report displays messages about the success of the spill. For more information on each message, see Messages.

Was this helpful?

Please log in to post comments.