Statistiken für den kostenbasierten Optimierer automatisch aktualisieren 

Die Aktualisierung der CBO-Statistiken wird vom DBA-Einplanungskalender vollständig unterstützt. Sowohl die Prüfung auf veraltete bzw. fehlende Statistiken (Phase 1) als auch die Erstellung der Statistiken (Phase 2) können Sie mit dem DBA-Einplanungskalender automatisch durchführen.

Vorgehensweise

  1. Fügen Sie die Aktion Check optimizer statistics mit der Option PSAP%: All SAP tablespaces und der Methode E in den DBA-Einplanungskalender ( DB13) ein.
  2. Diese Aktion gehört nicht zu den vordefinierten Aktionsmustern und muß dem Einplanungskalender extra hinzufügt werden. Weitere Informationen finden Sie unter Aktionen zum DBA-Einplanungskalender hinzufügen.

    Häufigkeit der Einplanung:

    SAP empfiehlt folgende Einplanungsstrategie für die Ausführung der Phasen 1 und 2: Planen Sie die Prüfung auf veraltete bzw. fehlende Statistiken (Schritt 1) einmal pro Woche (z.B. samstags) ein. Planen Sie die Aktualisierung der Statistiken (Phase 2) im Anschluß an Phase 1 (z.B. sonntags) ein. Bei dieser Lösung werden die CBO-Statistiken einmal pro Woche vollständig geprüft und aktualisiert. Eine Aktualisierung der CBO-Statistiken (auch für einzelne Tabellen) ist auch nach dem Import größerer Datenmengen (z.B. Batch-Input) erforderlich.

    Laufzeit:

    Die Prüfung der Statistiken kann abhängig von der Anzahl und Größe der Tabellen der Datenbank mehrere Stunden dauern. SAPDBA -CHECKOPT belastet das Datenbanksystem und sollte im Regelfall in lastarmen Zeiten ausgeführt werden.

    Hintergrund:

    Die Aktion führt die Funktion SAPDBA -CHECKOPT mit der Option PSAP% und der Methode E aus und prüft die Gültigkeit der CBO-Statistiken aller Tabellen der Datenbank. Tabellen, die neue Statistiken erfordern, werden in die Steuertabelle DBSTATC eingetragen (falls noch nicht vorhanden) bzw. mit einer Bedarfsflagge gekennzeichnet. In Phase 2 ( SAPDBA -ANALYZE DBSTATCO ) werden diese Statistiken aktualisiert.

  3. Fügen Sie die Aktion Update optimizer statistics mit der Option DBSTATCO: All tables marked in DBSTATC in den DBA-Einplanungskalender ( DB13) ein.
  4. Diese Aktion gehört nicht zu den vordefinierten Aktionsmustern und muß dem Einplanungskalender extra hinzufügt werden. Weitere Informationen finden Sie unter Aktionen zum DBA-Einplanungskalender hinzufügen.

    Verwenden Sie nicht die anderen Optionen dieser Aktion.

    Häufigkeit der Einplanung:

    Diese Aktion sollte einmal wöchentlich nach SAPDBA -CHECKOPT PSAP% -METHOD E (Phase 1) ausgeführt werden (siehe oben).

    Laufzeit:

    Die Aktualisierung der Statistiken kann abhängig von der Anzahl und Größe der Tabellen der Datenbank mehrere Stunden dauern. SAPDBA -ANALYZE belastet das Datenbanksystem und sollte im Regelfall in lastarmen Zeiten ausgeführt werden.

    Sie können die Statistiken kritischer Tabellen vorrangig behandeln, indem Sie die Priorität in der Steuertabelle DBSTATC ändern. Weitere Informationen finden Sie unter DBSTATC-Steuertabelle pflegen.

  5. Prüfen Sie die Ergebnisse der Aktionen des DBA-Einplanungskalender im DB-Operationsmonitor.

Weitere Informationen finden Sie unter DB-Operationsmonitor verwenden.

Ergebnis

Die CBO-Statistiken für Tabellen, die in der Steuertabelle DBSTATC eingetragen sind, werden regelmäßig geprüft und aktualisiert.

Bei der Auslieferung enthält die Steuertabelle mehr als 400 kritische R/3-Tabelleneinträge, d.h. Tabellen, die schnell wachsen und regelmäßige Aktualisierungen der CBO-Statistiken benötigen.

SAPDBA -CHECKOPT hält die Einträge in der Steuertablle DBSTATC automatisch auf dem neuesten Stand und ändert die Methode zur Erstellung der Statistiken, wenn eine Tabelle eine bestimmte Größe überschreitet. Zudem fügt SAPDBA -CHECKOPT nach Bedarf neue Einträge hinzu, wenn noch nicht eingetragene Tabellen wachsen oder kleiner werden und daher neue CBO-Statistiken benötigen. SAPDBA verwaltet die Steuertabelle und löscht automatisch Tabelleneinträge, wenn die Größe einer Tabelle sich stabilisiert hat. Durch die automatische Verwaltung bleibt die Steuertabelle besser überschaubar.

In Ausnahmefällen können Sie eine Tabelle auch von Hand in die Steuertabelle DBSTATC eintragen. Weitere Informationen finden Sie unter Optimizerstatistiken für eine einzelne Tabelle prüfen und aktualisieren und Steuertabelle DBSTATC pflegen.

Weitere Informationen zu den SAPDBA-Kommandos -CHECKOPT und –ANALYZE finden Sie unter SAPDBA-Kommandomodus.