2013-03-13 13 views
5

Mam zmaterializowany widok, który chciałbym zmienić przy zatwierdzaniu (z żądania) przy użyciu szybkiego odświeżania.Zmiana zmaterializowanego widoku na zatwierdzenie

Jednak ja ciągle się

ora-32337 cannot alter materialized view with pending changes refresh on commit 

nawet bezpośrednio po odświeżeniu (i wiedząc, że żadna zmiana została wykonana).

Co może być tego przyczyną? MV używa zewnętrznych połączeń, czy to może być problem? (Dziennik MV jest dostępny dla wszystkich tabel)

+3

Czy możesz po prostu upuścić zmaterializowany widok i odtworzyć go jako odświeżenie przy zatwierdzaniu? – eaolson

Odpowiedz

1

Jak powiedział @eaolson, po prostu upuść zmaterializowany widok i odtwórz go jako odświeżenie przy zatwierdzaniu. To jedyny sposób ..

+0

Uważaj, aby upuścić widok zmaterializowany. Pamiętaj, aby sprawdzić ograniczenia na zmaterializowanym widoku/tabeli, w przeciwnym razie możesz złamać rzeczy bez wiedzy. Bezpieczniejszym wyborem jest ręczne odświeżenie, a następnie zmiana na odświeżenie przy zatwierdzaniu. 'DBMS_MVIEW.REFRESH (" Owner.MViewName "," C "); ZMIANA WIDOKU MATERIAŁOWEGO Owner.MViewName REFRESH ON COMMIT; ' – bdeem

Powiązane problemy