У меня есть две базовые рабочие таблицы test_table1
и test_table2
, на которых я создал материализованные журналы просмотра. Я создал представление поверх этого под названием test_view1
, которое является объединением test_table1
и test_table2
. Теперь мне нужно создать материализованное представление для этого представления test_view1
.
Я создал материализованное представление как REFRESH ON COMMIT
, и оно было создано, но когда я запустил процедуру инкрементного обновления как за
execute DBMS_MVIEW.REFRESH('test_mview2', 'F', '', TRUE, FALSE, 0,0,0,FALSE, FALSE);
материализованное представление не обновляется, даже если к базовым таблицам был применен какой-либо DML. Но когда я запускаю процедуру полного обновления:
execute DBMS_MVIEW.REFRESH('test_mview2', 'C', '', TRUE, FALSE, 0,0,0,FALSE, FALSE);
он обновляется.
Как я могу REFRESH ON COMMIT для этого конкретного материализованного представления?
Вывод dbms_mview.explain_mview: (CApability_name --possible - msgtxt)
- REFRESH_FAST_PCT --N-- PCT невозможно ни в одной из подробных таблиц в матере
- REWRITE_FULL_TEXT_MATCH --N-- Ошибка Oracle: подробности см. В RELATED_NUM и RELATED_TEXT.
- REWRITE_FULL_TEXT_MATCH --N - перезапись запроса отключена для материализованного представления
- REWRITE_PARTIAL_TEXT_MATCH --N - материализованное представление не может поддерживать любой тип перезаписи запроса
- REWRITE_PARTIAL_TEXT_MATCH --N - перезапись запроса отключена для материализованного представления
- REWRITE_GENERAL --N - материализованное представление не может поддерживать любой тип перезаписи запроса
- REWRITE_GENERAL --N - причина, по которой возможность отключена, ускользнула от анализа
- REWRITE_GENERAL --N - перезапись запроса отключена для материализованного представления
- REWRITE_PCT --N - общая перезапись невозможна или PCT невозможен на
- PCT_TABLE_REWRITE --N-- Ошибка Oracle: подробности см. В RELATED_NUM и RELATED_TEXT.
- PCT_TABLE_REWRITE --N-- отношение не является секционированной таблицей
- PCT --N--
- REFRESH_COMPLETE --Y--
- REFRESH_FAST --N--
- ПЕРЕПИСАТЬ --N--
- PCT_TABLE --N-- Ошибка Oracle: подробности см. В RELATED_NUM и RELATED_TEXT.
- PCT_TABLE --N-- отношение не является секционированной таблицей
- REFRESH_FAST_AFTER_INSERT --N-- mv ссылается на функцию PL / SQL, которая поддерживает состояние
- REFRESH_FAST_AFTER_ONETAB_DML --N - увидеть причину, по которой REFRESH_FAST_AFTER_INSERT отключен
REFRESH_FAST_AFTER_ANY_DML N узнать причину, по которой REFRESH_FAST_AFTER_ONETAB_DML отключен