1. A method for refreshing a virtual database, the method comprising: receiving, by a storage system, database blocks for different point-in-time copies of a source database; storing, by a storage system, point in time copies of the source database, wherein a point-in-time copy shares one or more stored database blocks with one or more other point-in time-copies; creating a virtual database comprising database blocks based on a first point-in-time copy of the source database stored on the storage system, the virtual database sharing one or more database blocks with other virtual databases of the storage system; receiving a request to refresh the virtual database; and responsive to receiving the request to refresh the virtual database, refreshing the virtual database comprising: identifying a latest point-in-time copy representing a recent point-in-time copy of the source database stored in the storage system, and updating the virtual database to use database blocks of the latest point-in-time copy.