Problém 41:
Po přesunu tabulek, mě najednou přestal fungovat fas refresh. Prý mu chybí index, ael ten v databázi je. Je dokonce valit, přeto nefunguje. SQL> begindbms_mview.refresh(‘”TOM”.”MOJEVIEW”‘);end;/ 2 3 4begin*ERROR at line 1:ORA-12008: error in materialized view refresh pathORA-08102: index key not found, obj# 181542, file 5, block 1115263 (2)ORA-06512: at “SYS.DBMS_SNAPSHOT”, line 2254ORA-06512: at “SYS.DBMS_SNAPSHOT”, line 2460ORA-06512: at “SYS.DBMS_SNAPSHOT”, line 2429ORA-06512: at line 2
SQL> select OWNER, OBJECT_NAME, OBJECT_TYPE, STATUS from dba_objects where OBJECT_ID=181542;OWNER——————————OBJECT_NAME——————————————————————————–OBJECT_TYPE STATUS——————- ——-TOMP1_MOJEVIEWINDEX VALID
Řešení:
Řešení je jednoduché, stačí index rebuildovat a poté již refresh proběhl bez potíží.SQL> ALTER INDEX TOM.P1_MOJEVIEW rebuild online;Index altered.SQL> begindbms_mview.refresh(‘”TOM”.”MOJEVIEW”‘);end;/ 2 3 4PL/SQL procedure successfully completed.Elapsed: 00:40:43.53