On occasion, it is necessary to restore just one tablespace in a database to a Point-In-Time. This short blog will describe just how easy it is with just four steps.
- Take the tablespace offline:
alter tablespace <tablespace_name> offline;
- Issue the restore command from an RMAN prompt. This step may take a bit of time, depending on how large the backup set is and how large the tablespace is. Also, this step will actually start an “Auxiliary” database up, restore the datafile to it and then copy it to the database. So, do not panic when you see and database startup and stop.
restore tablespace <tablespace_name> until time "to_date('19-APR-2019 06:30:00','DD-MON-YYYY:HH24:MI:SS')";
- After the restore is completed, a “Recover” needs to be issued. Depending on how many archive logs it has to roll through will determine how long this step will take.
recover tablespace <tablespace_name> until time = "to_date('12-APR-2019 07:30:00','DD-MON-YYYY:HH24:MI:SS')" auxiliary destination '<Disk Location>';
- Finally, the tablespace can be brought back online.
alter tablespace <tablespace_name> online;
And that’s how easy it is to restore a single tablespace to a point in time using RMAN, did it work for you?
Imagine over one hundred logins in the source server, you need to migrate them to the destination server. Wouldn’t it be awesome if we could automate the process?