Materialized view missing old records doing fast refresh
I have oracle 12.1.0.2 Standard edition
I have 2 materialized view over db link against same table.
CREATE MATERIALIZED VIEW tab1 REFRESH FORCE ON DEMAND WITH PRIMARY KEY AS SELECT * FROM tab@db_link;
CREATE MATERIALIZED VIEW tab2 REFRESH FORCE ON DEMAND WITH PRIMARY KEY AS SELECT * FROM tab@db_link;
The source table as materialized view log
CREATE MATERIALIZED VIEW LOG ON tab WITH PRIMARY KEY INCLUDING NEW VALUES;
We have a job that runs daily and refreshes one of the mviews alternately.
DBMS_MVIEW.REFRESH (list => tab1, method => '?', atomic_refresh => FALSE);
One of the mivews (tab1) is missing some old data but it does fast refresh so it never gets the old data. If I do complete refresh this issue is resolved.