2010-11-30 10 views
0

Ich möchte eine Abfrage ausführen, die viel Speicherplatz benötigt. Ich möchte jedoch nicht, dass die Abfrage den gesamten verfügbaren temporären Speicherplatz ausschöpft. Wie kann dies erreicht werden?Abfrage Temp Speicherplatzlimit in Oracle

+0

Frage hinzufügen, es hilft viel. –

+0

Es ist ein normales Problem und es ist mit einem temporären Speicherplatzproblem in einem Hash-Join fehlgeschlagen. Wir können jedoch nicht zulassen, dass die Abfrage den vollständigen temporären Speicherbereich verwendet. Es wirft diesmal ORA-12805. Die Abfrage war seit Monaten in Ordnung. – Arc

+2

Ich habe oft festgestellt, dass jede Abfrage, die dazu führt, dass die Datenbank keinen temporären Speicherplatz mehr hat, entweder eine ungültige Abfrage ist (zB fehlende Join-Bedingung) oder das Ergebnis einer fehlerhaften Ausführung, die durch veraltete Statistiken verursacht wurde, besonders wenn sie funktionierte fein. Obwohl dies auch daran liegen könnte, dass die DB, an der ich arbeite, über eine Menge temporären Speicherplatz verfügt. Explain Plan kann Ihnen sagen, wie viel temporärer Speicherplatz voraussichtlich von Abfrage verwendet wird. –

Antwort

1

Sie können einen Ressourcenplan hinzufügen, der ihn begrenzt.

+0

Gibt es Hinweise darauf, wie ein Ressourcenplan eingerichtet wird? – Arc

+0

http://www.databasejournal.com/features/oracle/article.php/3296961/Oracle-Database-Resource-Manager-Part-1Overview.htm – erbsock

1

Sie können auch einen anderen temporären Tablespace mit einer festen Größe erstellen und den Benutzer, der die Abfrage ausführt, diesem zuweisen.