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 befinden sich allesamt im Server-Installationsverzeichnis und haben dieselben Anforderungen an die Systemumgebung wie der PLANTA-Server selbst, wenngleich einen deutlich geringeren Speicherbedarf.

Export

Aufruf durch ./planta_export.sh (Linux) bzw. planta_export.bat (Windows).
./planta_export.sh -h
Usage: planta_export [options]
  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 ./planta_import.sh (Linux) bzw. planta_import.bat (Windows).
./planta_import.sh -h
Usage: planta_import [options]
  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.

ParameternameParameterKurzschreibweiseErlä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-HAktiviert 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-oDatei, in die der Export geschrieben wird.
Import-Datei--input-file-iDatei, die beim Import eingelesen wird.
Jobs--jobs-jAngabe 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-hGibt 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