Entwicklung > Tools > Prüfungen > Statistiken > Oracle-Statistiken 

Mit dieser Funktion können bei Oracle™-Datenbanken die wichtigsten generierten Statistiken angezeigt werden.

Darüber hinaus können Statistiken generiert oder gelöscht werden.

Wichtiger Hinweis:

Achtung, mit diesem Funktionstypwird über eine zum Softwarepaket homogene Benutzerschnittstelle der Aufruf von Betriebssystemprozeduren erleichtert, die Datenbank-Admins vorbehalten sein sollten. Die Funktion sollte daher nur von Administratoren aufgerufen werden (in der Regel als DBAbezeichnet).

Um die Funktion sinnvoll verwenden zu können, muss der Benutzer über Vorkenntnisse über Datenbanken und deren Optimierung verfügen.

Ist dies nicht der Fall, kann die unsachgemäße Funktionsverwendung ernsthafte Performanceprobleme nach sich ziehen und die Sicherheit der Softwareverwendung beeinträchtigen.

Maskenverwaltung

Mit dieser Funktion können Datenbankstatistiken generiert und gelöscht werden.
Die Anzeige erfolgt in drei Registern: dem ersten ist die Liste der Tabellen mit ihrem jeweiligen Statistikstatus zu entnehmen, dem zweiten die Liste der Indizes mit ihrem jeweiligen Statistikstatus, dem dritten die Liste der mit dem Optimizer und der Statistikverwendung verbundenen Datenbankparameter.

Kopfzeile

Übersicht

Eigenschaften der verwendeten Datenbank.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

  • Datenbank (Feld BDDNAM)

Datenbankname

  • Version (Feld VER)

Versionsnummer der Datenbank

  • Feld VERDES

Beschreibung der Datenbankversion

Schließen

 

Register Struktur

Übersicht

In diesem Register wird die Liste der Tabellen mit ihrem jeweiligen Statistikstatus angezeigt.

Die Statistiken können generiert und gelöscht werden:

    • per Rechtsklick für eine Tabelle
    • per Auswahl der gewünschten Zeilen und Klick auf die Buttons im unteren Maskenbereich für alle oder einen Teil der Tabellen

Dabei werden jeweils sämtliche zu einer Tabelle generierten Statistiken mit ihren Indizes gelöscht.

Bei Generierung einer Statistik zu einer Tabelle werden keine Indexstatistiken mitgeneriert.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Tabelle

  • Zu bearbeiten (Feld PROFLG)

Ermöglicht die Definition, ob die Zeile beim Erzeugen oder Löschen der Statistiken über die entsprechenden Buttons am Maskenende verarbeitet werden muss.

  • Tabelle (Feld TAB)

Name der Tabelle in der Datenbank

  • Statistiken (Feld STTFLG)

Gibt an, ob die gültigen Statistiken in der Datenbank erzeugt werden.

  • Letzte Auswertung am (Feld STTDAT)

Datum der letzten Statistikanalyse.

  • Feld STTHOU

Uhrzeit der letzten Statistikanalyse.

Schließen

 

Symbol Aktionen

Alle anderen: ja

In Erfassungstabellen mit einer Auswahlmöglichkeit Ja / Nein pro Position können mit der Antwort Alle anderen: ja alle Positionen ab der aktuellen Position auf Ja gesetzt werden.

Alle anderen: nein

In Erfassungstabellen mit einer Auswahlmöglichkeit Ja / Nein pro Position können mit der Antwort Alle anderen: nein alle Positionen ab der aktuellen Position auf Nein gesetzt werden.

Aktualisierung der Zeile

Aktualisierung der Anzeige der aktuellen Tabellenzeile

Generierung für die Zeile

Statistikgenerierung für die aktuelle Tabellenzeile

Löschen der Zeile

Löschen der Statistiken über die aktuelle Tabellenzeile

 

Schließen

 

Register Tabellen

Übersicht

In diesem Register wird die Liste der Indizes mit ihrem jeweiligen Statistikstatus angezeigt.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Tabelle

  • Zu bearbeiten (Feld PROFLG)

Ermöglicht die Definition, ob die Zeile beim Erzeugen oder Löschen der Statistiken über die entsprechenden Buttons am Maskenende verarbeitet werden muss.

  • Tabelle (Feld TAB)

Name der Tabelle in der Datenbank

  • Index (Feld INDEX)

Indexname in der Datenbank

  • Statistiken (Feld STTFLG)

Gibt an, ob die gültigen Statistiken in der Datenbank erzeugt werden.

  • Letzte Auswertung am (Feld STTDAT)

Datum der letzten Statistikanalyse.

  • Feld STTHOU

Uhrzeit der letzten Statistikanalyse.

Schließen

 

Die Statistiken können generiert und gelöscht werden:

    • per Rechtsklick für einen Index
    • per Auswahl der gewünschten Zeilen und Klick auf die Buttons im unteren Maskenbereich für alle oder einen Teil der Indizes

Symbol Aktionen

Alle anderen: ja

In Erfassungstabellen mit einer Auswahlmöglichkeit Ja / Nein pro Position können mit der Antwort Alle anderen: ja alle Positionen ab der aktuellen Position auf Ja gesetzt werden.

Alle anderen: nein

In Erfassungstabellen mit einer Auswahlmöglichkeit Ja / Nein pro Position können mit der Antwort Alle anderen: nein alle Positionen ab der aktuellen Position auf Nein gesetzt werden.

Aktualisierung der Zeile

Aktualisierung der Anzeige der aktuellen Tabellenzeile

Generierung für die Zeile

Statistikgenerierung für die aktuelle Tabellenzeile

Löschen der Zeile

Löschen der Statistiken über die aktuelle Tabellenzeile

 

Schließen

 

Register Index

Übersicht

Dieses Register umfasst die Liste der mit dem Optimizer und der Statistikverwendung verbundenen Datenbankparameter

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Tabelle Optimizer-Parameter

  • Instanz (Feld INSTID)

 

  • Parameter (Feld PAR)

Zeigt die Parameter an, die mit dem Optimizer und der Statistikverwendung verknüpft sind.

Die dargestellten Parameter sind abhängig von der Oracle-Version. Diese Parameter können nicht über diese Funktion geändert werden.

  • Wert (Feld PARVAL)

 

  • Standardwert (Feld DEFVAL)

 

  • Bezeichnung (Feld DES)

 

Schließen

 

Diese Werte können nicht geändert werden.

Symbol Aktionen

Aktualisierung der Zeile
Generierung für die Zeile
Löschen der Zeile

 

Schließen

 

Register Datenbank

Felder

In diesem Register befinden sich die folgenden Felder :

Tabelle Optimizer-Parameter

  • Instanz (Feld INSTID)

 

  • Parameter (Feld PAR)

Zeigt die Parameter an, die mit dem Optimizer und der Statistikverwendung verknüpft sind.

Die dargestellten Parameter sind abhängig von der Oracle-Version. Diese Parameter können nicht über diese Funktion geändert werden.

  • Wert (Feld PARVAL)

 

  • Standardwert (Feld DEFVAL)

 

  • Bezeichnung (Feld DES)

 

Schließen

 

Spezielle Buttons

Mit diesem auch über das Tastaturkürzelerreichbaren Button wird die Registeranzeige aktualisiert.

Generierung der Statistiken für die selektierten Zeilen in den Tabellen der Register Tabellen und Index.

Löschen der Statistiken für die selektierten Zeilen in den Tabellen der Register Tabellen und Index.

Erläuterungen zu den Oracle-Statistiken

Wann müssen die Statistiken berechnet werden?

Dies hängt vom Anteil und Umfang der Datenänderungen in der Datenbank ab.

Die Statistiken zu einem Objekt werden hinfällig, wenn zu dem Objekt ein hohes Volumen an DML-Aktivitäten ausgeführt werden.
Um die Kohärenz zwischen den Dictionary-Statistiken und der Verteilung und dem Inhalt der Tabellenzeilen gewährleisten zu können, muss nach umfangreichen Einfüge- und Löschvorgängen eine neue Analyse durchgeführt werden. Enthält die Tabelle nach der Durchführung der Vorgänge eine große Anzahl von Zeilen und beziehen sich die Statistiken lediglich auf einen kleinen Teil dieser Zeilen, so ist der vom Optimizer aufgestellte Ausführungsplanung eventuell nicht optimal.

Funktionsweise des Optimizers

Die auf den Kosten basierende Optimierung wird durch den Parameter optimizer_mode deklariert, der drei Werte annehmen kann:

    • ALL_ROWS (Oracle-Standardwert = 10)
    • FIRST_ROWS [n]
    • FIRST_ROWS
    • CHOOSE (Oracle-Standardwert = 9, in Oracle nicht unterstützt: 10)


Die Statistikoptimierung wird durch den Wert RULE deklariert. In diesem Fall verwendet der Optimizer die Abfragesyntax, um den besten Ausführungsplan zu realisieren. Der Syntax-Optimizer wird in Oracle 10 nicht mehr unterstützt.

  • Steht der Parameter OPTIMIZER_MODE auf ALL_ROWS, bedeutet dies "bester Durchsatz": schnellste mögliche Laufzeit für sämtliche zu ladenden Datensätze.
  • Steht der Parameter OPTIMIZER_MODE auf FIRST_ROWS, bedeutet dies "beste Zeit": Die erste Antwort soll so schnell wie möglich gefunden werden.
  • Steht der Parameter OPTIMIZER_MODE auf FIRST_ROWS [n], bedeutet dies "beste Zeit": Die ersten n Antworten sollen so schnell wie möglich gefunden werden.
  • Steht der Parameter OPTIMIZER_MODE auf CHOOSE, ist über das Vorhandensein von Statistiken im Dictionary festgelegt, ob der Statistik-Optimizer verwendet wird.

Verwendung eines auf den Kosten basierenden Modus.

Es ist wichtig, die Statistiken für sämtliche Objekte in einem Schema zu generieren. Sind zu einer Select-Anweisung nur Teilstatistiken vorhanden, kann dies dazu führen, dass der Serverprozess Statistiken für Objekte ohne Statistiken auswertet. Solche Statistikproben werden während der Ausführung erzeugt und nicht permanent im Data-Dictionary gespeichert. Bei jeder Ausführung derselben Abfrage werden sie daher neu erzeugt.

Technische Daten

Sämtliche Tabellen-, Index- und Statistikdaten werden aus Oracle-Tabellen und -Views direkt aus der Datenbank gelesen:

    • V$PARAMETER
    • PRODUCT_COMPONENT_VERSION
    • USER_TABLES
    • USER_INDEXES

Die Statistikdaten entsprechen der Spalte LAST_ANALYZED der Oracle-Views USER_TABLES und USER_INDEXES.

Die Statistiken werden mithilfe des Oracle-Packages DBMS_STATS generiert.
Hierbei werden folgende Prozeduren verwendet:

    • GATHER_TABLE_STATS
    • GATHER_INDEX_STATS
    • DELETE_TABLE_STATS
    • DELETE_INDEX_STATS

Fehlermeldungen

Nur generische Fehlermeldungen.

Verwendete Tabellen

SEEREFERTTO Siehe Dokumentation Umsetzung