Zum Hauptinhalt springen
Version: 15.0

Automatisches Erstellen einer Datenbank

Dieses Kapitel führt Sie durch die notwendigen Schritte zur Erstellung einer neuen Datenbank für ADOGRC. Sie können die Datenbank automatisch mithilfe eines kurzlebigen Docker-Containers erstellen, der aus dem Applikations-Server-Image gestartet wird. Dieses automatisierte Verfahren führt das Management-Tool amain innerhalb des Containers aus, um Ihre Datenbankstruktur bereitzustellen. Im Anschluss wird der Container automatisch gestoppt und wieder entfernt.

Vorbereitung

Um eine BOC Management Office® Datenbank erstellen, benötigen Sie folgende Dinge:

  • Einen Datenbankserver mit einer unterstützten Version von Microsoft SQL Server oder PostgreSQL.

  • Einen Linux Rechner, oder das Windows Subsystem for Linux (WSL), mit installierter Docker-Engine (der Docker-Daemon) und Netzwerkzugriff auf den Datenbankserver sowie die BOC OCI Registry.

  • Zugangsdaten für den Datenbankserver mit der Berechtigung neue Datenbanken anzulegen.

  • Die Lizenzdatei, welche Sie von Ihrem ADOGRC-Kundenbetreuer erhalten haben.

  • Falls Sie nicht die ADOGRC Standard Anwendungsbibliothek verwenden, die kundenspezifische Anwendungsbibliothek, die Sie von Ihrem ADOGRC-Kundenbetreuer erhalten haben.

Hinweis

Hinweis für Kubernetes-Anwender: Dieses Verfahren hat sich in der Praxis bewährt und wird in ähnlicher Form von der BOC Group beim Betrieb von ADOGRC in der eigenen SaaS-Umgebung auf Basis von Kubernetes eingesetzt. Wenn Sie in Ihrer Kubernetes-Umgebung Docker nicht direkt zur Verfügung haben oder nutzen möchten, können Sie das unten beschriebene Vorgehen sinngemäß abwandeln (z. B. durch das Bereitstellen eines temporären Kubernetes-Pods oder eines Kubernetes-Jobs mit denselben Befehlsparameternern).

Vorbereiten der Daten

Erstellen Sie auf Ihrem Administrationsrechner ein Verzeichnis für die Daten, die zur Erstellung der Datenbank verwendet werden. In diesem Beispiel erstellen wir das Verzeichnis /opt/data/, und verwenden dieses und untergeordnete Verzeichnisse in den Variablen und Befehlen. Falls Sie ein anderes Verzeichnis verwenden, passen Sie die im Docker-Befehl verwendeten Verzeichnispfade entsprechend an.

  • Legen Sie die Datei license.xxl in das Verzeichnis /opt/data/license/

  • Falls Sie eine kundenspezifische Anwendungsbibliothek verwenden, legen Sie die Datei library.axl in das Verzeichnis /opt/data/library/

  • Erstellen Sie das Verzeichnis /opt/data/logs/. Da der Container am Ende der Ausführung automatisch entfernt wird, müssen die Log-Dateien in dieses Verzeichnis umgeleitet werden und so erhalten bleiben.

Hinweis

Um die Beispiele einfach zu halten, haben wir uns entschieden /opt/data als Arbeitsverzeichnis zu verwenden. Dieses Verzeichnis ist üblicherweise frei und erlaubt eine klare Angabe von absoluten Pfaden im Gegensatz zu einem Verzeichnis im Benutzerverzeichnis. Selbstverständlich können Sie jedes andere Verzeichnis verwenden, stellen Sie nur sicher, dass Sie bei Pfaden, welche sich auf Dateien im Container beziehen, den Pfad aus Sicht des Containers angeben.

Hinweis

Die Logs, welche im Laufe des Updates geschrieben werden, werden mit den Rechten eines Benutzers im Container geschrieben, welcher auf dem Host-Sytem nicht existiert. Es ist daher notwendig die Berechtigungen des Log Verzeichnisses auf dem Host so zu setzen, dass alle Schreibberechtigungen erhalten. Diese können Sie mit dem Befehlt chmod o+w /opt/data/logs hinzufügen.

Anmelden an der BOC OCI Container Registry

Um sich an der BOC OCI Container Registry anmelden zu können, benötigen Sie die Zugangsdaten, welche Sie von Ihrem ADOGRC-Kundenbetreuer erhalten haben. Für den Zugriff auf das Image für den temporären Container zur Erstellung der Datenbank ist ein Login erforderlich.

Der einfachste Weg ist über folgenden Standard Docker-Befehl: docker login <boc-registry>. Sie werden nacheinander aufgefordert Ihre Access ID ("Benutzername") und Ihr Access Token ("Passwort") einzugeben.

Achtung

Dieser Befehl speichert die Zugangsdaten im Klartext in der Docker Konfigurationsdatei (Standard: ~/.docker/config.json). Falls Sie die Datenbank für ein neues Deployment ADOGRC erstellt haben, können Sie diese Datei verwenden für die Anmeldung von Helm an der BOC OCI Registry und das Erstellen eines ImagePullSecret. Bitte stellen Sie aber sicher, dass diese Datei anschließend sicher gelöscht wird.

Hinweis

Bitte verwenden Sie Zugangsdaten nicht als Parameter im Befehl; die Bash-Historie speichert eine Liste an zuletzt eingegebenen Befehlen und würde damit indirekt die Zugangsdaten im Klartext anzeigen, wenn man die History aufruft..

Ausführen des Befehls zur Datenbankerstellung

Nachdem Sie das Datenverzeichnis, die Lizenzdatei und gegebenenfalls die kundenspezifische Anwendungsbibliothek vorbereitet haben, führen Sie den folgenden Befehl auf dem Linux-Rechner oder in der WSL-Umgebung aus, um die Datenbank zu erstellen.

docker run -it --rm \
--entrypoint /aserver/amain \
-v /opt/data/logs:/aserver/logs \
-v /opt/data:/opt/data \
<boc-registry> \
--mode install \
-db "<datenbank-server>:<datenbank-name>" \
-dt "<SQLServer|PostgreSQL>" \
-dbadmin "<datenbank-admin-name>" \
-dbadminpw "<datenbank-admin-passwort>" \
-lic "/opt/data/license/license.xxl" \
-lib "/aserver/data/default.axl" \
-prlang "<sprachcode>"

Der Befehl startet einen kurzlebigen Docker-Container unter Verwendung des Applikations-Server-Images von ADOGRC. Der Container führt amain aus, erstellt die Datenbank und wird nach Abschluss des Vorgangs automatisch beendet.

Die Datenbank ist nun erstellt und steht für die Verwendung bereit. Sie können für die Erstellung der Datenbank verwendete Dateien, die Sie nicht länger benötigen, nun löschen.

Info

Für Microsoft SQL Server verwendet amain standardmäßig verschlüsselte Datenbankverbindungen entsprechend dem Standardverhalten von Microsoft ODBC Driver 18 for SQL Server. Wenn Ihr SQL Server keine verschlüsselten Verbindungen verwendet, geben Sie zusätzlich --encrypt "optional" an. Wenn Ihr SQL Server verschlüsselte Verbindungen mit einem vom Client nicht als vertrauenswürdig eingestuften Serverzertifikat verwendet, müssen Sie gegebenenfalls zusätzlich --trustservercertificate "yes" angeben. Für PostgreSQL sind diese Parameter nicht erforderlich.

Falls der Befehl aufgrund eines SSL- oder Zertifikatsvalidierungsfehlers fehlschlägt, überprüfen Sie die SQL Server-Verschlüsselungseinstellungen und passen Sie diese Parameter entsprechend an.

Hinweis

ADOGRC 15.0 unterstützt keine Windows-Authentifizierung für Microsoft SQL Server-Datenbanken. Bitte verwenden Sie stattdessen die SQL Server-Authentifizierung.

Die wichtigsten Bestandteile des Befehls sind:

  • --entrypoint /aserver/amain: Führt das Datenbank-Management-Tool direkt aus, anstatt den Applikations-Server zu starten.

  • -v /opt/data/logs:/aserver/logs: Speichert die während der Datenbankerstellung erzeugten Log-Dateien im Verzeichnis /opt/data/logs auf dem Host-System.

  • -v /opt/data:/opt/data: Stellt das Datenverzeichnis einschließlich der Lizenzdatei und gegebenenfalls einer kundenspezifischen Anwendungsbibliothek für amain innerhalb des Containers bereit.

  • <boc-registry>: Die BOC OCI Registry, von welcher Docker das Container Image herunterladen kann.

Die datenbankspezifischen Befehlsparameter sind:

  • -db "<datenbank-server>:<datenbank-name>": Gibt den Datenbank-Server und den Datenbanknamen im Format <datenbank-server>:<datenbank-name> an.

  • -dt "<SQLServer|PostgreSQL>": Gibt den Datenbanktyp an. Unterstützte Werte sind PostgreSQL oder SQLServer.

  • -dbadmin "<datenbank-admin-name>": Gibt den Benutzernamen eines Datenbankadministrators mit Berechtigungen zum Erstellen von Datenbanken an.

  • -dbadminpw "<datenbank-admin-passwort>": Gibt das Passwort des Datenbankadministrators an.

Die installationsspezifischen Befehlsparameter sind:

  • -lic "/opt/data/license/license.xxl": Gibt das Verzeichnis und den Dateinamen der Lizenzdatei an, welche Sie von Ihrem BOC Kundenbetreuer erhalten haben.

  • -lib "/aserver/data/default.axl": Gibt die zu importierende Anwendungsbibliothek an. Wenn Sie die ADOGRC Standard Anwendungsbibliothek verwenden möchten, behalten Sie den Standardwert /aserver/data/default.axl bei. Um eine kundenspezifische Anwendungsbibliothek zu importieren, ersetzen Sie ihn durch das Verzeichnis und den Dateinamen Ihrer Bibliotheksdatei.

  • -prlang "<sprachcode>": Gibt die Primärsprache für die Erfassung von Modellen und Objekten. Die Primärsprache dient sowohl als Standard- als auch als Ersatzsprache, wenn ein Text nicht in anderen Sprachen verfügbar ist. Gängige Werte sind je nach Bibliothek und Lizenz en (Englisch), de (Deutsch), fr (Französisch) usw.

Standardbenutzer

Beim Erstellen der Datenbank wird automatisch ein Benutzer erstellt: Der Benutzer Admin (zu Beginn mit dem Passwort password) ist ein Super-Benutzer zur Administration von ADOGRC.