1. A method for creating a virtual database system, the method comprising: receiving different point-in-time copies of a source database, the source database comprising a plurality of database blocks; storing on a storage system, database blocks for a plurality of different point-in-time copies of the source database, wherein at least some of the stored database blocks are associated with multiple point-in-time copies of the source database; creating a set of files for a virtual database, each file in the set of files is linked to the database blocks on the storage system associated with a point-in-time copy of the source database; and mounting the set of files associated with the virtual database on a database server allowing the database server to read from and write to the set of files.