Dienstag, März 19, 2013

Data Pump für Partitionen

Gwen Lazenby erläutert im Blog der Oracle University, dass es seit Release 11.1 möglich ist, eine oder mehrere Partitionen einer partitionierten Tabelle mit Hilfe der Datafile Copy Option des data pump Exports in eine andere Datenbank zu transferieren. Dabei stellt Datafile Copy eine Variante zum Transportable Tablespace Feature dar, bei der (im read only Modus) ebenfalls Metadaten über expdp verschoben werden und datafiles auf OS-Ebene kopiert werden - aber im Fall von Datafile Copy ist es möglich, diesen Kopiervorgang auf einzelne datafiles - bzw. die in ihnen enthaltenen Objekte - zu beschränken. Auf syntaktischer Ebene wird die Operation durch folgende Angaben ausgewiesen:
  • table=name_der_tabelle:name_der_partition
  • transportable=always
Der Metadaten-Export enthält dann die Information, welche datafiles auf OS-Ebene kopiert werden müssen. Nach dem File-Transfer können dann die Metadaten mit impdp in die Zieldatenbank eingespielt werden, wobei die Option partition_options=departition angegeben wird, um die Partition in eine selbständige Tabelle umzuwandeln. Wenn eine Tabelle (bzw. Partition) über sehr viele datafiles verteilt ist, kann das Verfahren vermutlich extrem unscharf sein - und möglicherweise auch ein gewisses Sicherheitsrisiko mit sich bringen, sofern die Daten der Objekte, deren Metadaten nicht übertragen werden, im Rahmen des Imports nicht explizit überschrieben werden (was ich - nicht zuletzt aus Performance-Gründen - für sehr unwahrscheinlich halte), da der Hex-Editor hie möglicherweise noch interessante Strings entdecken könnte.

Keine Kommentare:

Kommentar veröffentlichen