Show TOC

Dokumentation zur VorgehensweiseKommandomonitor Dieses Dokument in der Navigationsstruktur finden

 

Im Benutzermenü SQL-Performance finden Sie unter anderem den SQL-Kommandomonitor. Setzen Sie dieses Werkzeug ein, wenn in der Analyse der Datenbankengpässe (Engpässe) ineffiziente Datenbankzugriffe erkannt werden. Somit lassen sich gezielt langlaufende SQL-Anweisungen identifizieren.

Das Werkzeug ist für eine Kurzzeitanalyse gedacht, da die Anzahl der aufgezeichneten SQL-Anweisungen begrenzt ist. Durch Angabe von Aufzeichnungskriterien schränken Sie die Menge und Art der aufgezeichneten SQL-Anweisungen ein.

Voraussetzungen

OLTP: Voraussetzungen

Nur für OLTP-Datenbankinstanz, die Basis zum aktuellen WebAS-System ist: Damit der Name des ABAP-Programms und weitere Informationen an die Datenbankinstanz übermittelt werden können, muss der Instanzprofilparameter dbs/ada/register_appl_info=1 gesetzt sein.

liveCache: Dem Benutzer wurde gemäß dem Berechtigungskonzept eine Rolle zugewiesen. Sie gelangen in das Benutzermenü des Benutzers mit den Berechtigungen, die seiner Rolle entsprechen.

Vorgehensweise

Öffnen Sie den Datenbankassistenten (Transaktion DB50) bzw. den liveCache-Assistenten (Transaktion LC10). Wählen Sie   Problemanalyse   SQL-Performance   Kommandomonitor  .

oder

Öffnen Sie das DBA Cockpit (Transaktion DBACOCKPIT) und wählen Sie   Performance   SQL-Performance   Kommandomonitor  .

Ergebnis

SQL-Kommandomonitor aktivieren/deaktivieren

Um den SQL-Kommandomonitor kurz bevor eine zu analysierende Transaktion gestartet wird zu aktivieren bzw. deaktivieren, verfahren Sie wie folgt:

  1. Wählen Sie   Kommandomonitor   Monitoreinstellungen ändern  .

  2. Geben Sie in der Anzeige Ändern der Monitoreinstellung die gewünschten Aufzeichnungskriterien ein. Die Aufzeichnungskriterien bestimmen, wie SQL-Anweisungen in den Kommandomonitor-Tabellen protokolliert werden sollen.

    Aufzeichungskriterien

    Anzahl der Seitenzugriffe

    Eine SQL-Anweisung wird protokolliert, wenn die Anzahl der angegebenen Seitenzugriffe überschritten wird.

    Laufzeit der SQL-Anweisung

    Eine SQL-Anweisung wird protokolliert, wenn die angegebene Laufzeit überschritten wird.

    Selektivität

    Eine SQL-Anweisung wird dann in den Kommandomonitor-Tabellen protokolliert, wenn das Verhältnis zwischen qualifizierten Sätzen und gelesenen Sätzen den angegebenen Prozentwert unterschreitet.

    Weitere Einstellung

    Maximale Anzahl der Monitoreinträge

    Dieser Wert bestimmt die maximale Anzahl Einträge, die in der Tabelle SYSMONITOR gehalten werden, bevor die Tabelle zyklisch überschrieben wird.

    Von SAP werden Voreinstellungen ausgeliefert, die bei Bedarf übernommen und geändert werden können. Wenn Sie die Voreinstellungen des SAP-Systems übernehmen wollen, wählen Sie in der Anzeige Ändern der Monitoreinstellung die Möglichkeit SAP-Default-Einstellung übernehmen.

  3. Wenn Sie den SQL-Kommandomonitor mit den von Ihnen festgelegten Aufzeichnungskriterien aktivieren wollen, wählen Sie Monitoreinstellungen aktivieren.

Im Normalbetrieb des Datenbanksystems ist der SQL-Kommandomonitor deaktiviert. Der Status des SQL-Kommandomonitors wird im Bereich Aktuelle Monitoreinstellungen angezeigt und kann mittels   Kommandomonitor   Monitoreinstellungen aktualisieren   aktualisiert werden.

Deaktivieren Sie den SQL-Kommandomonitor nach Beendigung der zu analysierenden Transaktion sofort wieder.

Wählen Sie dazu   Kommandomonitor   Monitoreinstellungen ändern   und weiter SQL-Monitoring beenden.

Ausgabe der Ergebnisse

Um die gemäß den gewählten Aufzeichnungskriterien protokollierten SQL-Anweisungen anzuzeigen, wählen Sie im SQL-Kommandomonitor   Kommandomonitor   Monitorausgabe auffrischen  .

SQL-Anweisungen anzeigen

Wenn eine protokollierte SQL-Anweisung aus einem ABAP-Programm heraus aufgerufen wurde, kann die Anweisung bis in dieses Programm zurückverfolgt werden. Markieren Sie hierzu die SQL-Anweisung und wählen Sie Aufruf im ABAP-Prog. anzeigen (nur für OLTP-Datenbankinstanz, die Basis zum aktuellen WebAS-System ist).

Um weitere Informationen zu einer SQL-Anweisung zu erhalten, wählen Sie diese SQL-Anweisung mittels Doppelklick oder SQL-Anweisung anzeigen aus. In der folgenden Ansicht können Sie die vollständige SQL-Anweisung sehen. Weitere Analysen für die SQL-Anweisung sind möglich:

  • Ausführungsplan für SQL-Anweisung anzeigen/tracen:

    Unter anderem wird hier die Suchstrategie angezeigt, die der SQL-Optimierer zur Abarbeitung dieser SQL-Anweisung wählen würde (siehe auch Konzepte des Datenbanksystems, Liste aller Suchstrategien).

    Auf Anforderung des Supports kann es erforderlich sein, einen Optimierer-Trace zu erstellen.

    Wählen Sie Explain with Hint, wenn Sie die Wirkung verschiedener Indizes auf den Ausführungsplan einer SQL-Anweisung testen wollen.

  • Platzhalter in der SQL-Anweisung ersetzen: Sie können Platzhalter in einer SQL-Anweisung ersetzen.

  • Druckversion: Sie können die Ausgabe in eine Zwischenablage kopieren oder direkt drucken.

  • Tabellen/View-Information: Es wird in die Anzeige Tabellen/Views/Synonyme verzweigt.

  • Aufrufstelle im ABAP-Programm anzeigen: (nur für OLTP-Datenbankinstanz, die Basis zum aktuellen WebAS-System ist)

  • Information zur ABAP-Aufrufstelle: (nur für OLTP-Datenbankinstanz, die Basis zum aktuellen WebAS-System ist)

Initialisieren der Kommandomonitor-Tabellen

In den Tabelle SYSMONITOR und SYSMONDATA werden die SQL-Anweisungen und die in der WHERE-Klausel der SQL-Anweisung übergebenen Werte zu der entsprechenden Anweisung eingetragen, die die Aufzeichnungskriterien erfüllen und nach Aktivieren des SQL-Kommandomonitors an das Datenbanksystem abgesetzt werden. Diese Tabellen werden zyklisch überschrieben. Durch das Deaktivieren des SQL-Kommandomonitors werden die Tabellen SYSMONITOR und SYSMONDATA nicht initialisiert.

Wählen Sie für das Initialisieren der Kommandomonitor-Tabellen im SQL-Kommandomonitor   Kommandomonitor   Monitortabellen initialisieren  .

Weitere Informationen

Ressourcenmonitor

Konzepte des Datenbanksystems, EXPLAIN-Anweisung