Veritas NetBackup™ DataStore SDK Programmer's Guide for XBSA 1.1.0
- Introduction to NetBackup XBSA
- How to set up the SDK
- Using the NetBackup XBSA interface
- NetBackup XBSA data structures
- NetBackup XBSA environment
- XBSA sessions and transactions
- Creating a NetBackup XBSA application
- Initiating a session
- Backup - creating an object
- Query - finding an object descriptor
- Restore - retrieving an object's data
- Delete - deleting an object or image
- Media IDs - obtaining media IDs
- How to build an XBSA application
- How to run a NetBackup XBSA application
- About How to run a NetBackup XBSA application
- API reference
- Function calls
- Function specifications
- Type definitions
- Process flow and troubleshooting
- How to use the sample files
- Support and updates
- Appendix A. Register authorized locations
An XBSA application can delete a NetBackup XBSA object using the BSADeleteObject() call. BSADeleteObject() takes a copyId as a parameter and marks that object to be deleted. The actual delete of an object does not take place until the BSAEndTxn() call commits the transaction, so a query within a delete transaction can return an object to be deleted. An XBSA application can delete an NetBackup image that contains one or more objects using the NBBSADeleteImage() call. NBBSADeleteImage() takes a copyId of any one of the objects in the image as a parameter. Unlike BSADeleteObject(), the deletion of the image takes place during the NBBSADeleteImage() call. If objects were backed up to a tape device, the data is not deleted as part of this transaction. When all images on a tape have been deleted or expired, NetBackup frees the tape to be reused.
Within a delete transaction, it is permissible to embed BSAQueryObject() and BSAGetNextQueryObject() calls. This allows the XBSA application to intermix delete operations with BSAQueryObject() and BSAGetNextQueryObject() calls to delete multiple objects or images within one transaction. Backup and restore operations are not allowed within a delete transaction.
For NetBackup XBSA Version 1.1.0, BSADeleteObject() has a limitation that there can only be one object in a NetBackup image for the delete to work. This means that when the object was created, it was the only object created in the transaction. If there are multiple objects, BSADeleteObject() returns a BSA_RC_SUCCESS status, but the object still exists. To delete a NetBackup image containing multiple objects, use NBBSADeleteImage().
NetBackup takes care of deleting objects with the retention period setting that is part of the configuration of a NetBackup schedule. In general, due to the way the data is stored on tape and other media, deleting individual objects has limited value.