Kommandooption -analyze 

Die Kommandooption sapdba -analyze <Tablespace(s)|Tabelle> bewirkt eine Analyse des zugewiesenen und des tatsächlich belegten Platzes der angegebenen Tabelle bzw. der Tabellen und/oder Indizes der spezifizierten Tablespaces.
(Im Normalfall, wenn Sie sich an die SAP-Namenskonvention gehalten haben, sollten in einem Daten-Tablespace keine Indizes und in einem Index-Tablespace keine Tabellen vorhanden sein. In diesem Fall wird die Statistik jeweils nur für den einen Objekttyp erzeugt. Sollte es Tablespaces geben, die verschiedene Objekttypen beinhalten, werden die Statistiken sowohl für die Tabellen als auch für die Indizes pro Tablespace erzeugt).

Auf der Basis einer Abschätzung wird unter anderem:

Tablespacestruktur: tablespace_name , total_space , free , allocated , used

Tabellenstruktur: tablespace_name , table_name , empty , never_been_used , used
Indexstruktur: tablespace_name , index_name , total , used_by_btree , used

Bei Aufruf von sapdba -analyze (ohne Angabe einer Methode/Option) wird der ORACLE-Befehl ESTIMATE auf die betroffenen Tabellen angewendet. Sie können auch Analysen mittels COMPUTE oder VALIDATE STRUCTURE durchführen (Option sapdba -analyze <TSP> -method <Optionen> ). Da diese Analyse zeitaufwendig ist (in Abhängigkeit von der Anzahl der Tabellen bzw. Indizes, für die diese Abschätzung durchgeführt wird), sollte sie bei Bedarf im Hintergrund eingeplant werden und wenn möglich nur für einige ausgewählte Tablespaces bzw. Tabellen. Eine Analyse aller Tablespaces kann z.B. für eine SAP-Datenbank der Größe 5GB in Abhängigkeit von der verwendeten Hardware bis zu 5 Stunden dauern.

Sie können können die Anzahl der zu analysierenden Sätze beschränken, indem Sie die Option sapdba -analyze <TSP> -option R<n>|P<n(*1000)> verwenden:
P<n>: n Prozent aller vorhandenen Sätze werden analysiert,
R<n(*1000)>: n*1000 Sätze werden analysiert.

Sie können entscheiden, ob Sie eine aktuelle Statistik durch SAPDBA erstellen lassen oder auf eine bereits vorhandene Statistik zurückgreifen, die nicht älter als eine gewisse Anzahl von Tagen ist. Verwenden hierfür die Option
sapdba -analyze <TSP> -time <Anzahl Tage>.

Zur Begrenzung eventuell langlaufender Analyse-Operationen auf eine gewisse Anzahl von Stunden können Sie die Option
sapdba -analyze <TSP> -T <Anzahl Stunden>
verwenden.

Die mit der Analyse ermittelten Werte können als Anhaltspunkt für eine manuelle Reduktion der Speichergrößen von Tabellen/Indizes oder Tablespaces dienen. Sie können deren Platzbedarf gezielt während der Reorganisation verringern. Führen Sie dazu die Reorganisation z.B. mittels des Menüpunktes Change storage manually: yes durch, um eventuell den Wert für INITIAL entsprechend der Analyse zu verringern. Eine Sicherheitsspanne von ca. 10-20% ist aber auf jeden Fall anzuraten.

In der Regel müssen Sie dieses komplexe, manuelle Verfahren nicht durchführen. Wählen Sie während der Reorganisation die Option Reduce object size: yes, dann wird die Analyse direkt während der Reorganisation durchgeführt und der Platzbedarf wird automatisch reduziert. Die oben beschriebene Sicherheitsspanne wird von SAPDBA dabei berücksichtigt. Siehe Tabelle oder Index verkleinern.
Für Tabellen mit großem Datenvolumen kann es zu einem Überlauf des temporären Tablespaces PSAPTEMP kommen, da auf Grund der Analyse mit
sapdba -analyze viele Sortiervorgänge stattfinden. Für diese Tabelle stehen dann keine Statistikwerte zur Verfügung und der zugewiesene Speicherplatz wird nicht verringert.

Die Ergebnisse der Analyse werden im Protokoll sapcheck/<Zeitstempel>.aly festgehalten.

Die Kommandooption -analyze oder eine Reorganisation mit der Option Reduce object size: yes erneuert die DB-Statistiken der betroffenen Objekte und beeinflußt damit das Verhalten des DB-Optimizers (siehe DB Optimizer control panel). Beachten Sie ebenfalls, daß durch eine Reorganisation die Statistiken aller reorganisierten Objekte gelöscht werden. Sie können diese dann mittels der Kommandooption -analyze oder über den Menüpunkt Check extents and fragmentation neu erstellen.

Siehe auch: SAPDBA-Kommandomodus.