A method for performing backup operations while avoiding data loss due to backup failure. A backup agent software receives a database server backup request and decomposes the backup request into a plurality of smaller backup requests. The plurality of smaller backup requests are then performed on the database to backup the specified database components to an archive. The backup agent software monitors success (or failure) of each of the plurality of backup requests and generates backup scripts for those backup requests that failed. These backup scripts may be subsequently executed to “re-run” the failed backups. The backup agent software is a modular program separate from the client application and the database server software.
Methods, systems, and apparatus can utilize compositional sets associated with components of a database to link backups of the database taken over time. Such a linkage aids in the selection of backups for restore, assures that all backups used to restore the database are images from a common compositional structure, and aids in increasing the efficiency of restore operations.