So habe ich eine materalized Ansicht bekommt (ich weiß ...):Oracle 11g Broken Materiazierte Ansicht: Stoppen Sie aktualisieren, ohne Sicht oder erfrischende Sicht zu verlieren?
CREATE MATERIALIZED VIEW vw_my_view_here
REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE + 1/24 AS
/*huge-ass select statement here*/
UNION ALL
/*huge-ass select statement here*/
UNION ALL
/*huge-ass select statement here*/
UNION ALL
/*huge-ass select statement here*/
Dies ist seit einiger Zeit in unserem System vorhanden ist, ohne Probleme zu verursachen. Eine dieser Select-Abfragen ist fehlerhaft (irgendwie - vermutlich - Schemaänderungen in den zugrunde liegenden Tabellen) und wurde 24 Stunden lang ausgeführt und verbraucht alle Ressourcen der Box. Dies ist ein Problem für die anderen Dinge auf der Box.
Ich kann die Ansicht nicht löschen oder ändern - da es völlig undokumentiert ist (ich weiß ...) und ich zuerst herausfinden muss, wer es verbraucht, wie es aufgefüllt wird usw.
Ich habe versucht, den Prozess, der die Abfrage behandelt, zu töten, aber es scheint eine andere Abfrage wird sofort danach ausgelöst.
Wie kann ich die materialisierte Ansicht stoppen, ohne 1) die Ansicht zu löschen und (2) ohne die Ansicht zu aktualisieren (weil das 24 Stunden und alle unsere Boxressourcen in Anspruch nimmt).
Ich habe versucht, läuft
alter materialized view view_name refresh on demand;
aber es scheint, nur ohne Auswirkung auf die ursprüngliche massiven Abfrage endlos zu laufen.
Irgendwelche Ideen?
Haben Sie die aktuellen Aktualisierungsprozesse (nicht sicher, dass das klingt wie eine gute Idee, aber ...) getötet, während die 'alter' läuft? Ich vermute, dass es darauf wartet, dass die aktuelle Aktualisierung beendet wird, bevor es tatsächlich die Aktualisierungszeit ändern kann, anstatt zu versuchen, sich selbst zu aktualisieren. –
Da Sie 'on commit' oder' on demand' nicht angegeben haben (und insbesondere, weil Sie '' start with'' haben), wird Ihr mview auf Wunsch bereits aktualisiert. Ist ein geplanter Job für die Aktualisierung eingerichtet? Wenn ja, versuchen Sie es zu deaktivieren. – Boneist
@AlexPoole Sie haben es in einem geschafft. Den Aktualisierungsprozess während der "Aktualisierung bei Bedarf" abbrechen; Befehl wurde ausgeführt, das Problem wurde behoben. Die Warteschlangenbildung trat nicht einmal auf, so dass das Verhalten so verwirrend schien. Danke für die Hilfe! – Paul