I tried to push thru the swithover and make the standby as PROD , and It was a disaster!!! The databases are not in sync. We have to revert back to old primary. Making precious downtime go to waste.
I can not understand why the switch log did not work at the end?
Now I know the reason, but the damage has been done. This is because at 12am date changed making the archive log swith to another folder date.
I was only monitoring the current folder only using ls -lrt, and keep on ftp and apply logs using the current folder. I forgot that it had switch to the new folder date. What a sad way for me to learn my lessons
you can follow below seps to see content of arcivelog.
1) We set utl_file_dir
SQL> alter system set utl_file_dir=’/tmp’ scope=spfile;
2) We extract dictionary info to flat file
exec dbms_logmnr_d.build(‘flatobject.ora’,’/tmp’, dbms_logmnr_d.store_in_flat_file);
3) We add archivelog which we wantto analyze
exec dbms_logmnr.add_logfile(logfilename => ‘/oracle/fast_recovery_area/yayadb/archivelog/2014_06_18o1_mf_1_301_9t2mdyno_.arc’,options => dbms_logmnr.new);
4) We start logminer as following.
exec dbms_logmnr.start_logmnr(dictfilename => ‘/tmp/flatobject.ora’);
5) We can use following query to see contents of archivelog.
SQL> SELECT username AS USR, (XIDUSN || ‘.’ || XIDSLT || ‘.’ || XIDSQN) AS XID,SQL_REDO,SQL_UNDO FROM V$LOGMNR_CONTENTS;
6) And finally we stop logminer.
Thank you so much for the wonderful notes.
By the way our app has a checker table with 1 single row, which work like an SCN.
I just SELECT CHECKER_VAL FROM CHECKER_TAB; from standby db.
If the value is the same as the PRIMARY then I am assured that the apps tables are in sync.
How do I run this command at the standby or logminer?