z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Using VERIFY to Process Improperly Closed Data Sets

z/OS DFSMS Using Data Sets
SC23-6855-00

You can use a VSAM VERIFY macro call with certain types of opened VSAM data sets to ensure that fields in the VSAM control blocks are accurate. The VERIFY macro does not change the data in the data set. VERIFY does not correct missing or duplicate records or repair any damage in the index structure. The verification of control-block fields enables you to perform recovery actions on the improperly closed data set, if necessary.

Besides the VSAM VERIFY macro, you can use the IDCAMS VERIFY command to verify a VSAM data set. When you issue this command, IDCAMS opens the VSAM data set for output, issues a VSAM VERIFY macro call, and closes the data set. The IDCAMS VERIFY command (without the RECOVER parameter) and the verification by VSAM OPEN are the same. Neither changes the data in the verified data set.

If VSAM or RLS processing such as CA reclaim has been interrupted (this may be indicated by results for the EXAMINE command) you can use the IDCAMS VERIFY command with the RECOVER parameter to back out or complete the interrupted process, so that subsequent EXAMINE commands will generate cleaner output. If you use the IDCAMS VERIFY RECOVER command after CA reclaim processing has been interrupted, the IDCAMS VERIFY command may also:
  • Change the index structure of the data set
  • Cause subsequent CA splits to reuse reclaimed empty data CAs for different records.
The IDCAMS VERIFY RECOVER command requires that the data set be not opened anywhere else across systems; otherwise, it will fail with an OPEN error. Although IBM recommends that you use IDCAMS VERIFY RECOVER after a key-sequenced data set has been closed improperly, if you do not, the next VSAM or RLS POINT, GET, PUT, or ERASE request that finds the CIs involved in the interrupted process may back out or complete the process.

The catalog will be updated from the verified information (from VSAM VERIFY or IDCAMS VERIFY) in the VSAM control blocks when the VSAM data set which was opened for output is successfully closed. In addition to updating the control blocks to be used by CLOSE, the IDCAMS VERIFY RECOVER command also backs out or completes the interrupted VSAM or RLS processing to the data set.

The actual VSAM control-block fields that get updated with the IDCAMS VERIFY command depend on the type of data set being verified. VSAM control block fields that can be updated include “High used RBA/CI” for the data set, “High key RBA/CI”, “number of index levels”, and “RBA/CI of the first sequence set record”.

The IDCAMS VERIFY command or the VSAM VERIFY macro should be used following a system failure that caused a component opened for update processing to be improperly closed. Clusters, alternate indexes, entry-sequenced data sets, and catalogs can be verified. Paths over an alternate index and linear data sets cannot be verified. Paths defined directly over a base cluster can be verified. The VSAM VERIFY macro will perform no function when VSAM RLS is being used. VSAM RLS is responsible for maintaining data set information in a shared environment.

Although the data and index components of a key-sequenced cluster or alternate index can be verified, the timestamps of the two components are different following the separate verifies, possibly causing further OPEN errors. Therefore, use the cluster or alternate index name as the target of your IDCAMS VERIFY command. You should issue the IDCAMS VERIFY command every time you open a VSAM cluster that is shared across systems. For information about using VERIFY with clusters that are shared, see Cross-System Sharing.

For information about the IDCAMS VERIFY command, see VERIFY in z/OS DFSMS Access Method Services Commands.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014