I have an application which is getting data from Oracle(22.214.171.124) Materialized view, there is expected behaviour about materialized view will go INVALID when any DML action happens on the associated tables or assocaited objects are invalid.
My materialized view opotions are as listed below and confirming that associated objects are valid all the time.
CREATE materialized VIEW mv_emp_test1 NOLOGGING COMPRESS build IMMEDIATE REFRESH FORCE START WITH (SYSDATE) NEXT (SYSDATE+5/1024) as ......
Materialized view go into INVALID state when it freshes after every 5 minutes and become valid if any of the following method applied:
alter materialized view mv_emp_test1 recompile; or exec dbms_mview.refresh('mv_emp_test1');
Also, checked related documents and bugs, Doc ID 264036.1 in metalink has included the exact scenario but didn't find proper workaround so that auto refresh in every 5 minutes.