Есть несколько materialized views, которые строятся на основе данных из внешнех базы данных получемых через dblink. Представления рефрешаться каждое утро, в какой то день внешняя база данных была недоступна, все представления с того дня отображаются с карасным кружком (используем Sql Developer). Oбновление для этих представлений не работало до тех пор, пока они не были пересозданы (drop materialized view/ create materialized view). Рефреш заработал но странно, конструкция, которaя раньше работала —
*
ERROR at line 1:
ORA-00942: table or view does not exist
ORA-06512: at "SYS.DBMS_SNAPSHOT_UTL", line 350
ORA-06512: at "SYS.DBMS_SNAPSHOT_UTL", line 432
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2255
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2461
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2430
ORA-06512: at line 1
хотя вариант без именованый парамтеров
DBMS_SNAPSHOT.REFRESH('OWNER.MV_NAME');
работает.
Кто может объяснить произошедшее? Интересует:
1. На основе чего materialized view выставляется красный кружок несмотря на возможность выборки данных из view?
2. Связан ли красный кружок с DBMS_SNAPSHOT.REFRESH failure?
3. Является ли разовая перестройка представлений надежным фиксом или рефреш начал работать по независомой от этого причины?
refresh_after_errors
If this parameter is true, an updatable materialized view continues to refresh even if there are outstanding conflicts logged in the DEFERROR view for the materialized view's master table or master materialized view. If this parameter is true and atomic_refresh is false, this procedure continues to refresh other materialized views if it fails while refreshing a materialized view.
Здравствуйте, avpavlov, Вы писали:
A>Почему работает рефреш без параметров — не понятно, по идее у него refresh_after_errors д.б. false, а он работает, как будто true