Datenmigration von einem Speichertyp zu einem anderen
Sie können das Geoverarbeitungswerkzeug Speicherformat ändern, administrative Befehle in ArcSDE, ArcObjects oder die ArcSDE-API verwenden, um vorhandene binäre, räumliche oder Raster-Spalten von einem Speichertyp in einen anderen zu migrieren. Dazu geben Sie ein Konfigurationsschlüsselwort an, das den Parameter ATTRBUTE_BINARY, GEOMETRY_STORAGE oder RASTER_STORAGE enthält. Der Parameter muss auf den neuen Speichertyp festgelegt werden, in den Sie die Daten konvertieren möchten.
Es ist wichtig, dass das Schlüsselwort korrekt erstellt wird und den richtigen Parameter und Wert enthält. Wenn Sie ein Schlüsselwort mit falschen oder fehlenden Informationen angeben, werden die Informationen aus dem Schlüsselwort DEFAULTS gelesen. Aus diesem Grund empfiehlt Esri, dass Sie ein benutzerdefiniertes Schlüsselwort speziell für die Migration erstellen. Achten Sie darauf, dass das Schlüsselwort den Parameter und den Wert für den Speichertyp enthält, in den Sie die Daten migrieren, sowie einen UI_TEXT-Parameter. Der Parameter UI_TEXT macht das Schlüsselwort zur Verwendung durch ArcGIS-Clients verfügbar.
Informationen zu Konfigurationsschlüsselwörtern und -parametern finden Sie unter Was sind DBTUNE-Konfigurationsschlüsselwörter und -Parameter? und den verwandten Themen.
Unten sind die Migrationspfade aufgeführt, die von Datenbankmanagementsystemen (DBMS) unterstützt werden:
DBMS |
Konfigurationsparameter |
Migration von/nach |
---|---|---|
Oracle |
ATTRIBUTE_BINARY |
LONG RAW nach BLOB |
GEOMETRY_STORAGE |
LONG RAW (SDEBINARY) nach BLOB (SDELOB) |
|
LONG RAW nach ST_GEOMETRY |
||
BLOB nach ST_GEOMETRY |
||
SDO_GEOMETRY nach ST_GEOMETRY |
||
RASTER_STORAGE |
LONG RAW nach BLOB |
|
LONG RAW nach ST_RASTER* |
||
BLOB nach ST_RASTER* |
||
PostgreSQL |
RASTER_STORAGE |
BYTEA nach ST_RASTER* |
SQL Server |
RASTER_STORAGE |
IMAGE nach ST_RASTER* |
GEOMETRY_STORAGE | SDEBINARY nach GEOMETRY | |
SDEBINARY nach GEOGRAPHY | ||
OGCWKB nach GEOMETRY | ||
OGCWKB nach GEOGRAPHY |
*ST_Raster muss in der Geodatabase installiert sein. Anleitungen dazu finden Sie unter Installieren des ST_Raster-Typs unter Oracle, Installieren des ST_Raster-Typs unter PostgreSQL bzw. Installieren des ST_Raster-Typs unter SQL Server.
Falls die zu migrierende Tabelle als versioniert registriert wurde, werden bei der Migration in einen anderen Speichertyp auch die entsprechenden Spalten in der Tabelle "Adds" aktualisiert. Wenn für die Feature-Class die Archivierung aktiviert ist, werden auch die Spalten der Archivtabelle aktualisiert.
Welche Gründe gibt es für das Migrieren von Daten?
Es gibt zwei Gründe für die Migration von Daten: 1. Sie möchten auf räumliche Daten oder Raster-Daten per Structured Query Language (SQL) zugreifen. 2. Sie möchten von einem Datentyp, der möglicherweise bald nicht mehr unterstützt wird, zu einem unterstützten Datentyp wechseln.
SQL-Zugriff
Der Zugriff auf die Informationen in einer Geodatabase per SQL ermöglicht es externen Anwendungen (also nicht in einer ArcObjects-Umgebung entwickelten Anwendungen), die von einer Geodatabase verwalteten Tabellendaten zu verwenden. Falls diese Anwendungen auf räumliche Daten oder Raster-Daten in der Geodatabase zugreifen müssen, müssen Sie die räumlichen oder Raster-Daten in Datentypen speichern, die den SQL-Zugriff zulassen. Wenn Sie z. B. den ST_Raster-Speichertyp verwenden, können Sie per SQL auf die Raster-Daten zugreifen. Dies ist nicht ohne Weiteres möglich, wenn die Raster-Daten in einem Feld mit dem Format BLOB, LONG RAW, IMAGE, BINARY oder BYTEA gespeichert sind.
Wechseln von Typen, die in zukünftigen Versionen möglicherweise nicht mehr unterstützt werden
Oracle empfiehlt in seinen Datenbanken die Verwendung der Datentypen BLOB oder BFILE anstelle von LONG RAW. Obwohl LONG RAW-Spalten noch unterstützt werden, sollten Sie, falls Sie in der aktuellen ArcSDE-Geodatabase in Oracle Felder mit LONG RAW-Attributen, -Geometrie oder –Rastern verwenden, diese in andere Formate migrieren. Dies ist die Vorbereitung für den Fall, dass diese Formate nicht mehr unterstützt werden.
Die Speicherung für Attribut-, Geometrie- und Raster-Spalten in einer Geodatabase wird von den DBTUNE-Parametern ATTRIBUTE_BINARY, GEOMETRY_STORAGE und RASTER_STORAGE gesteuert. Die Standardwerte für diese Parameter unter dem DBTUNE-Konfigurationsschlüsselwort DEFAULTS variieren je nach der Version von ArcGIS, die Sie beim Erstellen der Geodatabase verwendet haben. Die folgende Tabelle zeigt die Standardeinstellung unter dem Schlüsselwort DEFAULTS in der DBTUNE-Tabelle von ArcSDE-Geodatabases in Oracle.
Parameter |
Standardeinstellung unter ArcGIS 9.3 und höheren Versionen |
Standardeinstellung unter ArcGIS 9.2 |
Standardeinstellung vor ArcGIS 9.2 |
---|---|---|---|
ATTRIBUTE_BINARY |
BLOB |
BLOB |
LONG_RAW |
GEOMETRY_STORAGE |
ST_GEOMETRY |
LONG RAW (SDEBINARY) |
LONG RAW (SDEBINARY) |
RASTER_STORAGE |
BLOB |
LONG_RAW |
LONG_RAW |
Daten, die in Geodatabases der neuen Version 9.3 (ohne Aktualisierungen) oder höherer Versionen mithilfe der standardmäßigen Parametereinstellungen erstellt wurden, verwenden den Speichertyp LONG RAW nicht. Alle vorhandenen Daten, für die bestimmte oder alle diese Parameter auf LONG RAW festgelegt wurden, sowie alle neuen Daten in aktualisierten Geodatabases, für die diese Parameter auf LONG RAW festgelegt sind, enthalten jedoch noch LONG RAW-Spalten. Um die Datentypen für diese Spalten zu ändern, müssen Sie die DBTUNE-Einstellungen ändern und die Daten migrieren.
Verwenden Sie zum Ändern der DBTUNE-Einstellungen den Befehl "sdedbtune", um einem vorhandenen Schlüsselwort einen Parameter hinzuzufügen oder um den Inhalt einer DBTUNE-Tabelle zu exportieren, zu ändern oder zu importieren. Informationen zur Verwendung des Befehls "sdedbtune" finden Sie in der "ArcSDE Administration Command Reference".
Vor der Migration
Die folgenden Bedingungen müssen vor dem Konvertieren der Daten erfüllt sein:
- Sie müssen vor der Migration eine Sicherungskopie der Daten anlegen.
- Wenn Sie den räumlichen Spaltentyp konvertieren, müssen die Daten mit hoher Genauigkeit gespeichert sein. Falls die Daten noch mit normaler Genauigkeit gespeichert sind, müssen Sie diese vor dem Migrieren des Speichertyps zuerst mit hoher Genauigkeit speichern. Verwenden Sie dazu entweder das Geoverarbeitungswerkzeug Raumbezug aktualisieren oder den Befehl "sdelayer" in Verbindung mit der Änderungsoperation. Informationen zum Migrieren der Genauigkeit eines Datasets finden Sie unter Migrieren zu hoher Genauigkeit.
- Wenn Sie die räumliche Spalte konvertieren, muss die Tabelle eine Objekt-ID-Spalte enthalten. Beim Registrieren eines Layers für die Geodatabase wird diese Spalte automatisch hinzugefügt. Sie können zum Hinzufügen aber auch den Befehl "sdetable" in Verbindung mit dem alter_reg-Vorgang verwenden.
- Das Konfigurationsschlüsselwort, das Sie beim Migrieren des Datentyps angeben, muss den richtigen Wert für den Parameter GEOMETRY_STORAGE, ATTRIBUTE_BINARY bzw. RASTER_STORAGE enthalten. Falls Sie z. B. eine LONG RAW-Geometriespalte nach ST_GEOMETRY migrieren möchten, aber ein Schlüsselwort angeben, für das der Parameter GEOMETRY_STORAGE auf SDO_GEOMETRY festgelegt ist, schlägt die Migration fehl, weil es sich nicht um einen unterstützten Migrationspfad handelt.
- Beim Migrieren von einem Datentyp in einen anderen wird in der Datenbank ein neues Segment erstellt, in das die Daten kopiert werden. Nach Abschluss der Migration werden die Metadaten auf das neue Segment verwiesen, und das alte wird gelöscht. Dies bedeutet, dass während der Migration zwei Kopien der Daten vorhanden sind. Stellen Sie daher sicher, dass in der Datenbank genügend Speicherplatz für zwei Kopien der Daten vorhanden ist.
- Da die Attribut-, Raster- und Geometriespeicherung in Oracle zu einem BLOB-Datentyp migriert werden kann, empfehlen wir Ihnen vor dem Fortfahren mit der Migration die Lektüre des Themas BLOB-Datenspeicherung in Geodatabases unter Oracle.
- Sie müssen als Besitzer der Tabelle angemeldet sein, in der die zu migrierenden Spalten enthalten sind.
- Für die Migration einer Feature-Class in den SQL Server-Typ GEOGRAPHY ist es erforderlich, dass die Daten in einem der geographischen Koordinatensysteme vorliegen, die vom Typ GEOGRAPHY unterstützt werden, und dass die Feature-Class keine Z- oder M-Werte enthält.Tipp:
Die Liste der unterstützten Koordinatensysteme, die mit dem SQL Server-Typ GEOGRAPHY verwendet werden können, befindet sich in der SQL Server-Systemansicht "sys.spatial_reference_systems".
Werkzeuge für die Migration
Informationen zum Migrieren von Daten finden Sie in den folgenden Themen: