Oracle 10g - Wie kann verhindert werden, dass ein Benutzer alle Ressourcen beansprucht?

7

Ich frage mich, ob es eine Möglichkeit gibt, die Ressourcen zu begrenzen, die ein Benutzer auf meinem Oracle-System beanspruchen kann. Ich möchte einige Abfragen und Systeme daran hindern, alle Systemressourcen zu belasten, wenn sie nicht optimierte Abfragen ausführen.

Chris Dale
quelle

Antworten:

3

Wenn Sie nach etwas Einfacherem als dem Ressourcenmanager suchen, versuchen Sie es mit Profiles .

Ich habe mit dem Ressourcenmanager nicht viel Erfolg gehabt. In meiner Erfahrung damit habe ich festgestellt, dass es einfacher ist, bestimmten Benutzern Vorrang vor Ressourcen einzuräumen, als Benutzer einzuschränken.

Michal Tenenberg
quelle
Sind Profile nicht nur ein Teil von Resource Manager (gemäß Ihrem Link)?
Nick Chammas
Nein. Profile sind eine wesentlich grundlegendere Methode zur Begrenzung von Ressourcen als der Ressourcenmanager. Dies könnte ein besserer Link sein.
Michal Tenenberg
Profile sind zwar einfacher, funktionieren aber ganz anders als Ressourcenmanager. Profile verwenden intrinsische Grenzwerte, ohne den Zustand der Datenbank zu kennen oder ob die Anweisung / Sitzung überhaupt einen signifikanten Einfluss auf die Leistung hat. Wenn eine Anweisung beispielsweise CPU_PER_CALL überschreitet, wird ein Fehler zurückgegeben, selbst wenn die Ausführung nur geringe Auswirkungen auf das System hätte.
Leigh Riffel
Resource Manager hingegen unternimmt nichts, wenn die Anweisung vollständig sein könnte, ohne das Gesamtsystem zu beeinträchtigen, selbst wenn dies bedeutet, dass 99,9% der CPU verwendet werden. Aus der Dokumentation: "Wenn jede Gruppe so viele CPU-Ressourcen sichern kann, wie sie benötigt, versucht der Database Resource Manager zunächst, den Systemdurchsatz zu maximieren und nicht die prozentualen Zuordnungen zu erzwingen."
Leigh Riffel
Wenn das System Prioritäten setzen muss, werden Sitzungen möglicherweise auf verschiedene Verbrauchergruppen umgeschaltet, um deren Ressourcennutzung einzuschränken. Sofern nicht anders angegeben, werden die Anweisungen keine Fehler auslösen, sondern nur langsamer ausgeführt.
Leigh Riffel