Erstellen Sie die materialisierte Oracle-Ansicht, die alle 5 Minuten aktualisiert werden soll. Verwenden Sie das materialisierte Ansichtsprotokoll

8

Ich versuche, eine materialisierte Ansicht zu erstellen, die alle fünf Minuten automatisch aktualisiert wird. Ich muss auf der Grundlage der Mview-Protokolltabelle aktualisiert werden.

Ich habe ein materialisiertes Ansichtsprotokoll in TABLE1 TABLE1.SQL Script

erstellt %Vor%

Dann habe ich die materialisierte Ansicht erstellt

%Vor%

nach dem Ändern eines Wertes In TABLE1 wird neuer Datensatz MLOG $ _TABLE1 Protokolltabelle eingefügt

Der geänderte Wert wird jedoch nicht in der materialisierten Ansicht (JIBO_MVIEW) aktualisiert. (auch nach einem Tag :))

Als ich im Warnungsprotokoll eincheckte gibt es ein Problem mit automatisch generiertem DBMS_JOB, es schlägt bei jeder Ausführung fehl.

%Vor%

Aber wenn ich den Job manuell ausführe, funktioniert es gut. Hier ist ein Codebeispiel

%Vor%

Dann habe ich dem Benutzer neue Bewilligungen hinzugefügt

%Vor%

und jetzt bekomme ich diesen Fehler, während der Job automatisch ausgeführt wird

%Vor%

Bitte, helfen Sie mir, dieses Problem zu lösen. liegt dieses Problem an einer falsch erstellten materialisierten Ansicht oder vielleicht an einem Parameter in oracle, der aktiviert sein sollte?

    
Jibo 12.04.2017, 10:20
quelle

4 Antworten

4
___ antwort43370110 ___

Ich bin mir nicht sicher, aber das Problem könnte in der Erstellung des Aktualisierungsauftrags für MV liegen. Versuche diese Abfragen.

select * from user_jobs where what like 'dbms_refresh.refresh%'; Was ist der Wert von BROKEN Spalte?

select * from user_snapshot_refresh_times; und sieh das select * from V$PARAMETER where name = 'job_queue_processes' Parameterwert, ist es in Ordnung, nicht überschritten.

    
___ antwort43734170 ___

Hallo, hier sind einige allgemeine Hinweise, die Ihnen helfen könnten, Ihr Berechtigungsproblem zu lösen (Tabelle oder Ansicht existiert nicht).

Erteilen Sie eine beliebige Tabelle, erstellen Sie MATERIALIZED VIEW zu MV_USER MV_USER ist der EIGENTÜMER der MATERIALISIERTEN ANSICHT.

Verbinden Sie sich als MV_USER.

Machen Sie dann Ihre MATERIALISIERTE ANSICHT.

Um Ihre fehlerhaften Jobs zu reparieren, verbinden Sie sich als MV_USER (Eigentümer des MV).

Dann renne:

%Vor%     
___ qstnhdr ___ Erstellen Sie die materialisierte Oracle-Ansicht, die alle 5 Minuten aktualisiert werden soll. Verwenden Sie das materialisierte Ansichtsprotokoll ___ answer44046828 ___

Sie können Oracle den Aktualisierungsauftrag selbst verwalten lassen, indem Sie wie folgt eine Aktualisierungsgruppe erstellen:

%Vor%

Danach können Sie den Status der Aktualisierungsgruppe mit

überprüfen %Vor%     
___ tag123oracle ___ Oracle Database ist ein Datenbankmanagementsystem mit mehreren Modellen, das von Oracle Corporation erstellt wurde. Verwenden Sie dieses Tag NICHT für andere Produkte von Oracle wie Java und MySQL. ___ tag123sql ___ Structured Query Language (SQL) ist eine Sprache für die Abfrage von Datenbanken. Fragen sollten Codebeispiele, Tabellenstruktur, Beispieldaten und ein Tag für die verwendete DBMS-Implementierung (z. B. MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 usw.) enthalten. Wenn sich Ihre Frage ausschließlich auf ein bestimmtes DBMS bezieht (verwendet bestimmte Erweiterungen / Funktionen), verwenden Sie stattdessen das Tag des DBMS. Antworten auf mit SQL gekennzeichnete Fragen sollten den ISO / IEC-Standard SQL verwenden. ___ answer44152786 ___

In einem ähnlichen Setup habe ich grant execute für alle %code% -Objekte darunter. Vielleicht wird das dein Problem lösen.

%Vor%     
___ tag123view ___ Dieses Tag steht für Fragen zur Datenbankansicht oder zur UI / Architekturansicht. Siehe auch die folgenden Tags: Ansichten, SQL-Ansicht, Android-Ansicht, uiview. ___ tag123materialiert ___ hilf uns dieses Wiki zu bearbeiten ___ tag123replication ___ Die Verwendung redundanter Ressourcen zur Verbesserung der Zuverlässigkeit, Fehlertoleranz oder Leistung. ___ qstntxt ___

Ich versuche, eine materialisierte Ansicht zu erstellen, die alle fünf Minuten automatisch aktualisiert wird. Ich muss auf der Grundlage der Mview-Protokolltabelle aktualisiert werden.

Ich habe ein materialisiertes Ansichtsprotokoll in TABLE1 TABLE1.SQL Script

erstellt %Vor%

Dann habe ich die materialisierte Ansicht erstellt

%Vor%

nach dem Ändern eines Wertes In TABLE1 wird neuer Datensatz MLOG $ _TABLE1 Protokolltabelle eingefügt

Der geänderte Wert wird jedoch nicht in der materialisierten Ansicht (JIBO_MVIEW) aktualisiert. (auch nach einem Tag :))

Als ich im Warnungsprotokoll eincheckte gibt es ein Problem mit automatisch generiertem DBMS_JOB, es schlägt bei jeder Ausführung fehl.

%Vor%

Aber wenn ich den Job manuell ausführe, funktioniert es gut. Hier ist ein Codebeispiel

%Vor%

Dann habe ich dem Benutzer neue Bewilligungen hinzugefügt

%Vor%

und jetzt bekomme ich diesen Fehler, während der Job automatisch ausgeführt wird

%Vor%

Bitte, helfen Sie mir, dieses Problem zu lösen. liegt dieses Problem an einer falsch erstellten materialisierten Ansicht oder vielleicht an einem Parameter in oracle, der aktiviert sein sollte?

    
___
Seyran 12.04.2017 12:52
quelle
2

Sie können Oracle den Aktualisierungsauftrag selbst verwalten lassen, indem Sie wie folgt eine Aktualisierungsgruppe erstellen:

%Vor%

Danach können Sie den Status der Aktualisierungsgruppe mit

überprüfen %Vor%     
HAL 9000 18.05.2017 11:43
quelle
1
___ antwort43370110 ___

Ich bin mir nicht sicher, aber das Problem könnte in der Erstellung des Aktualisierungsauftrags für MV liegen. Versuche diese Abfragen.

%code% Was ist der Wert von %code% Spalte?

%code% und sieh das %code% Parameterwert, ist es in Ordnung, nicht überschritten.

    
___ antwort43734170 ___

Hallo, hier sind einige allgemeine Hinweise, die Ihnen helfen könnten, Ihr Berechtigungsproblem zu lösen (Tabelle oder Ansicht existiert nicht).

Erteilen Sie eine beliebige Tabelle, erstellen Sie MATERIALIZED VIEW zu MV_USER MV_USER ist der EIGENTÜMER der MATERIALISIERTEN ANSICHT.

Verbinden Sie sich als MV_USER.

Machen Sie dann Ihre MATERIALISIERTE ANSICHT.

Um Ihre fehlerhaften Jobs zu reparieren, verbinden Sie sich als MV_USER (Eigentümer des MV).

Dann renne:

%Vor%     
___ qstnhdr ___ Erstellen Sie die materialisierte Oracle-Ansicht, die alle 5 Minuten aktualisiert werden soll. Verwenden Sie das materialisierte Ansichtsprotokoll ___ answer44046828 ___

Sie können Oracle den Aktualisierungsauftrag selbst verwalten lassen, indem Sie wie folgt eine Aktualisierungsgruppe erstellen:

%Vor%

Danach können Sie den Status der Aktualisierungsgruppe mit

überprüfen %Vor%     
___ tag123oracle ___ Oracle Database ist ein Datenbankmanagementsystem mit mehreren Modellen, das von Oracle Corporation erstellt wurde. Verwenden Sie dieses Tag NICHT für andere Produkte von Oracle wie Java und MySQL. ___ tag123sql ___ Structured Query Language (SQL) ist eine Sprache für die Abfrage von Datenbanken. Fragen sollten Codebeispiele, Tabellenstruktur, Beispieldaten und ein Tag für die verwendete DBMS-Implementierung (z. B. MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 usw.) enthalten. Wenn sich Ihre Frage ausschließlich auf ein bestimmtes DBMS bezieht (verwendet bestimmte Erweiterungen / Funktionen), verwenden Sie stattdessen das Tag des DBMS. Antworten auf mit SQL gekennzeichnete Fragen sollten den ISO / IEC-Standard SQL verwenden. ___ answer44152786 ___

In einem ähnlichen Setup habe ich grant execute für alle %code% -Objekte darunter. Vielleicht wird das dein Problem lösen.

%Vor%     
___ tag123view ___ Dieses Tag steht für Fragen zur Datenbankansicht oder zur UI / Architekturansicht. Siehe auch die folgenden Tags: Ansichten, SQL-Ansicht, Android-Ansicht, uiview. ___ tag123materialiert ___ hilf uns dieses Wiki zu bearbeiten ___ tag123replication ___ Die Verwendung redundanter Ressourcen zur Verbesserung der Zuverlässigkeit, Fehlertoleranz oder Leistung. ___ qstntxt ___

Ich versuche, eine materialisierte Ansicht zu erstellen, die alle fünf Minuten automatisch aktualisiert wird. Ich muss auf der Grundlage der Mview-Protokolltabelle aktualisiert werden.

Ich habe ein materialisiertes Ansichtsprotokoll in TABLE1 TABLE1.SQL Script

erstellt %Vor%

Dann habe ich die materialisierte Ansicht erstellt

%Vor%

nach dem Ändern eines Wertes In TABLE1 wird neuer Datensatz MLOG $ _TABLE1 Protokolltabelle eingefügt

Der geänderte Wert wird jedoch nicht in der materialisierten Ansicht (JIBO_MVIEW) aktualisiert. (auch nach einem Tag :))

Als ich im Warnungsprotokoll eincheckte gibt es ein Problem mit automatisch generiertem DBMS_JOB, es schlägt bei jeder Ausführung fehl.

%Vor%

Aber wenn ich den Job manuell ausführe, funktioniert es gut. Hier ist ein Codebeispiel

%Vor%

Dann habe ich dem Benutzer neue Bewilligungen hinzugefügt

%Vor%

und jetzt bekomme ich diesen Fehler, während der Job automatisch ausgeführt wird

%Vor%

Bitte, helfen Sie mir, dieses Problem zu lösen. liegt dieses Problem an einer falsch erstellten materialisierten Ansicht oder vielleicht an einem Parameter in oracle, der aktiviert sein sollte?

    
___
sandman 02.05.2017 09:13
quelle
0

In einem ähnlichen Setup habe ich grant execute für alle sys -Objekte darunter. Vielleicht wird das dein Problem lösen.

%Vor%     
PanosXY 24.05.2017 08:18
quelle