Checking for object deletion

When OSMC encounters an object in the Object storage group that is scheduled for processing, it first checks to see if the object has reached its scheduled expiration. If it has, OSMC invokes the auto-delete (CBRHADUX) installation exit to determine if the object is allowed to be expired. If the auto-delete exit approves of the deletion, then the expiration is honored and all copies of the object are deleted. If the auto-delete exit denies the deletion, then the expiration is not honored and no copies of the object are deleted.

If the object is being deleted from the file system, the physical deletion is deferred and the object is added to the File System Delete Table for later physical deletion. The file system must remain mounted in the z/OS Unix file system hierarchy, as the physical deletion could be performed at any time that OAM is running, regardless of the OSMC functions that are currently started.

If the object is being deleted from an optical rewritable volume, the deleted space and deleted counts are updated, and the object name, collection name, volume serial number, and sector location are added to the deleted objects table for later physical deletion. If the object is deleted from a tape volume, the tape volume record is updated with the deleted kilobytes.

Each time OAM receives a request to delete an object from a tape volume, OAM updates the number of logical kilobytes deleted from that tape volume by adding the size of the object which was just deleted to the existing logical kilobytes deleted value for that tape.

Related reading: For more information on deleting objects, see the following topics:
Recommendation: If you are using DFSMSrmm to manage OAM objects on tape, the following vital record specifications, shown in TSO/E format, might be appropriate:
RMM ADDVRS DSNAME('OAM.PRIMARY.DATA') COUNT(99999) LOCATION(HOME)
 
RMM ADDVRS DSNAME('OAM.BACKUP.DATA') COUNT(99999) LOCATION(HOME)
 
RMM ADDVRS DSNAME('OAM.BACKUP2.DATA') COUNT(99999) LOCATION(HOME)
 
RMM ADDVRS DSNAME('OPEN') JOBNAME(oamtaskname) COUNT(99999) LOCATION(HOME)
 
RMM ADDVRS DSNAME('ABEND') JOBNAME(oamtaskname) COUNT(99999) LOCATION(HOME)

These DSNAME examples are data set names without DSNWITHSGNAME specified in the SETOAM statement. If DSNWITHSGNAME were specified, the storage group name would be appended as the data set name's low level qualifier. The JOBNAME value is the name of the job and started task for the OAM address space that opens the tape data sets.