2016-07-22 39 views
0

Datenbank: einzelne Partition nehmen, oder eine Reihe von Partitionen, trennen Sie es aus einer Tabelle oder eine Gruppe von Tabellen auf DB1 und verschieben Sie sich an einem anderen Tisch auf einer anderen Datenbank Oracle 12cWie verschiebt man eine ganze Partition in eine andere Tabelle in einer anderen Datenbank?

ich will. Ich möchte vermeiden, DML zu tun, um dies aus Leistungsgründen zu tun (Es muss schnell sein).

Jede Partition enthält zwischen drei und vierhundert Millionen Datensätze. Jede Partition wird in ungefähr 300 Unter-Partitionen aufgeteilt.

Die Aufgabe muss automatisiert werden.

Einige Gedanken, die ich hatte:

  • Irgendwie jede Partition setzt in einem eigenen Daten-Datei bei der Erstellung, dann von der Quelle abgenommen und es zum Ziel angebracht?
  • Extrahieren Sie die gesamte Partition (Aufnahme nicht-by-record)
  • Alle anderen nicht-DML Solutions welcom auch

Beispiel (Move Part # 33 von beiden zu DB # 2, vorzugsweise mit einer einzigen, Operation):

__________________    __________________ 
| DB#1    |   | DB#2    | 
|------------------|   |------------------| 
|Table1   |   |Table1   | 
| Part#1   |   | Part#1   | 
| ...   |   | ...   | 
| Part#33  | ----> | Part#32  | 
|  Subpart#1 |   |     | 
|  ...   |   |     | 
|  Subpart#300 |   |     | 
|------------------|   |------------------| 
|Table2   |   |Table2   | 
| Part#1   |   | Part#1   | 
| ...   |   | ...   | 
| Part#33  | ----> | Part#32  | 
|  Subpart#1 |   |     | 
|  ...   |   |     | 
|  Subpart#300 |   |     | 
|__________________|   |__________________| 
+2

Sie können tauschen (EXCHANGE) Tabellenpartitionen mit Tischen, und gleichzeitig, sie zu einer transportierbaren Tabellen bewegen, zu einer bestimmten Daten-Datei abgebildet (s). – TenG

Antwort