2016-05-23 16 views
1

Mein Freund hat eine materialisierte Ansicht erstellt, aber die Ansicht erhält keine neuen Daten von Mater Table. Die Ansicht empfängt nur Daten in der Erstellung, nachdem die Nachrichten nicht enthalten sind.Materialisierte Ansicht - Oracle/Daten werden nicht aktualisiert

Jeder kann mir helfen, dieses Problem zu lösen?

Unterhalb meiner materialisierten Ansicht fallen.

CREATE or REPLACE MATERIALIZED VIEW DATABASE.MyMatView 
    LOGGING 
    TABLESPACE SDBANCO 
    PCTFREE 10 
    INITRANS 2 
    STORAGE 
    (
     INITIAL 65536 
     NEXT 1048576 
     MINEXTENTS 1 
     MAXEXTENTS UNLIMITED 
     BUFFER_POOL DEFAULT 
    ) 
    NOCOMPRESS 
    NOCACHE 
    NOPARALLEL 
    REFRESH ON DEMAND 
    FORCE 
    DISABLE QUERY REWRITE 
AS 
    SELECT * FROM ..... 

Danke,

Matheus Lozano

Antwort

3

Wenn Sie möchten, dass die materialisierte Ansicht automatisch aktualisiert wird, sollten Sie die Aktualisierungsmethode ON COMMIT verwenden. Da Sie eine ON DEMAND Aktualisierung angegeben haben, müssen Sie die materialisierte Ansicht mit der DBMS_MVIEW.REFRESH-Methode manuell aktualisieren.

Es gibt viele Überlegungen zum Aktualisieren einer materialisierten Ansicht. Ich würde empfehlen, dass Sie die folgende Oracle-Dokumentation lesen.

https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG8360

+0

Kann ich mit ON COMMIT View in das MView verwenden? –

+0

Ich glaube nicht. Da ON COMMIT eine MV-Anmeldung für die zugrunde liegenden Tabellen erfordert. Können Sie die Abfrage der Ansicht selbst als Quelle für das mview verwenden? Sie können auch die EXPLAIN-MVIEW-Prozedur nutzen, um die Fähigkeiten von mview zu überprüfen. Bitte lesen Sie diese https://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_mview.htm#CEGGEHHC –

4

Unter der Annahme, hast du das aber ... nur um sicher zu sein ... Sie den Befehl haben geben Sie den mview zu aktualisieren, nicht wahr? Sie erwarten nicht, dass es sich von selbst aktualisiert, wenn Sie die Option REFRESH ON DEMAND genau dort in der Ansichtsdefinition haben, richtig?

+0

Kann ich mit ON COMMIT die Ansicht in das MView verwenden? –