SPILL (Transfer Data to RXX)

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.
datacom
 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.
 When using inactive recovery (that is, NO specified for the MUF startup option LOGRCV) and checking for spillable data based upon the LOGSPILL percentage, 
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.
 When using inactive recovery (that is, NO specified for the MUF startup option LOGRCV) and checking for spillable data based upon the LOGSPILL percentage, 
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.
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.
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 
Datacom/DB
 forces the appropriate values to be used, and those appropriate values override any DCB= values set by users.
 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 
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.
 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.