1. A method for remote provisioning of virtual databases, the method comprising: storing on a source database system, snapshots of data received from a source database, a snapshot representing a state of a source database at a point in time, wherein the snapshot shares database blocks with another snapshot associated with a different point in time; replicating data from the source database storage system to a target database storage system, wherein replicating the data comprises, replicating a first database infrastructure object of the source database system to a second database infrastructure object of the target database storage system, wherein a database infrastructure object represents an entity associated with database blocks; creating, by the target database system, one or more database infrastructure objects dependent on the second database infrastructure object and marking the created database infrastructure objects active, wherein a database infrastructure object dependent on another database infrastructure object shares database blocks with the other database infrastructure object; receiving a request to delete the first database infrastructure object at the source database storage system; verifying whether any active database infrastructure object depends on the second database infrastructure object, comprising, determining whether any database infrastructure object depends on at least one of: the second database infrastructure object or another database infrastructure object dependent on the second database infrastructure object; and responsive to verifying that there is at least one active database infrastructure object dependent on the second database infrastructure object, marking the second database infrastructure object as inactive, wherein the inactive database infrastructure object prevents reclamation of storage space of database blocks associated with the inactive second database infrastructure object.