Oracle 10G - Broken Views and Refresh
От: DmitryMS  
Дата: 22.07.13 12:18
Оценка:
Oracle 10G

Есть несколько materialized views, которые строятся на основе данных из внешнех базы данных получемых через dblink. Представления рефрешаться каждое утро, в какой то день внешняя база данных была недоступна, все представления с того дня отображаются с карасным кружком (используем Sql Developer). Oбновление для этих представлений не работало до тех пор, пока они не были пересозданы (drop materialized view/ create materialized view). Рефреш заработал но странно, конструкция, которaя раньше работала —

DBMS_SNAPSHOT.REFRESH(
LIST => 'OWNER.MV_NAME'
,PUSH_DEFERRED_RPC => TRUE
,REFRESH_AFTER_ERRORS => FALSE
,PURGE_OPTION => 1
,PARALLELISM => 0
,ATOMIC_REFRESH => TRUE
,NESTED => FALSE);

отваливаетвается с ошибкой:

*
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. Является ли разовая перестройка представлений надежным фиксом или рефреш начал работать по независомой от этого причины?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.