Forced by the destiny to make a migration using backup/restore (with a little downtime), how to be sure nothing will be lost during the migration?
Here is a way: Create your own data just before migrating. 🙂
Seems like a kludge and it is.. haha.. But it works. Take a look:
# Original Database
SQL> shu immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup restrict; ORACLE instance started. Total System Global Area 2689060864 bytes Fixed Size 2229520 bytes Variable Size 1996491504 bytes Database Buffers 671088640 bytes Redo Buffers 19251200 bytes Database mounted. Database opened. SQL> create table matheus_boesing.migration (text varchar2(10)); Table created. SQL> insert into matheus_boesing.migration values ('well done!'); 1 row created. SQL> commit; Commit complete. SQL> alter system switch logfile; System altered. SQL> / System altered. SQL> / System altered. SQL> / System altered. SQL> / System altered. SQL> / System altered. SQL> shu immediate; SQL> exit; $ rman target / connect catalog rman_mydb/password@catalogdb run { backup archivelog all;}
# Destination Database
$ rman target / connect catalog rman_mydb/password@catalogdb run { recover database;} $ sqlplus / as sysdba SQL> select count(1), to_char(CHECKPOINT_TIME, 'DD/MM/YYYY HH24:MI:SS') from V$DATAFILE_HEADER t group by to_char(CHECKPOINT_TIME, 'DD/MM/YYYY HH24:MI:SS') order by 2; COUNT(1) TO_CHAR(CHECKPOINT_ ---------- ------------------- 51 27/06/2015 22:15:28 -- All datafiles with synchronized headers... SQL> alter database open read only; -- If needed, you can do more recover, this way... Database altered. SQL> select * from matheus_boesing.migration; TEXT ---------- well done! -- Means no more recover is needed :) SQL> shutdown immediate; SQL> alter database open resetlogs; Database altered.
And be Happy! 😀
Matheus.
Pingback: Database Migration/Move with RMAN: Are you sure nothing is missing? | Dinesh Ram Kali.