Hej,
mam problem z utworzeniem widoku zmaterializowanego, który będzie miał opcje odświeżania Fast Refresh. Logika wymaga abym miał count() użyty, aby obliczyć pewne wartości. Jak wyczytałem, widok zmaterializowany nie puszcza tego, ale można to obejść tworząc widok, który będzie używał owej funkcji. Niestety, po połączeniu widoku zmaterializowanego z widokiem, dostaje error:
An error was encountered performing the requested operation:
ORA-12004: REFRESH FAST nie może być użyte dla zmaterializowanej perspektywy
ORA-06512: przy "SYS.DBMS_SNAPSHOT", linia 2821
ORA-06512: przy "SYS.DBMS_SNAPSHOT", linia 3058
ORA-06512: przy "SYS.DBMS_SNAPSHOT", linia 3017
ORA-06512: przy linia 1
12004. 00000 - "REFRESH FAST cannot be used for materialized view \"%s\".\"%s\""
*Cause: The materialized view log does not exist or cannot be used. PCT
refresh is also not enabled on the materialized view
*Action: Use just REFRESH, which will reinstantiate the entire table.
If a materialized view log exists and the form of the materialized
view allows the use of a materialized view log or PCT refresh is
possible after a given set of changes, REFRESH FAST will
be available starting the next time the materialized view is
refreshed.
Vendor code 12004
Materialized View logs istnieją dla wszystkich tabel, ale nie wiem jak utworzyć je dla widoku. Tak samo nie mogę utworzyć columny ROWID dla widoku. Jak mogę naprawić owy błąd? Ewentualnie, jeśli używanie funkcji agregacyjnych jest niedozwolone dla fast refresh, jakieś ciekawe obejście ktoś może podsunąć?