Skripte zum Optimieren einer Oracle-Instanz für die XML-Speicherung in ArcSDE

ArcSDE for Oracle enthält im Verzeichnis "SDEHOME > Tools > Oracle" zwei Skripte, die Ihnen helfen, die Oracle-Instanz für die Speicherung von ArcSDE XML-Daten mit maximaler Performance zu optimieren. Dies sind die Skripte "xml_lob_block_distribution.sql" und "xml_lob_cache_size.sql".

xml_lob_block_distribution

Dieses Skript gibt die Verteilung der XML-Daten in einer Tabelle an. Sie geben den Namen der Tabelle mit der XML-Spalte an, und das Skript gibt die Verteilung der XML-Daten in den folgenden Blöcken zurück:

Anhand dieser Informationen können Sie die Größe der meisten XML-Daten bestimmen. Wenn die Größe der meisten XML-Daten weniger als 8 KB beträgt, Sie jedoch eine 16-KB-Blockgröße verwenden, verschenken Sie möglicherweise Datenbankspeicherplatz, und jede Reaktion auf eine Abfrage erfordert doppelt so viel Speicher, von dem die Hälfte nicht genutzt wird. Wenn Sie in diesem Fall stattdessen eine 8-KB-Blockgröße verwenden, fasst jede Reaktion und der Cache doppelt so viele Daten, und eine Abfrage, die dieselbe Anzahl an Datensätzen zurückgibt, kommt mit weniger Datenbanklesevorgängen aus. Wenn jedoch die meisten XML-Daten größer sind als 16 KB und Sie eine 8-KB-Blockgröße verwenden, sind zur Speicherung der Daten doppelt so viele Blöcke erforderlich wie bei Verwendung einer Blockgröße von 16 KB. Das heißt, dass bei jeder Reaktion für dieselbe Anzahl an Datensätzen in der Business-Tabelle doppelt so viele Festplattenlesevorgänge ausgeführt werden müssen, wodurch die Abfrageleistung verschlechtert wird.

xml_lob_cache_size

Das Skript "xml_lob_cache_size" dient zur Ermittlung der Cache-Anforderungen für XML-Daten in einer angegebenen Blockgröße. Wie auch beim Skript "xml_lob_block_distribution" geben Sie den Namen der Tabelle mit der XML-Spalte an. Darüber hinaus können Sie eine Blockgröße angeben. Wenn Sie keine Blockgröße angeben, wird für die Schätzung der aktuelle Wert von "db_block_size" verwendet.

Das Skript gibt Informationen darüber zurück, wie groß der LOB-Cache für eine optimale Such-Performance sein sollte.

HinweisHinweis:

Sie können die Blockgröße einer vorhandenen Oracle-Datenbank nicht ändern. Wenn laut Skripten eine andere Blockgröße zur Optimierung der XML-Abfragen erforderlich ist, müssen Sie eine Sicherungskopie der vorhandenen Datenbank erstellen, eine neue Datenbank mit der richtigen Blockgröße anlegen und die Daten in die neue Datenbank verschieben.


7/10/2012