System importieren (impsys)

Mithilfe des Tools „System importieren“ (impsys) können Sie im Maximalfall ein komplettes System importieren. Voraussetzung ist, dass Sie zuvor ein Quellsystem mithilfe des Tools „System exportieren“ exportiert haben. Das Tool „System exportieren“ erzeugt Dateien, in denen auch Informationen über das Erzeugen von Tabellen und deren Indizes enthalten sind. Das Tool „System importieren“ verwendet diese Dateien, um daraus ein neues System zu erzeugen.

Zielgruppe

  • System-Administratoren
  • Technische Berater

Beschreibung

Mithilfe des Tools „System importieren“ (impsys) können Tabellen importiert werden, die mit dem Tool „System exportieren“ (expsys) exportiert wurden. Die darin erhalten Informationen ermöglichen das Erzeugen der Tabellen und Indizes auf der Datenbank.

Nur in bereits existierenden Systemen ist möglich, das Tool direkt zu verwenden. Wenn Sie z. B. gerade die Repository-Datenbank importieren, dann können Sie nicht auf die Repository-Daten zugreifen, um den Befehl „impsys“ auszulösen.

Folgende Java-Klasse liefert den Quell-Code:

com.cisag.sys.kernel.sql.ImportSystem

Diese Java-Klasse enthält eine „main“ Methode und kann daher auch direkt aufgerufen werden.

Sie können z. B. eine einzelne OLTP-Datenbank einem System hinzufügen, d. h. Sie führen das Tool auf einem bereits existierenden System aus. In so einem Fall funktioniert dieser Ressourcenname: impsys.

Hinweis:

Sie müssen in den Klassenpfad die Klassen der Comarch-ERP-Enterprise-Installation und eine Library aufnehmen, die den passenden Datenbanktreiber enthält.

Voraussetzungen
  • Sie haben ein Quell-System mithilfe des Tools „System exportieren“ exportiert.
  • In der Anwendung „Systemcockpit“ ist das Ziel-System inklusive der Datenbanken bereits erfasst.
  • Auf dem Datenbanksystem muss ein Datenbankadministrator einen passenden „Bereich“ eingerichtet haben, damit dort die Datenbank und ihre Tabellen erzeugt werden können.

Hinweis:

Wie ein „Bereich“ konkret benannt wird, ist abhängig vom Datenbanksystem. Oracle nennt eine Installation selbst „Datenbank“ und den „Bereich“ ein „Schema“. Auf anderen Datenbanksystemen wird „Datenbank“ anstatt „Bereich“ verwendet.

  • Eine Java-Installation ist zugänglich.
  • Das Dateisystem der Comarch-ERP-Enterprise-Installation muss zugänglich sein.
  • Sie haben eine „properties“-Datei im Quell-Ordner abgelegt oder eine entsprechende Datei per Parameter „params“ angegeben. (siehe Kapitel „Verbindungsinformationen“)
Beispiele

In den folgenden Beispielen wird das System „targetSystem“ verwendet.

Beispiel (Windows, SQL-Server-Datenbank)

C:\java\jdk-11.0.4_11-64\bin\java –cp c:\targetSystem\semiramis\classes;c:\targetSystem\semiramis\lib\sqljdbc42.jar  com.cisag.sys.kernel.sql.ImportSystem –d:c:\temp\MySystem

Beispiel (Linux, Postgres-Datenbank)

/opt/java/jdk-11.0.4_11-64/bin/java -cp “/opt/TARGETSYSTEM/semiramis/classes/:/opt/tools/postgresql-9.4.1212.jar” com.cisag.sys.kernel.sql.ImportSystem -d:/temp/MYSYSTEM

Befehl

Nachfolgend finden Sie den Befehl inklusive aller möglichen Parameter.

impsys -d:<str>

[-blocksize:<int>]

[-parallelUpdate:<int>]

[-params:<str>]

[-preferred:<str>]

Parameter

Die Parameter des Befehls werden in der folgenden Tabelle erläutert. Die in eckigen Klammern gesetzten Parameter sind optional, die anderen hingegen sind Pflichtparameter. Für einige Parameter kann ein Stern (*) als Platzhalter angegeben werden, um damit alle möglichen Werte ausgeben zu können. Nicht alle Parameter können mehrfach genannt werden, nur die, die folgenden Zusatz an den Parametervariablen aufweisen, sind für die Mehrfachnennung zugelassen: „<str-1> … <str–n>“.

Der Parameter ist vollständig, z. B. –f<str>, und gemäß der Reihenfolge der Verwendung im Befehl aufzulisten.

Parameter Erläuterung
-d:<str> Legen Sie mit diesem Parameter den Quell-Ordner fest. Darin müssen die zuvor mit dem Tool „System exportieren“ erzeugten Dateien liegen.

Wenn Sie die Leistung des Tools mit einer
„preferred.tables“-Datei steigern möchten, dann legen Sie diese Datei in den angegebenen Ordner ab, bevor Sie den Import starten.

Siehe auch dieses Kapitel: Leistungssteigerung

[-blocksize:<int>] Die Daten einer Tabelle werden nicht alle auf einmal, sondern blockweise geschrieben. Nachdem die festgelegte Blockgröße (blocksize) erreicht ist, werden diese auf die Datenbank geschrieben und danach mit einem neuen Block und entsprechender Zählung begonnen. Für diesen Parameter wird eine Blockgröße von 1000 vorgeschlagen. Sie können diesen Wert ändern.
[-parallelUpdate:<int>] Für den Import werden mehrere Threads genutzt, die parallel ausgeführt werden. Ein Thread bearbeitet immer genau eine Datenbanktabelle. Für diesen Parameter wird eine Anzahl von 4 Threads vorgeschlagen. Sie können diesen Wert ändern.
[-params:<str>] Sie können die Verbindungsinformationen mithilfe des Parameters „params“ angeben. Der Inhalt der referenzierten Datei muss der im Kapitel „Verbindungsinformationen“ beschriebenen Datei entsprechen.
[-preferred:<str>] Sie können die bevorzugt zu importierenden Tabellen mit dem Parameter „preferred“ festlegen. Der Inhalt der referenzierten Datei muss der im Kapitel „Leistungssteigerung“ beschriebenen Datei entsprechen.

Verbindungsinformationen

Vor dem Datenbankenimport muss folgende Datei im Quell-Ordner abgelegt werden:

connection.properties

Der Quell-Ordner oder die als Quelle verwendete „zip“-Datei wird mit dem Befehl-Parameter –d festgelegt, z. B. c:\temp\MySystem oder c:\temp\MySystemExport.zip.

Die abzulegende Datei kann folgende Parameter enthalten:

  • databases

Mit dem Parameter „databases“ werden die gewünschten Ziel-Datenbanken spezifiziert. Da mehrere Datenbanken angegeben werden können, wird der eigentlichen Property der Datenbank immer zusätzlich der Ziel-Datenbankname als Präfix vorangestellt.

  • source

Mit dem Parameter „source“ wird der entsprechende Unterordner angegeben.

  • ContentType

Inhaltstyp (Konfiguration, Repository, OLTP, OLAP)

  • Type

Datenbanktyp (Oracle, DB2 UDB, …)

  • Driver

Datenbanktreiber

  • DriverAccessPath

Zugriffspfad

Der Inhaltstyp, der Zugriffspfad und der Datenbanktreiber entsprechen den Einträgen in der Anwendung „Systemcockpit“.

Beispiel für eine Postgres-Datenbank:

// databases, Namen der gewünschten Datenbanken. In der Folge als Präfix verwendet.

// source: Quell-(Unter)-Ordner für die exportierten Daten.

// content type:1=CONFIGURATION, 2=REPOSITORY, 3=OLTP, 4=OLAP

// Comarch ERP Enterprise database type: 1=Oracle 8i (deprecated), 2=DB2 UDB for iSeries, 4=Generisch, 5=Oracle 9i, 6=SQL-Server 2000, 7=DB2 UDB 8.1, 9 postgresql

// JDBC driver type: 1=Oracle, 2=DB2 UDB for iSeries (remote), 3=DB2 UDB for iSeries (native), 4=DB2 UDB (app), 5=SQL-Server, 6=Sprinta 2000 / SQL-Server, 7=DB2 UDB (net), 13 Postgres

databases:SYSTEM01RP, SYSTEM0110

SYSTEM0110.source:OLTP_MYSYSTEMOLTP1

SYSTEM0110.ContentType:3

SYSTEM0110.Type:9

SYSTEM0110.Driver:13

SYSTEM0110.DriverAccessPath:jdbc:postgresql://sysdev01.cisag.com:5432/SYSTEM0110

 

SYSTEM01RP.source:REPOSITORY_MYSYSTEMRP

SYSTEM01RP.ContentType:2

SYSTEM01RP.Type:9

SYSTEM01RP.Driver:13

SYSTEM01RP.DriverAccessPath:jdbc:postgresql://sysdev01.cisag.com:5432/SYSTEM01RP

Optionale Parameter

Folgende Parameter entsprechen den Werten in der Anwendung „Systemcockpit“ (Typ „Datenbank“) für Benutzer, Schema und Kennwort. Weitere Informationen zu diesen Daten finden Sie in dieser Dokumentation: Typ „Datenbank“

Beispielhaft wird der Datenbankname „System01RP“ verwendet.

  • User:

Angabe der Benutzerkennung des Datenbank-Management-System für den Zugriff auf die Datenbank. Wenn Sie den Wert nicht angeben, dann wird stattdessen der Datenbankname verwendet.

  • Schema:

Angabe des vom genutzten Datenbank-Management-System abhängigen Schemas. Wenn Sie den Wert nicht angeben, dann wird stattdessen der Benutzer (User) verwendet.

  • Password:

Angabe des Kennworts zur Benutzerkennung des Datenbank-Management-Systems für den Zugriff auf die Datenbank. Wenn Sie den Wert nicht angeben, dann wird stattdessen der Benutzer (User) verwendet.

Leistungssteigerung

Sie können in Abhängigkeit der Gegebenheiten die Leistung des Importierens steigern. Dazu stellen wir Ihnen folgende Informationen bereit:

Beim Import der Datenbanken werden mehrere Threads genutzt. Threads werden parallel ausgeführt und jeder importiert genau eine Datenbanktabelle. Sobald ein Thread mit einer Tabelle fertig ist, übernimmt dieser automatisch die nächste nicht in Bearbeitung befindliche Datenbanktabelle bis alle Tabellen importiert sind.

Datenbanktabellen sind unterschiedlich groß. Je größer die Tabelle, desto länger dauert der Import. In ungünstigen Fällen wird eine sehr große Tabelle erst zum Schluss bearbeitet. Dann könnte ein Thread noch sehr viel Zeit benötigen, während alle anderen Threads bereits mit der Bearbeitung fertig sind. Dadurch wird der Importvorgang insgesamt unnötig verlängert.

Um diesen Umstand zu vermeiden und damit die Leistung des Imports zu steigern, können Sie die Datei „preferred.tables“ im Ordner ablegen, den Sie im ausführenden Befehl angegeben haben. Alternativ können Sie eine entsprechende Datei mit dem Parameter „preferred“ angeben. Mithilfe dieser Datei können Sie festlegen, dass die darin aufgeführten Dateien zuerst importiert werden. Die Datei sollte demnach die Namen der größten Tabellen auf der Datenbank enthalten.

Das folgende Beispiel gibt einen Hinweis über die größten Tabellen.

Inhalt der Datei „preferred.tables“:

LANGUAGEDEPENDENTDATAARCHIVE

FILECONTENTARCHIVE

MONITORINGDATA

LANGUAGEDEPENDENTTEXTARCHIVE

BLOB_STORAGE

VERSION

INVENTORYTRANSACTION

Czy ten artykuł był pomocny?