I have 2 base operational table test_table1
and test_table2
on which i have created the materialized view logs . I have created a view on top of this called test_view1
which is a join of test_table1
and test_table2
. Now, I need to create a materialized view on this view test_view1
.
I created the materialized view as REFRESH ON COMMIT
and it got created but when i run the procedure for the incremental refresh as per
execute DBMS_MVIEW.REFRESH('test_mview2', 'F', '', TRUE, FALSE, 0,0,0,FALSE, FALSE);
the materialized view is not getting updated even if any DML was applied on the base tables. But, when i run the procedure for complete refresh:
execute DBMS_MVIEW.REFRESH('test_mview2', 'C', '', TRUE, FALSE, 0,0,0,FALSE, FALSE);
it is getting updated.
How can i REFRESH ON COMMIT for this particular materialized view ?
The output of dbms_mview.explain_mview: (CApability_name --possible--msgtxt)
- REFRESH_FAST_PCT --N-- PCT is not possible on any of the detail tables in the mater
- REWRITE_FULL_TEXT_MATCH --N-- Oracle error: see RELATED_NUM and RELATED_TEXT for details
- REWRITE_FULL_TEXT_MATCH --N-- query rewrite is disabled on the materialized view
- REWRITE_PARTIAL_TEXT_MATCH --N-- materialized view cannot support any type of query rewrite
- REWRITE_PARTIAL_TEXT_MATCH --N-- query rewrite is disabled on the materialized view
- REWRITE_GENERAL --N-- materialized view cannot support any type of query rewrite
- REWRITE_GENERAL --N-- the reason why the capability is disabled has escaped analys
- REWRITE_GENERAL --N-- query rewrite is disabled on the materialized view
- REWRITE_PCT --N-- general rewrite is not possible or PCT is not possible on an
- PCT_TABLE_REWRITE --N-- Oracle error: see RELATED_NUM and RELATED_TEXT for details
- PCT_TABLE_REWRITE --N-- relation is not a partitioned table
- PCT --N--
- REFRESH_COMPLETE --Y--
- REFRESH_FAST --N--
- REWRITE --N--
- PCT_TABLE --N-- Oracle error: see RELATED_NUM and RELATED_TEXT for details
- PCT_TABLE --N-- relation is not a partitioned table
- REFRESH_FAST_AFTER_INSERT --N-- mv references PL/SQL function that maintains state
- REFRESH_FAST_AFTER_ONETAB_DML --N-- see the reason why REFRESH_FAST_AFTER_INSERT is disabled
REFRESH_FAST_AFTER_ANY_DML N see the reason why REFRESH_FAST_AFTER_ONETAB_DML is disabled