Strategy ONE

Upgrade-Richtlinien für MicroStrategy Repository und Fehlerbehebung für MicroStrategy Repository

Einführung in das Repository-Upgrade

Um die Sicherheit und Stabilität der MicroStrategy Reihe zu gewährleisten, aktualisiert das MicroStrategy Repository in 2021 Update 10 PostgreSQL auf Version 14.7.

Dieses Upgrade:

  • Bietet Lösungen für ausgewählte Sicherheitslücken in älteren Versionen von PostgreSQL

  • Verhindert, dass es bei Benutzern einen Produktausfall gibt

  • Ermöglicht Benutzern die Vorteile zusätzlicher Funktionen und gesteigerter Leistung der neuesten PostgreSQL-Freigaben

Nur lokal installiertes PostgreSQL von MicroStrategy, kein Remote-Repository, wird in diesem Upgrade-Workflow behandelt.

Das Upgrade besteht aus zwei Teilen:

  • Aktualisierung der PostgreSQL-Server-Binärdateien

  • Datenmigration

Durch das Upgrade wird die zugrunde liegende PostgreSQL-Ordnerstruktur nicht geändert. Komponenten, die PostgreSQL verwenden, sind daher nicht betroffen.

Es gibt mehrere Dienstprogramme/ Tools, die Sie zum Backup des standardmäßigen MicroStrategy Repository verwenden können.

  1. MicroStrategy Repository Administration ToolMicroStrategy Repository Administration Tool

  2. Natives PostgreSQL-Dienstprogramm zur Sicherung und Wiederherstellung

    pg_dump, pg_dumpall

  3. PostgreSQL-Dienstprogramm zur Sicherung und Wiederherstellung unter der Branding-Funktion von MicroStrategy

    mstr_pg_dump, mstr_pg_dumpall

Datenbanken im MicroStrategy Repository

In einer neu installierten Umgebung unter Windows und Linux sind die folgenden Datenbanken im standardmäßigen MicroStrategy Repository installiert:

Database Name Windows Express-Installation Benutzerdefinierte Windows-Installation Linux entsprechende MicroStrategy Komponente
advdw_wh ü     Wird für das MicroStrategy Tutorial-Projekt verwendet
mstr_collab ü ü ü MicroStrategy Collaboration Server
mstr_library ü ü ü MicroStrategy Library Server
operationaldm_wh ü     Wird für das MicroStrategy Tutorial-Projekt verwendet
platform_analytics_wh ü ü ü Platform Analytics-Projekt
poc_metadata ü     Tutorial-Metadaten
tutorial_wh ü     Tutorial Warehouse

Bei einer Linux-Installation und einer benutzerdefinierten Windows-Installation wird nur das entsprechende Warehouse der ausgewählten Komponenten im MicroStrategy Repository installiert. Wenn Sie beispielsweise keine Platform Analytics-Komponente installieren, dann platform_analytics_wh befindet sich nicht im MicroStrategy Repository.

MicroStrategy Repository Administration Tool

Das Administrationstool für das MicroStrategy Repository bietet MicroStrategy -Benutzern eine Befehlszeilenoberfläche zum Sichern, Wiederherstellen und Leeren von Datenbanken basierend auf Datenbankinformationen in DBAdminConfig.yaml.

Weitere Informationen zum MicroStrategy Repository Administration Tool finden Sie unter Repository-Administration.

Der Sicherungsvorgang des MicroStrategy Repository Administration Tools basiert auf den Datenbankinformationen in DBAdminConfig.yaml. Um eine Sicherung aller Datenbanken im MicroStrategy Repository zu erstellen, fügen Sie die Datenbanknamen zu hinzu DBAdminConfig.yaml. Nur die Datenbanknamen, die in aufgelistet sind DBAdminConfig.yaml werden von diesem Tool gesichert.

Standardmäßig werden der Datenbankbenutzer „mstr“ und sein gesichertes Kennwort verwendet, um mit diesem Tool auf Datenbanken zuzugreifen. Sie finden sie in DBAdminConfig.yaml. Wenn das Kennwort geändert wird, funktioniert das Tool möglicherweise nicht wie erwartet.

Natives PostgreSQL-Dienstprogramm zur Sicherung und Wiederherstellung

Das native PostgreSQL-Dienstprogramm zur Sicherung und Wiederherstellung kann zum Sichern und Wiederherstellen des MicroStrategy Repository verwendet werden. Wird standardmäßig mit MicroStrategy Repository geliefert.

  • pg_dump Erstellt eine Dump-Datei für eine einzelne Datenbank.

    Beispiel:

    Kopieren
    # To dump a database called mydb into an SQL-script file:
    pg_dump mydb > db.sql
  • pg_dumpall Sichert alle Datenbanken in einem bestimmten Cluster und erhält Cluster-weite Daten wie Rollen- und Tablespace-Definitionen.

    Beispiel:

    Kopieren
    # To dump all databases
    pg_dumpall > db.out
  • Zum Wiederherstellen verwenden psql oder pg_restore.

    Beispiel:

    Kopieren
    # To reload pg_dump file into a (freshly created) database named newdb
    psql -d newdb -f db.sql

    # To restore pg_dumpall file db.out
    psql -f db.out postgres

Da es für die Sicherungsoption viele Dump-Parameter gibt, können Sie diese je nach Bedarf verwenden.

Die Liste der Parameter sowie deren Verwendung finden Sie unter pg_dump ,pg_dumpall, und pg_restore.

Windows

Standardpfad: C:\Program Files (x86)\Common Files\MicroStrategy\Repository\pgsql\bin

Beispiel:

Kopieren
 #dump mstr_collab
 pg_dump -d mstr_collab -Umstr > mstr_collab.sql
 
 #dump the whole postgres cluster
 pg_dumpall -Umstr > postgres.sql

Linux

Standardpfad: /opt/mstr/MicroStrategy/install/Repository/postgres11/bin

Bevor Sie die Dienstprogramme unter Linux ausführen, müssen Sie:

  • Quelle der setenv.sh Datei unter /opt/mstr/MicroStrategy/install/Repository/bin.

    Andernfalls wird der folgende Fehler angezeigt:

    Fehler beim Laden der freigegebenen Bibliotheken: libpq.so.5: Die freigegebene Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein Verzeichnis.

  • Deaktivieren Sie den zu verwendenden Unix-Domänen-Storch /tmp Pfad, da das native PostgreSQL-Back-Dienstprogramm den verwendet /var/run/postgresql/ Standardpfad.

    Wenn der Pfad nicht delegiert ist, tritt der folgende Fehler auf:

    pg_dump: [archerer (db)] Verbindung zur Datenbank „mstr“ fehlgeschlagen: Verbindung zum Server konnte nicht hergestellt werden: Keine solche Datei oder kein Verzeichnis. Wird der Server lokal ausgeführt und akzeptiert er Verbindungen am Unix-Domänen-Sucket „/vari/Run/Postgresql/.s.pgSQL.5432“?

Beispiel:

Kopieren
#source setenv.sh
source /opt/mstr/MicroStrategy/install/Repository/bin/setenv.sh

#declare unix-domain socket and use pg_dump to dump metadata
cd /opt/mstr/MicroStrategy/install/Repository/postgres11/bin
./pg_dump -h /tmp -d poc_metadata -Umstr > md.dump

#dump the whole postgres cluster
./pg_dumpall -h /tmp -Umstr > postgres.dump

PostgreSQL-Dienstprogramm zur Sicherung und Wiederherstellung unter der Branding-Funktion von MicroStrategy

MicroStrategy bietet außerdem ein „Marken“-Dienstprogramm zur Sicherung und Wiederherstellung für Linux. Dieses Dienstprogramm basiert auf dem nativen PostgreSQL-Dienstprogramm zum Sichern und Wiederherstellen. Sie müssen keine Quelle angeben setenv.sh und demonstrieren Sie den Unix-Domänen-Sucket mit diesem Tool.

Da dieses Dienstprogramm auf einem nativen PostgreSQL-Dienstprogramm zur Sicherung/wiederherstellung aufbaut, können die mit dem nativen PostgreSQL-Dienstprogramm zur Sicherung/wiederherstellung verwendeten Parameter auch verwendet werden.

Standardpfad: /opt/mstr/MicroStrategy/install/Repository/bin

Beispiel:

Kopieren
#dump metadata
cd /opt/mstr/MicroStrategy/install/Repository/bin
./mstr_pg_dump -d poc_metadata -Umstr > md.dump

#dump the whole postgres cluster
./mstr_pg_dumpall -Umstr > postgres.dump

Aktualisieren Sie das MicroStrategy Repository über den Platform Installer

Linux

  1. Installationsprogramm starten und auswählen Aktualisieren, um ein Upgrade Ihrer lokalen MicroStrategy Version auf 2021 Update 10 zu aktualisieren.

  2. Wenn MicroStrategy Platform Analytics wurde in einer vorherigen Installation ausgewählt, wird sie automatisch in ausgewählt Wählen Sie Komponenten aus. Verifizieren Sie die Komponenten, die Sie aktualisieren möchten, und klicken Sie auf Nächster.

  3. Wenn sich die Verbindungsinformationen zum MicroStrategy Repository seit der letzten Installation geändert haben, werden Sie aufgefordert, den Benutzernamen, das Kennwort und den Port für die Datenbankanmeldung anzugeben. Füllen Sie die Felder aus und klicken Sie auf Nächster.

  4. Sie werden aufgefordert, eine Sicherung des Repositorys anzulegen, bevor Sie fortfahren. Prüfen Sie die Abschnitte oben für Informationen zum Sichern und Wiederherstellen Ihres Repositorys. Um mit dem Upgrade fortzufahren, müssen Sie bestätigen, dass Sie eine Sicherung Ihres Repositorys vorgenommen haben, indem Sie eingeben aktualisieren. Klicken Sie auf Weiter.

  5. Das Installationsprogramm überprüft, ob auf dem System ausreichend freier Festplattenspeicher verfügbar ist. Wenn nicht, werden die fehlenden Anforderungen aufgelistet und das Upgrade wird abgebrochen.

  6. Wenn ausreichend Festplattenspeicher vorhanden ist, wird der Upgrade-Vorgang für das Repository und andere MicroStrategy Komponenten fortgesetzt. Wenn das Repository-Upgrade jedoch fehlschlägt, wird das gesamte Upgrade abgebrochen und der folgende Bildschirm wird angezeigt.

    Klicken Sie auf den Link, um detaillierte Schritte zur Analyse und Behebung der Ursachen anzuzeigen. Führen Sie die Installation erneut aus, sobald die Probleme behoben sind, um das Upgrade abzuschließen.

Prüfen install.log im logs Ordner (Beispiel: /var/log/MicroStrategy/), um zu sehen, ob sie die unten gezeigten PostgreSQL-Upgradeprotokolle enthält. Wenn sie eingeschlossen sind, ist das Upgrade erfolgreich

Beispiel für ein PostgreSQL-Upgradeprotokoll:

Kopieren
12 Apr 2023, 07:29:41 AM:INFO: Configuring pg_hba.conf file completed
12 Apr 2023, 07:29:49 AM:INFO: Successfully stopped MicroStrategy Repository Administration.
12 Apr 2023, 07:29:49 AM:INFO: Successfully stopped PostgreSQL.
12 Apr 2023, 07:29:49 AM:INFO: Backing up PostgreSQL bin files.
12 Apr 2023, 07:29:49 AM:INFO: Backing up pgdata files.
12 Apr 2023, 07:29:49 AM:INFO: Backing up Repository Administration Tool files.
12 Apr 2023, 07:29:49 AM:INFO: MicroStrategy Repository bin files and pgdata backup completed.
12 Apr 2023, 07:29:49 AM:INFO: Extracting new postgres binary files.
12 Apr 2023, 07:29:50 AM:INFO: Installing Repository files...
12 Apr 2023, 07:29:50 AM:INFO: Copying fileset RepositoryLinuxRepositoryInstallPath files...
12 Apr 2023, 07:29:56 AM:INFO: Initializing PostgreSQL
12 Apr 2023, 07:29:57 AM:INFO: Configuring postgresql.conf file.
12 Apr 2023, 07:29:57 AM:FINE: Using port 54302 temporarily for PostgreSQL upgrade.
12 Apr 2023, 07:29:57 AM:INFO: Configuring postgresql.conf file completed
12 Apr 2023, 07:29:57 AM:INFO: Checking postgres upgrade compatibility.
12 Apr 2023, 07:29:58 AM:INFO: Upgrade compatibility check has been passed.
12 Apr 2023, 07:29:58 AM:INFO: Starting PostgreSQL upgrade.
12 Apr 2023, 07:30:04 AM:INFO: PostgreSQL upgrade completed.
12 Apr 2023, 07:30:04 AM:INFO: Restoring old cluster's configuration files.
12 Apr 2023, 07:30:04 AM:INFO: Restoring pg_hba.conf file.
12 Apr 2023, 07:30:04 AM:INFO: Restoring pg_hba.conf file completed.
12 Apr 2023, 07:30:04 AM:INFO: Restoring postgresql.conf file.
12 Apr 2023, 07:30:04 AM:INFO: Restoring postgresql.conf file completed.
12 Apr 2023, 07:30:04 AM:INFO: Checking MicroStrategy Repository status
12 Apr 2023, 07:30:05 AM:INFO: Started PostgreSQL.
12 Apr 2023, 07:30:05 AM:INFO: Cleaning up files under Repository. 

Windows

  1. Starten Sie das Installationsprogramm, um ein Upgrade Ihrer lokalen MicroStrategy Version auf 2021 Update 10 durchzuführen.

  2. Wenn MicroStrategy Repository wurde in einer vorherigen Installation ausgewählt, wird sie automatisch in ausgewählt Wählen Sie Komponenten aus. Verifizieren Sie die Komponenten, die Sie aktualisieren möchten, und klicken Sie auf Nächster.

  3. Wenn sich die Verbindungsinformationen zum MicroStrategy Repository seit der letzten Installation geändert haben, werden Sie aufgefordert, den Benutzernamen, das Kennwort und den Port für die Datenbankanmeldung anzugeben. Füllen Sie die Felder aus und klicken Sie auf Nächster.

  4. Sie werden aufgefordert, eine Sicherung des Repositorys anzulegen, bevor Sie fortfahren. Prüfen Sie die Abschnitte oben für Informationen zum Sichern und Wiederherstellen Ihres Repositorys. Um mit dem Upgrade fortzufahren, müssen Sie bestätigen, dass Sie eine Sicherung Ihres Repositorys vorgenommen haben, indem Sie eingeben aktualisieren. Klicken Sie auf Weiter.

  5. Das Installationsprogramm überprüft, ob auf dem System ausreichend freier Festplattenspeicher verfügbar ist. Wenn nicht, wird der Speicherplatzbedarf aufgelistet und das Upgrade wird abgebrochen.

  6. Wenn ausreichend Festplattenspeicher vorhanden ist, wird der Upgrade-Vorgang für das Repository und andere MicroStrategy Komponenten fortgesetzt. Wenn das Repository-Upgrade jedoch fehlschlägt, wird das gesamte Upgrade abgebrochen und der folgende Bildschirm wird angezeigt.

    Klicken Sie auf den Link, um detaillierte Schritte zur Analyse und Behebung der Ursachen anzuzeigen. Führen Sie die Installation erneut aus, sobald die Probleme behoben sind, um das Upgrade abzuschließen.

Prüfen install.log im Installationsordner von MicroStrategy (Beispiel: C:\Program Files (x86)\Common Files\MicroStrategy), um zu sehen, ob sie die unten gezeigten PostgreSQL-Upgradeprotokolle enthält. Wenn sie eingeschlossen sind, ist das Upgrade erfolgreich

Beispiel für ein PostgreSQL-Upgradeprotokoll:

Kopieren
Performing Consistency Checks

-----------------------------
Checking cluster versions                                   ok
Checking database user is the install user                  ok
Checking database connection settings                       ok
Checking for prepared transactions                          ok
Checking for reg* data types in user tables                 ok
Checking for contrib/isn with bigint-passing mismatch       ok
Checking for tables WITH OIDS                               ok
Checking for invalid "sql_identifier" user columns          ok
Creating dump of global objects                             ok
Creating dump of database schemas
                                                            ok
Checking for presence of required libraries                 ok
Checking database user is the install user                  ok
Checking for prepared transactions                          ok

If pg_upgrade fails after this point, you must re-initdb the
new cluster before continuing.

Performing Upgrade
------------------
Analyzing all rows in the new cluster                       ok
Freezing all rows in the new cluster                        ok
Deleting files from new pg_xact                             ok
Copying old pg_xact to new server                           ok
Setting next transaction ID and epoch for new cluster       ok
Deleting files from new pg_multixact/offsets                ok
Copying old pg_multixact/offsets to new server              ok
Deleting files from new pg_multixact/members                ok
Copying old pg_multixact/members to new server              ok
Setting next multixact ID and offset for new cluster        ok
Resetting WAL archives                                      ok
Setting frozenxid and minmxid counters in new cluster       ok
Restoring global objects in the new cluster                 ok
Restoring database schemas in the new cluster
                                                            ok
Adding ".old" suffix to old global/pg_control               ok

If you want to start the old cluster, you will need to remove
the ".old" suffix from C:/Program Files (x86)/Common Files/MicroStrategy/Repository/pgsql/PGDATA/global/pg_control.old.
Because "link" mode was used, the old cluster cannot be safely
started once the new cluster has been started.

Linking user relation files
                                                            ok
Setting next OID for new cluster                            ok
Sync data directory to disk                                 ok
Creating script to analyze new cluster                      ok
Creating script to delete old cluster                       ok

Upgrade Complete
----------------
Optimizer statistics are not transferred by pg_upgrade so,
once you start the new server, consider running:
    analyze_new_cluster.bat

Running this script will delete the old cluster's data files:
    delete_old_cluster.bat

Fehlerbehebung bei PostgreSQL-Upgrade-Fehlern

Wenn das PostgreSQL-Upgrade fehlschlägt, überprüfen Sie es install.log , um die Ursache zu finden.

Typische Fehlerszenarien für das PostgreSQL-Upgrade sind:

Unzureichender Festplattenspeicherplatz

Ein Upgrade des Repositorys erfordert zusätzlichen Festplattenspeicher für die Sicherung, die PostgreSQL-Binärdateien und für die Migration der Datenbanken.

Das Installationsprogramm überprüft, ob auf dem System ausreichend freier Festplattenspeicher verfügbar ist. Andernfalls wird der Upgrade-Vorgang abgebrochen und die folgende Warnung angezeigt:

Das Upgrade kann nicht fortgesetzt werden, da dieser Computer nicht über ausreichend Festplattenspeicher verfügt.

Kennwort stimmt nicht überein

Das MicroStrategy Installationsprogramm muss eine Verbindung zum alten PostgreSQL-Repository mithilfe des Power-Users herstellen, der die erste PostgreSQL-Installation durchgeführt hat. Wenn das Kennwort geändert und während des Upgrades nicht korrekt angegeben wurde, kann der Upgrade-Vorgang fehlschlagen.

Sie müssen das richtige Power-User-Kennwort eingeben, um eine Verbindung zur alten PostgreSQL-Datenbank herzustellen.

Probleme mit Zugriffsberechtigungen

Der Benutzer, der das Upgrade durchführt, verfügt u. U. nicht über die erforderlichen Berechtigungen, um auf bestimmte Dateien oder Verzeichnisse zuzugreifen, die für das Upgrade erforderlich sind.

Der richtige Benutzer, um die MicroStrategy Installation und das Upgrade des Repositorys auszuführen, ist der Power-User.

Falsche Konfigurationseinstellungen

Während des Upgrade-Vorgangs müssen die Konfigurationseinstellungen für PostgreSQL möglicherweise aktualisiert werden. Wenn die Einstellungen falsch sind, kann der Upgrade-Vorgang fehlschlagen.

Es wird eine Fehlermeldung protokolliert, die darauf hinweist, dass die Konfigurationsdatei ungültig ist, da sie ungültige Einstellungen enthält. Sie müssen die ungültige Konfiguration korrigieren und die Installation erneut ausführen.

Datenbeschädigung

Während des Upgrade-Vorgangs kann es zu Datenbeschädigungen kommen, wenn bei den migrierten Daten Fehler oder Probleme aufgetreten sind.

Es wird eine Fehlermeldung protokolliert, die darauf hinweist, dass die Datendatei für die Datenbank beschädigt ist. Sie müssen den Datenfehler beheben, indem Sie Daten aus der Sicherung wiederherstellen und die Installation erneut ausführen.

Failover-Szenarien und Wiederherstellung

Wenn PostgreSQL-Datendateien während des Upgrades unterbrochen werden, müssen Sie möglicherweise die Datenbanken anhand der vor dem Start des Upgrades vorgenommenen Sicherungen wiederherstellen.

  • Wenn die Sicherungen mit dem MicroStrategy Repository Administration Tool durchgeführt wurden, müssen Sie das gleiche Tool verwenden, um sie wiederhergestellt zu werden. Folgen Sie den Schritten in Repository-Administration, um die Wiederherstellung durchzuführen.

  • Wenn Sicherungen mit dem nativen PostgreSQL-Sicherungsdienstprogramm durchgeführt wurden, empfiehlt MicroStrategy , für die Wiederherstellung das native PostgreSQL-Restore-Dienstprogramm zu verwenden.

Windows

Standardpfad: C:\Program Files (x86)\Common Files\MicroStrategy\Repository\pgsql\bin

Beispiel:

Kopieren
# To restore platform_analytics_wh from dump file with creating same database name
pg_restore -d postgres -Umstr --clean --create platform_analytics_wh.dump

# To restore mstr_collab to the new created database from dump file
psql -Umstr -d mstr_collab < mstr_collab.sql

# To restore pg_dumpall file all_dbs.out
psql -Umstr -f all_dbs.out postgres

Linux

Standardpfad: /opt/mstr/MicroStrategy/install/Repository/bin

Bevor Sie das Wiederherstellungsdienstprogramm unter Linux ausführen, müssen Sie:

  • Quelle der setenv.sh Datei unter /opt/mstr/MicroStrategy/install/Repository/bin.

    Andernfalls wird der folgende Fehler angezeigt:

    Fehler beim Laden der freigegebenen Bibliotheken: libpq.so.5: Die freigegebene Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein Verzeichnis.

  • Deaktivieren Sie den zu verwendenden Unix-Domänen-Storch /tmp Pfad, da das native PostgreSQL-Back-Dienstprogramm den verwendet /var/run/postgresql/ Standardpfad.

    Wenn der Pfad nicht delegiert ist, tritt der folgende Fehler auf:

    pg_dump: [archerer (db)] Verbindung zur Datenbank „mstr“ fehlgeschlagen: Verbindung zum Server konnte nicht hergestellt werden: Keine solche Datei oder kein Verzeichnis. Wird der Server lokal ausgeführt und akzeptiert er Verbindungen am Unix-Domänen-Sucket „/vari/Run/Postgresql/.s.pgSQL.5432“?

Beispiel:

Kopieren
# To restore database platform_analytics_wh
cd /opt/mstr/MicroStrategy/install/Repository/bin
./mstr_pg_restore -d platform_analytics_wh -Umstr < platform_analytics_wh.dump