Anfang des Inhaltsbereichs

 Vorgehensweisen Überwachen der Tabellen- und Indexfragmentierung (Oracle)  Dokument im Navigationsbaum lokalisieren

Je nachdem, wie auf die Daten zugegriffen wird, kann eine Fragmentierung von Tabellen und Indizes die Performance beeinträchtigen. Zudem wird durch eine Fragmentierung mehr Speicherplatz belegt. Dieses Problem könnte durch eine Reorganisation des entsprechenden Objektes behoben werden. Allerdings sollten Sie bedenken, daß dieser Prozeß mitunter sehr aufwendig ist und das System während einer Reorganisation nicht zur Verfügung steht. Daher ist es oft nicht zu empfehlen, sofort eine Reorganisation zu starten, um die Fragmentierung zu beheben. Für weitere Informationen, wann eine Reorganisation sinnvoll ist, siehe Reorganization.

Tabellenfragmentierung

Eine Tabellenfragmentierung führt bei vollständigen Tabellendurchsuchungen (Full table scan) zu längeren Abfragezeiten. Da die Daten nicht gleichmäßig auf die Datenblöcke verteilt sind, müssen während einer Durchsuchung möglicherweise viele Blöcke gelesen werden, um die Abfrage durchzuführen. Diese Blöcke können auf verschiedene Extents verteilt sein. In diesem Fall muß Oracle rekursive Calls ausgeben, um die Adresse des nächsten Extents der zu durchsuchenden Tabelle zu finden.

Jüngste Untersuchungen haben gezeigt, daß die Tabellenfragmentierung kaum Auswirkungen auf die Performance des Datenbanksystems hat. Das liegt vor allen Dingen daran, daß vollständige Tabellendurchsuchungen in einem SAP-System eher selten sind, da auf die Daten über einen Index zugegriffen wird. Eine Reorganisation der Tabellendaten bringt daher im allgemeinen weniger Performance-Vorteile als früher angenommen.

Für weitere Informationen, wie Sie eine Reorganisation durchführen können, siehe Reorganizing Tables with BR*Tools.

Indexfragmentierung

Eine Indexfragmentierung kann die Performance einer Anwendung wesentlich deutlicher beeinträchtigen. Beim Datenzugriff über einen Index und eine Indexbereichsdurchsuchung (in SAP-Systemen häufig), muß Oracle jeden Block in dem angegebenen Bereich lesen, um die indizierten Werte zu erhalten. Ist der Index stark fragmentiert, muß Oracle hierfür sehr viel mehr Blöcke und evtl. Ebenen durchsuchen. Um eine Indexfragmentierung zu beseitigen, muß der entsprechende Index neu aufgebaut werden.

Für weitere Informationen, wie Sie einen Index neu aufbauen können, siehe Rebuilding Indexes with BR*Tools.

.

Sie sollten sowohl im Falle einer Tabellen- als auch im Falle einer Indexfragmentierung immer darauf achten, daß die weiche oder sogar die harte Grenze für die Anzahl der Extents (Parameter MAXEXTENTS) nicht erreicht wird. Wenn das der Fall ist, muß der Datenbank-Administrator eingreifen.

 

Siehe auch:

Probleme mit der maximalen Extentanzahl (Oracle)

Überwachen von Calls (Oracle)

Überwachen der Tabellenzugriffsmethoden (Oracle)

Tabellendurchsuchungen: Problemanalyse (Oracle)

 

 

Ende des Inhaltsbereichs