Skip to main content
Skip table of contents

Datenbank-Export/-Import

Informationen

  • Durch den Datenbank-Export wird eine Kopie der Daten aus der Datenbank erzeugt und in einer Datei gespeichert.

  • Mit dem Datenbank-Import kann diese Datei in ein PLANTA-System eingelesen werden (Voraussetzung: Das Schema entspricht dem Schema des Quellsystems).

  • Der Datenbank-Export/-Import wird von Customizing-Deployment und Datenbank-Update verwendet.

Hinweise

  • Die Datenbankverbindung etc. wird aus der Konfiguration des PLANTA-Servers verwendet.

  • Der Export kann auf das vollständige PLANTA Data Dictionary zugreifen und daher entscheiden, welche Schemas, Tabellen und Spalten aktiv sind.

    • Sofern keine konkreten Datentabellen und/oder Schemas ausgewählt sind, werden alle aktiven Daten exportiert.

  • Da der Schema-Export analog vorgeht, passen exportierte Schemas und Daten desselben Customizing-Standes exakt zusammen.

Anwendung

Information

  • Die Werkzeuge können über ein command in der docker compose aufgerufen werden und haben dieselben Anforderungen an die Systemumgebung wie der PLANTA-Server selbst, wenngleich einen deutlich geringeren Speicherbedarf.

Export

Aufruf durch command: ["export", "<parameter>"]

Options:
-L, --exclude-licenses
List of licenses to exclude
-S, --exclude-schemas
List of schemas to exclude
-T, --exclude-tables
List of tables to exclude (SQL names, not table numbers)
-f, --full
Include everything
-h, --help
Display this help message
-l, --include-licenses
List of licenses to include
-s, --include-schemas
List of schemas to include
-t, --include-tables
List of tables to include (SQL names, not table numbers)

* -o, --output-file
Output file to write export to
-H, --with-history
Transfer history tables and REVINFO as well
Default: false

Import

Aufruf durch command: ["import", "<parameter>"].

Options:
-L, --exclude-licenses
List of licenses to exclude
-S, --exclude-schemas
List of schemas to exclude
-T, --exclude-tables
List of tables to exclude (SQL names, not table numbers)
-f, --full
Include everything
-h, --help
Display this help message
-l, --include-licenses
List of licenses to include
-s, --include-schemas
List of schemas to include
-t, --include-tables
List of tables to include (SQL names, not table numbers)

* -i, --input-file
Input file to read import from
-j, --jobs
List of @par files to treat like a separate job each
--truncate
truncate all tables about to receive data prior to actual import
-H, --with-history
Transfer history tables and REVINFO as well
Default: false

Parameterdetails

Die Kommandozeilenparameter für die Auswahl der Datenmenge sind bei Export und Import identisch.

Parametername

Parameter

Kurzschreibweise

Erläuterung

Schemafilter

--include-schemas und
--exclude-schemas

-s
-S

Erlauben Positiv- bzw. Negativlisten von PLANTA-Schemas, z.B. Q1B Q2B.

Tabellenfilter

--include-tables und
--exclude-tables

-t
-T

Erlauben Positiv- bzw. Negativlisten von PLANTA-Datentabellen, z.B. DT412 DT415 MIGRATIONRULE MIGRATIONHISTORY.

Lizenzfilter

--include-licenses und
--exclude-licenses

-l
-L

Erlauben Positiv- bzw. Negativlisten von PLANTA-Lizenzen, z.B. 011 100.
Der Lizenzfilter verhält sich im Import bzw. Export unterschiedlich (weitere Informationen).

History

--with-history

-H

Aktiviert den Transfer der History-Tabellen und der Tabelle REVINFO.

  • Die Migration der Historisierung befindet sich noch in der Entwicklung und ist derzeit weder notwendig noch empfehlenswert.

  • Im Wesentlichen ist zu beachten, dass nach erfolgtem Transfer inkl. History der Zählerstand der sequence HIBERNATE_SEQUENCE im Zielsystem auf das Maximum des Standes von Quell- und Zielsystem gesetzt werden muss, um Kollisionen zu vermeiden, die sich durch eine Unique-Constraint-Verletzung äußern.

  • Default: false

Export-Datei

--output-file

-o

Datei, in die der Export geschrieben wird.

Import-Datei

--input-file

-i

Datei, die beim Import eingelesen wird.

Jobs

--jobs

-j

Angabe mehrerer Parameterdateien, die nacheinander als Jobs abgearbeitet werden.

  • Damit werden einmalig Trigger und Constraints deaktiviert und im Nachgang wieder aktiviert, und zwischenzeitlich alle Parameterdateien exakt so abgearbeitet, als hätte man den Import separat mit @<Datei> aufgerufen.

  • Hierbei ist es derzeit noch erforderlich, zusätzlich zu den Jobs eine Eingabedatei anzugeben, die aber nicht verarbeitet wird. Jede Job-Parameterdatei muss ihre Eingabedatei selbst spezifizieren.

Truncate

--truncate

Leert die Tabellen vor dem Import.

Hilfe

--help

-h

Gibt eine Liste der möglichen Parameter aus.

Unterschiede der Behandlung von Filteroptionen zwischen Import und Export

Informationen

  • Schema-, Tabellen-, und Historyfilter arbeiten bei Import und Export identisch, d.h. ein vollständiger Export eines Entwicklungssystems kann z.B. auch für ein Customizing-Deployment im zugehörigen Produktivsystem herangezogen werden.

  • Generell gilt hier: Sofern der Export die gewünschten Daten enthält, kann der Import sie selektiv verarbeiten.

  • Im Gegensatz dazu können Lizenzfilter beim Import nicht auf die exportierten Daten angewandt werden.

  • Alle Zeilen, die der Export enthält, werden beim Import verarbeitet, ungeachtet derer Lizenznummer.

    • Hier muss also der Export zum gewünschten Import passen, was z.B. beim Customizing-Update gilt.

    • (Ein vollständiger Export aller Schemas und Tabellen mit richtigem Lizenzfilter kann jedoch wiederum durch passende Schema- und Tabellenauswahl für ein Customizing-Update Verwendung finden.)

  • Der Lizenzfilter beim Import bestimmt lediglich, welche Datensätze vor dem Einlesen der Daten in den jeweiligen Tabellen gelöscht werden sollen (Positivliste durch --include-licenses) oder eben nicht gelöscht werden dürfen (Negativliste, --exclude-licenses), unter der Annahme, dass der Export genau die Daten mit den zu verarbeitenden Lizenzen vollständig mitbringt.

Import-Besonderheiten

Hinweis

  • Werden beim Import im System Datensätze identifiziert, die die gleichen Primärschlüssel aufweisen wie die Datensätze, die importiert werden, werden die bestehenden Datensätze gelöscht.

Parameterdateien

Informationen

  • Sämtliche Kommandozeilenoptionen können für sich wiederholende Aufgaben in Parameterdateien gespeichert und mit der @<Datei> -Syntax verwendet werden.

  • Anwendungsbeispiele siehe Customizing-Deployment - hierfür werden bisweilen in erster Linie Parameterdateien zur Verfügung gestellt.

  • Bei der Erstellung einer Parameterdatei ist zu beachten, dass der Parser die Argumente anhand von Zeilenumbrüchen trennt:

# funktioniert:

--include-schemas

Q1B Q2B

# funktioniert nicht:

--exclude-tables DT345

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.