2013-03-13 19 views
5

Ho una vista materializzata che vorrei modificare in commit (da su richiesta) usando l'aggiornamento veloce.Cambia visualizzazione materializzata su commit

Tuttavia ho sempre ottenere

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

anche subito dopo un aggiornamento (e sapendo che nessun cambiamento è stato fatto).

Quale potrebbe essere la causa di questo? La MV utilizza join esterni, potrebbe essere un problema? (Il registro MV è disponibile per tutte le tabelle)

+3

Puoi semplicemente rilasciare la vista materializzata e ricrearla come aggiornamento su commit? – eaolson

risposta

1

Come @eaolson ha detto che dovresti rilasciare la vista materializzata e ricrearla come aggiornamento su commit. Questo è l'unico modo ..

+0

Fai attenzione quando lasci cadere la vista materializzata. Ricorda di controllare i vincoli sulla vista/tabella materializzata altrimenti potresti rompere le cose senza saperlo. La scelta più sicura è eseguire un aggiornamento manuale e quindi modificare l'aggiornamento su commit. 'DBMS_MVIEW.REFRESH ('Owner.MViewName', 'C'); ALTER VISTA MATERIALIZZATA Owner.MViewName REFRESH ON COMMIT; ' – bdeem

Problemi correlati