Strategy ONE

Instructions et résolution des problèmes de mise à niveau du référentiel MicroStrategy

Présentation de la mise à niveau du référentiel

Pour garantir la sécurité et la stabilité de la suite MicroStrategy , MicroStrategy Repository met à niveau PostgreSQL vers la version 14.7 dans la Mise à jour 2021 10.

Cette mise à niveau :

  • Fournit des résolutions aux failles de sécurité connues dans les versions antérieures de PostgreSQL

  • Empêche les utilisateurs de subir une panne du produit

  • Permet aux utilisateurs de tirer parti de fonctionnalités supplémentaires et des performances accrues à partir des dernières versions de PostgreSQL

Seul le référentiel PostgreSQL installé en local de MicroStrategy, et non un référentiel distant, est couvert dans ce workflow de mise à niveau.

La mise à niveau contient deux parties :

  • Mise à jour des binaires du serveur PostgreSQL

  • Migration des données

La mise à niveau ne change pas la structure de dossier PostgreSQL sous-jacente. Par conséquent, les composants qui utilisent PostgreSQL ne sont pas affectés.

Vous pouvez utiliser plusieurs utilitaires/outils pour sauvegarder le référentiel MicroStrategy prêt à l'emploi.

  1. Outil MicroStrategy Repository Administration

  2. Utilitaire de sauvegarde et de restauration natif PostgreSQL

    pg_dump, pg_dumpall

  3. Utilitaire de sauvegarde et de restauration PostgreSQL de marque MicroStrategy

    mstr_pg_dump, mstr_pg_dumpall

Bases de données dans le référentiel MicroStrategy

Pour un environnement récemment installé sur Windows et Linux, les bases de données suivantes sont installées dans le référentiel MicroStrategy prêt à l'emploi :

Database Name Installation de Windows Express Installation personnalisée sous Windows Linux Composant MicroStrategy correspondant
advdw_wh ü     Utilisé pour le projet de tutoriel MicroStrategy
mstr_collab ü ü ü MicroStrategy Collaboration Server
mstr_library ü ü ü Serveur MicroStrategy Library
operationaldm_wh ü     Utilisé pour le projet de tutoriel MicroStrategy
platform_analytics_wh ü ü ü Projet Platform Analytics
poc_metadata ü     Métadonnées du tutoriel
tutorial_wh ü     Entrepôt du tutoriel

Pour une installation Linux et une installation personnalisée Windows, seul l'entrepôt correspondant aux composants sélectionnés est installé dans le référentiel MicroStrategy . Par exemple, si vous n'installez pas de composant Platform Analytics, alors platform_analytics_wh ne se trouve pas dans le référentiel MicroStrategy .

Outil MicroStrategy Repository Administration

L'outil MicroStrategy Repository Administration fournit aux utilisateurs de MicroStrategy une interface de ligne de commande pour sauvegarder, restaurer et aspirer les bases de données en fonction des informations de base de données dans DBAdminConfig.yaml.

Pour plus d'informations sur l'outil MicroStrategy Repository Administration, reportez-vous à Administration du référentiel.

L'opération de sauvegarde de l'outil MicroStrategy Repository Administration est basée sur les informations de la base de données dans DBAdminConfig.yaml. Pour sauvegarder toutes les bases de données dans le référentiel MicroStrategy , ajoutez les noms des bases de données à DBAdminConfig.yaml. Seuls les noms de bases de données répertoriés dans DBAdminConfig.yaml sont sauvegardés par cet outil.

Par défaut, l'utilisateur de la base de données mstr et son mot de passe crypté sont utilisés pour accéder aux bases de données avec cet outil. Vous pouvez les trouver dans DBAdminConfig.yaml. Si le mot de passe est modifié, l'outil peut ne pas fonctionner comme prévu.

Utilitaire de sauvegarde et de restauration natif PostgreSQL

L'utilitaire de sauvegarde et de restauration natif PostgreSQL peut être utilisé pour sauvegarder et restaurer le référentiel MicroStrategy . Il est fourni prêt à l'emploi avec le référentiel MicroStrategy .

  • pg_dump Vide une base de données unique.

    Exemple :

    Copier
    # To dump a database called mydb into an SQL-script file:
    pg_dump mydb > db.sql
  • pg_dumpall Sauvegarde toutes les bases de données dans un cluster donné et conserve les données à l'échelle du cluster telles que les définitions des rôles et des espaces de table.

    Exemple :

    Copier
    # To dump all databases
    pg_dumpall > db.out
  • Pour restaurer, utilisez psql ou pg_restore.

    Exemple :

    Copier
    # 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

Comme il existe de nombreux paramètres de vidage pour l'option de sauvegarde, vous pouvez choisir de les utiliser en fonction de vos propres besoins.

Pour obtenir la liste des paramètres ainsi que des exemples d'utilisation, reportez-vous à pg_dump ,pg_dumpall, et pg_restore.

Fenêtre

Chemin par défaut : C:\Program Files (x86)\Common Files\MicroStrategy\Repository\pgsql\bin

Exemple :

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

Linux

Chemin par défaut : /opt/mstr/MicroStrategy/install/Repository/postgres11/bin

Avant d'exécuter les utilitaires sur Linux, vous devez :

  • Source de setenv.sh fichier sous /opt/mstr/MicroStrategy/install/Repository/bin.

    Dans le cas contraire, l'erreur suivante s'affichera :

    Erreur lors du chargement des Library partagées : libpq.so.5 : impossible d'ouvrir le fichier objet partagé : Aucun fichier ou répertoire de ce type.

  • Déclarez la socket de domaine Unix pour utiliser /tmp , car l'utilitaire de retour natif PostgreSQL utilise le /var/run/postgresql/ chemin par défaut.

    Si le chemin d'accès n'est pas déclaré, l'erreur suivante se produit :

    pg_dump: échec de la connexion [archiveur (db)] à la base de données « mstr » : impossible de se connecter au serveur : Aucun fichier ou répertoire de ce type. Le serveur s'exécute-t-il en local et accepte-t-il les connexions sur le socket de domaine Unix « /var/run/postgresql/.s.PGSQL.5432 » ?

Exemple :

Copier
#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

Utilitaire de sauvegarde et de restauration PostgreSQL de marque MicroStrategy

MicroStrategy propose également un utilitaire de sauvegarde et de restauration « de marque » sous Linux. Cet utilitaire est basé sur l'utilitaire de sauvegarde et de restauration natif de PostgreSQL. Vous n'avez pas besoin de source setenv.sh et déclarez la socket de domaine Unix avec cet outil.

Étant donné que cet utilitaire est basé sur un utilitaire de sauvegarde/restauration natif PostgreSQL, les paramètres utilisés avec l'utilitaire de sauvegarde/restauration natif PostgreSQL peuvent également être utilisés.

Chemin par défaut : /opt/mstr/MicroStrategy/install/Repository/bin

Exemple :

Copier
#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

Mettre à niveau le référentiel MicroStrategy via le programme d'installation de plateforme

Linux

  1. Démarrez le programme d'installation et sélectionnez Mettre à niveau pour mettre à niveau votre version locale de MicroStrategy vers 2021 Update 10.

  2. Si MicroStrategy Platform Analytics a été sélectionné lors d'une installation précédente, il est automatiquement sélectionné dans Sélectionner les composants. Vérifiez les composants que vous souhaitez mettre à niveau et cliquez sur Suivant(s).

  3. Si les informations de connexion au référentiel MicroStrategy ont changé depuis la dernière installation, vous êtes invité à fournir le nom d'utilisateur, le mot de passe et le port de connexion à la base de données. Renseignez les champs et cliquez sur Suivant(s).

  4. Vous êtes invité à sauvegarder le référentiel avant de continuer. Vérifier sections ci-dessus pour obtenir des informations sur la sauvegarde et la restauration de votre référentiel. Pour continuer la mise à niveau, vous devez confirmer que vous avez sauvegardé votre référentiel en saisissant mise à niveau. Cliquez sur Suivant.

  5. Le programme d'installation vérifie s'il y a suffisamment d'espace disque disponible sur le système. Sinon, les exigences manquantes sont répertoriées et la mise à niveau est annulée.

  6. S'il y a suffisamment d'espace disque, le processus de mise à niveau du référentiel ainsi que des autres composants MicroStrategy se poursuit. Cependant, si la mise à niveau du référentiel échoue, toute la mise à niveau est annulée et l'écran suivant apparaît.

    Cliquez sur le lien pour afficher les étapes détaillées nécessaires à l'analyse et à la résolution des causes profondes. Une fois les problèmes résolus, réexécutez l'installation pour terminer la mise à niveau.

Vérifier install.log dans la logs dossier (Exemple : /var/log/MicroStrategy/) pour voir si cela inclut les journaux de mise à niveau de PostgreSQL affichés ci-dessous. S'ils sont inclus, la mise à niveau est réussie

Exemple de journal de mise à niveau de PostgreSQL :

Copier
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. 

Fenêtre

  1. Démarrez le programme d'installation pour mettre à niveau votre version locale de MicroStrategy vers 2021 Update 10.

  2. Si Référentiel MicroStrategy a été sélectionné lors d'une installation précédente, il est automatiquement sélectionné dans Sélectionner des composants. Vérifiez les composants que vous souhaitez mettre à niveau et cliquez sur Suivant(s).

  3. Si les informations de connexion au référentiel MicroStrategy ont changé depuis la dernière installation, vous êtes invité à fournir le nom d'utilisateur, le mot de passe et le port de connexion à la base de données. Renseignez les champs et cliquez sur Suivant(s).

  4. Vous êtes invité à sauvegarder le référentiel avant de continuer. Vérifier sections ci-dessus pour obtenir des informations sur la sauvegarde et la restauration de votre référentiel. Pour continuer la mise à niveau, vous devez confirmer que vous avez sauvegardé votre référentiel en saisissant mise à niveau. Cliquez sur Suivant.

  5. Le programme d'installation vérifie s'il y a suffisamment d'espace disque disponible sur le système. Si ce n'est pas le cas, les exigences en matière d'espace sont répertoriées et la mise à niveau est annulée.

  6. S'il y a suffisamment d'espace disque, le processus de mise à niveau du référentiel ainsi que des autres composants MicroStrategy se poursuit. Cependant, si la mise à niveau du référentiel échoue, toute la mise à niveau est annulée et l'écran suivant apparaît.

    Cliquez sur le lien pour afficher les étapes détaillées nécessaires à l'analyse et à la résolution des causes profondes. Une fois les problèmes résolus, réexécutez l'installation pour terminer la mise à niveau.

Vérifier install.log dans le dossier d'installation MicroStrategy (Exemple : C:\Program Files (x86)\Common Files\MicroStrategy) pour voir si cela inclut les journaux de mise à niveau de PostgreSQL affichés ci-dessous. S'ils sont inclus, la mise à niveau est réussie

Exemple de journal de mise à niveau de PostgreSQL :

Copier
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

Dépannage des échecs de mise à niveau de PostgreSQL

Si la mise à niveau de PostgreSQL échoue, vérifiez install.log pour trouver la cause première.

Certains scénarios d'échec typiques pour la mise à niveau de PostgreSQL incluent :

Espace disque insuffisant

La mise à niveau du référentiel nécessite de l'espace disque supplémentaire pour la sauvegarde, les binaires PostgreSQL, et la migration des bases de données.

Le programme d'installation vérifie s'il y a suffisamment d'espace disque disponible sur le système. Si ce n'est pas le cas, le processus de mise à niveau est interrompu. L'avertissement suivant s'affiche :

La mise à niveau ne peut pas continuer, car l'espace disque est insuffisant sur cet ordinateur.

Incompatibilité de mot de passe

Le programme d'installation MicroStrategy doit se connecter à l'ancien référentiel PostgreSQL à l'aide du super utilisateur qui a effectué l'installation initiale de PostgreSQL. Si le mot de passe a changé et n'est pas fourni correctement pendant la mise à niveau, le processus de mise à niveau peut échouer.

Vous devez fournir le mot de passe super utilisateur correct pour vous connecter à l'ancienne base de données PostgreSQL.

Problèmes d'autorisation d'accès

L'utilisateur qui effectue la mise à niveau ne dispose peut-être pas des autorisations nécessaires pour accéder à certains fichiers ou répertoires requis pour la mise à niveau.

L'utilisateur correct pour exécuter l'installation et la mise à niveau du référentiel MicroStrategy est le super utilisateur.

Paramètres de configuration incorrects

Pendant le processus de mise à niveau, les paramètres de configuration pour PostgreSQL doivent peut-être être mis à jour. Si les paramètres sont incorrects, le processus de mise à niveau peut échouer.

Un message d'erreur est consigné pour indiquer que le fichier de configuration n'est pas valide, car il contient des paramètres non valides. Vous devez corriger la configuration non valide et réexécuter l'installation.

Corruption des données

La corruption des données peut se produire pendant le processus de mise à niveau en cas d'erreurs ou de problèmes avec les données migrées.

Un message d'erreur est consigné pour indiquer que le fichier de données de la base de données est corrompu. Vous devez corriger l'erreur de données en restaurant les données à partir de la sauvegarde et en exécutant l'installation une nouvelle fois.

Scénarios de basculement et restauration

Si les fichiers de données PostgreSQL sont interrompus pendant la mise à niveau, vous devrez peut-être restaurer les bases de données à partir des sauvegardes effectuées avant de commencer la mise à niveau.

  • Si les sauvegardes ont été effectuées à l'aide de l'outil MicroStrategy Repository Administration, vous devez utiliser le même outil pour les restaurer. Suivre les étapes dans Administration du référentiel pour effectuer la restauration.

  • Si les sauvegardes ont été effectuées à l'aide de l'utilitaire de sauvegarde natif PostgreSQL, MicroStrategy recommande d'utiliser l'utilitaire de restauration natif PostgreSQL pour effectuer la restauration.

Fenêtre

Chemin par défaut : C:\Program Files (x86)\Common Files\MicroStrategy\Repository\pgsql\bin

Exemple :

Copier
# 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

Chemin par défaut : /opt/mstr/MicroStrategy/install/Repository/bin

Avant d'exécuter l'utilitaire de restauration sur Linux, vous devez :

  • Source de setenv.sh fichier sous /opt/mstr/MicroStrategy/install/Repository/bin.

    Dans le cas contraire, l'erreur suivante s'affichera :

    Erreur lors du chargement des Library partagées : libpq.so.5 : impossible d'ouvrir le fichier objet partagé : Aucun fichier ou répertoire de ce type.

  • Déclarez la socket de domaine Unix pour utiliser /tmp , car l'utilitaire de retour natif PostgreSQL utilise le /var/run/postgresql/ chemin par défaut.

    Si le chemin d'accès n'est pas déclaré, l'erreur suivante se produit :

    pg_dump: échec de la connexion [archiveur (db)] à la base de données « mstr » : impossible de se connecter au serveur : Aucun fichier ou répertoire de ce type. Le serveur s'exécute-t-il en local et accepte-t-il les connexions sur le socket de domaine Unix « /var/run/postgresql/.s.PGSQL.5432 » ?

Exemple :

Copier
# 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