SQL Plan Management ist die lange gewünschte Antwort auf ungewollt wechselnde Ausführungspläne und garantiert, das Änderungen von Ausführungsplänen immer zu einer besseren Performance führt.
Die Performance jeder Datenbank hängt stark von den genutzten Ausführungspänen statt. In der Vergangenheit stellten sich ändernde Ausführungspläne eine tägliche Herausforderung für den Betrieb der DB dar. In einigen Fällen wurden die Ausführungspläne über Stored Outlines festgeschrieben oder Statistiken wurden eingefrohren und nicht neu erstellt. SQL Plan Management erlaubt jetzt erstmals eine konsistente Administration von Ausführungsplänen. Somit wird sichergestellt, das sich Execution-Pläne nur zum besseren ändern können. Mit SPM managed der Optimizer existiernde Ausführungspläne und nutzt nur solche, die als bekanntermaßen gut oder als von der DB verifiziert gelten. Neu genutzte Pläne haben also immer eine vergleichbare oder bessere Performance, nie aber eine schlechtere SPM besteht aus 3 Komponenten:
Für die Befüllung der SQL Management Base können unterschiedliche Methoden genutzt werden, die einfachste ist das Aufzeichen der aktuell genutzten Pläne
alter system set optimizer_capture_sql_plan_baselines=true scope=both; .
Hinweis: Bei Datenbanken mit einer Vielzahl von unterschiedlichen SQL Statemens oder wenn keine Bind-Variablen genutzt werden kann die SQL Management Base sehr schnell sehr groß werden. Dies führte in Tests zu massiven Problemen.
Um SPM nutzen zu können muss es aktiviert werden, die Nutzung ist dabei unabhängig von der oben genannten Aufzeichnungsoption
alter system set optimizer_use_sql_plan_baselines= TRUE; .