MicroStrategy ONE

Risoluzione dei problemi e linee guida per l'aggiornamento MicroStrategy Repository

Introduzione all'aggiornamento del repository

Per garantire la sicurezza e la stabilità continue della suite MicroStrategy , MicroStrategy Repository effettua l'upgrade di PostgreSQL alla versione 14.7 nell'Update 10 del 2021.

Questo aggiornamento:

  • Fornisce risoluzioni per vulnerabilità della sicurezza note nelle versioni precedenti di PostgreSQL

  • Impedisce agli utenti di subire l'interruzione del prodotto

  • Consente agli utenti di trarre vantaggio delle funzionalità aggiuntive e del miglioramento delle prestazioni delle ultime versioni di PostgreSQL

In questo flusso di lavoro di aggiornamento viene trattato solo PostgreSQL di MicroStrategy installato localmente, non un repository remoto.

L'aggiornamento contiene due parti:

  • Aggiornamento dei file binari del server PostgreSQL

  • Migrazione dei dati

L'aggiornamento non modifica la struttura delle cartelle PostgreSQL sottostanti, pertanto tutti i componenti che utilizzano PostgreSQL non sono interessati.

Sono disponibili diverse utilità/strumenti per il backup di MicroStrategy Repository predefinito.

  1. Strumento MicroStrategy Repository Administration

  2. Utilità di backup e ripristino PostgreSQL nativa

    pg_dump, pg_dumpall

  3. Utilità di backup e ripristino PostgreSQL con marchio MicroStrategy

    mstr_pg_dump, mstr_pg_dumpall

Database in MicroStrategy Repository

Per un ambiente appena installato su Windows e Linux, i database seguenti sono installati in MicroStrategy Repository predefinito:

Database Name Installazione rapida di Windows Installazione personalizzata di Windows Linux Componente MicroStrategy corrispondente
advdw_wh ü     Utilizzato per il progetto MicroStrategy Tutorial
mstr_collab ü ü ü MicroStrategy Collaboration Server
mstr_library ü ü ü MicroStrategy Library Server
operationaldm_wh ü     Utilizzato per il progetto MicroStrategy Tutorial
platform_analytics_wh ü ü ü Progetto Platform Analytics
poc_metadata ü     Metadati dell'esercitazione
tutorial_wh ü     Magazzino tutorial

Per un'installazione di Linux e un'installazione personalizzata di Windows, in MicroStrategy Repository è installato solo il warehouse corrispondente dei componenti selezionati. Ad esempio, se non si installa un componente Platform Analytics, platform_analytics_wh non è in MicroStrategy Repository.

Strumento MicroStrategy Repository Administration

Lo strumento MicroStrategy Repository Administration mette a disposizione degli utenti MicroStrategy un'interfaccia a riga di comando per eseguire il backup, il ripristino e il vuoto dei database in base alle informazioni in DBAdminConfig.yaml.

Per maggiori informazioni sullo strumento MicroStrategy Repository Administration, v Amministrazione repository.

Le operazioni di backup dello strumento MicroStrategy Repository Administration si basano sulle informazioni del database in DBAdminConfig.yaml. Per eseguire il backup di tutti i database in MicroStrategy Repository, aggiungere i nomi dei database a DBAdminConfig.yaml. Solo i nomi di database elencati in DBAdminConfig.yaml sono supportati da questo strumento.

Per impostazione predefinita, per accedere ai database con questo strumento vengono utilizzati l’utente del database mstr e la relativa password crittografata. Le trovate in DBAdminConfig.yaml. Se la password viene modificata, lo strumento potrebbe non funzionare come previsto.

Utilità di backup e ripristino PostgreSQL nativa

Per eseguire il backup e il ripristino MicroStrategy Repository, è possibile utilizzare l'utilità di backup e ripristino PostgreSQL nativa. MicroStrategy Repository viene fornito già pronto all'uso.

  • pg_dump Esegue il dump di un singolo database.

    Esempio:

    Copia
    # To dump a database called mydb into an SQL-script file:
    pg_dump mydb > db.sql
  • pg_dumpall Esegue il backup di tutti i database in un cluster specificato e conserva anche i dati a livello di cluster, come le definizioni di ruoli e tablespace.

    Esempio:

    Copia
    # To dump all databases
    pg_dumpall > db.out
  • Per ripristinare, utilizzare psql oppure pg_restore.

    Esempio:

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

Poiché esistono molti parametri di dump per l’opzione di backup, è possibile scegliere di usarli in base alle proprie esigenze.

Per un elenco dei parametri ed esempi di utilizzo, vedere pg_dump ,pg_dumpall, e pg_restore.

Windows

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

Esempio:

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

Linux

Percorso predefinito: /opt/mstr/MicroStrategy/install/Repository/postgres11/bin

Prima di eseguire le utilità su Linux, è necessario:

  • Origine il setenv.sh file in /opt/mstr/MicroStrategy/install/Repository/bin.

    In caso contrario, viene restituito il seguente errore:

    Errore durante il caricamento delle librerie condivise: libpq.so.5: impossibile aprire il file oggetto condiviso: Nessun file o directory di questo tipo.

  • Dichiarare il socket di dominio Unix per l'utilizzo di /tmp percorso, poiché l'utilità nativa PostgreSQL back utilizza il file /var/run/postgresql/ percorso predefinito.

    Se il percorso non è dichiarato, si è verificato il seguente errore:

    pg_dump: connessione di [archiver (db)] al database "mstr" non riuscita: impossibile connettersi al server: Nessun file o directory di questo tipo. Il server è in esecuzione in locale e accetta connessioni sul socket di dominio Unix "/var/run/postgresql/.s.PGSQL.5432"?

Esempio:

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

Utilità di backup e ripristino PostgreSQL con marchio MicroStrategy

MicroStrategy fornisce anche un'utilità di backup e ripristino "brandizzata" su Linux. Questa utilità è basata sull'utilità nativa di backup e ripristino PostgreSQL. Non è necessario specificare l'origine setenv.sh e dichiarare il socket di dominio Unix con questo strumento.

Poiché questa utilità è basata su un'utilità di backup/ripristino PostgreSQL nativa, è possibile utilizzare anche i parametri utilizzati con l'utilità di backup/ripristino PostgreSQL nativa.

Percorso predefinito: /opt/mstr/MicroStrategy/install/Repository/bin

Esempio:

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

Effettuare l'upgrade di MicroStrategy Repository tramite Platform Installer

Linux

  1. Avviare il programma di installazione e selezionare Aggiornamento per aggiornare la versione locale MicroStrategy alla versione 2021 Update 10.

  2. Se MicroStrategy Platform Analytics è stato selezionato in un’installazione precedente, è selezionato automaticamente in Selezionare componenti. Verificare i componenti che si desidera aggiornare e fare clic Avanti.

  3. Se le informazioni di connessione a MicroStrategy Repository sono cambiate rispetto all'ultima installazione, viene richiesto di fornire nome utente, password e porta per l'accesso al database. Completare i campi e fare clic su Avanti.

  4. Prima di continuare, viene richiesto di eseguire un backup del repository. Esaminare il sezioni precedenti per informazioni sul backup e sul ripristino del repository. Per procedere con l'aggiornamento, è necessario confermare di aver eseguito il backup del repository immettendo aggiornamento. Fare clic su Avanti.

  5. Il programma di installazione verifica se lo spazio libero su disco disponibile nel sistema è sufficiente. In caso contrario, vengono elencati i requisiti mancanti e l'aggiornamento viene interrotto.

  6. Se lo spazio su disco disponibile è sufficiente, il processo di aggiornamento del repository e di altri componenti MicroStrategy continua. Tuttavia, se l'aggiornamento del repository ha esito negativo, l'aggiornamento viene interrotto e viene visualizzata la schermata seguente.

    Fare clic sul collegamento per la procedura dettagliata su come analizzare e risolvere le cause principali. Una volta risolti i problemi, eseguire nuovamente l'installazione per completare l'aggiornamento.

Verifica install.log nel logs cartella (Esempio: /var/log/MicroStrategy/) per vedere se include i registri di aggiornamento PostgreSQL indicati di seguito. Se sono inclusi, l'aggiornamento è riuscito

Esempio di log di aggiornamento PostgreSQL:

Copia
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. Avviare il programma di installazione per aggiornare la versione MicroStrategy locale alla 2021 Update 10.

  2. Se MicroStrategy Repository è stato selezionato in un’installazione precedente, è selezionato automaticamente in Selezionare componenti. Verificare i componenti che si desidera aggiornare e fare clic Avanti.

  3. Se le informazioni di connessione a MicroStrategy Repository sono cambiate rispetto all'ultima installazione, viene richiesto di fornire nome utente, password e porta per l'accesso al database. Completare i campi e fare clic su Avanti.

  4. Prima di continuare, viene richiesto di eseguire un backup del repository. Esaminare il sezioni precedenti per informazioni sul backup e sul ripristino del repository. Per procedere con l'aggiornamento, è necessario confermare di aver eseguito il backup del repository immettendo aggiornamento. Fare clic su Avanti.

  5. Il programma di installazione verifica se lo spazio libero su disco disponibile nel sistema è sufficiente. In caso contrario, vengono elencati i requisiti di spazio e l'aggiornamento viene interrotto.

  6. Se lo spazio su disco disponibile è sufficiente, il processo di aggiornamento del repository e di altri componenti MicroStrategy continua. Tuttavia, se l'aggiornamento del repository ha esito negativo, l'aggiornamento viene interrotto e viene visualizzata la schermata seguente.

    Fare clic sul collegamento per la procedura dettagliata su come analizzare e risolvere le cause principali. Una volta risolti i problemi, eseguire nuovamente l'installazione per completare l'aggiornamento.

Verifica install.log nella cartella di installazione MicroStrategy (ad esempio: C:\Program Files (x86)\Common Files\MicroStrategy) per vedere se include i registri di aggiornamento PostgreSQL indicati di seguito. Se sono inclusi, l'aggiornamento è riuscito

Esempio di log di aggiornamento PostgreSQL:

Copia
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

Risoluzione dei problemi relativi agli errori di aggiornamento PostgreSQL

Se l'aggiornamento a PostgreSQL non riesce, verificare install.log per trovare la causa principale.

Alcuni scenari di errore tipici per l'aggiornamento a PostgreSQL includono:

Spazio su disco insufficiente

L'aggiornamento del repository richiede spazio su disco aggiuntivo per il backup, i binari PostgreSQL e per la migrazione dei database.

Il programma di installazione verifica se lo spazio libero su disco disponibile nel sistema è sufficiente. In caso contrario, il processo di aggiornamento interrompe e. Viene visualizzato il seguente avviso:

Impossibile procedere all'aggiornamento perché il computer non dispone di spazio su disco sufficiente.

Password non corrispondente

Il programma di installazione MicroStrategy deve connettere il precedente repository PostgreSQL utilizzando il super user che ha eseguito l'installazione iniziale di PostgreSQL. Se la password è stata modificata e non è stata specificata correttamente durante l'aggiornamento, il processo di aggiornamento potrebbe non riuscire.

È necessario fornire la password corretta per super user per connettersi al database PostgreSQL obsoleto.

Problemi di autorizzazione di accesso

L'utente che esegue l'aggiornamento potrebbe non disporre delle autorizzazioni necessarie per accedere a determinati file o directory necessari per l'aggiornamento.

L'utente corretto per eseguire l'installazione MicroStrategy e l'aggiornamento del repository è il super user.

Impostazioni di configurazione errate

Durante il processo di aggiornamento, potrebbe essere necessario aggiornare le impostazioni di configurazione per PostgreSQL. Se le impostazioni non sono corrette, il processo di aggiornamento potrebbe avere esito negativo.

Viene registrato un messaggio di errore per indicare che il file di configurazione non è valido perché contiene impostazioni non valide. È necessario correggere la configurazione non valida ed eseguire nuovamente l'installazione.

Danneggiamento dei dati

Durante il processo di aggiornamento può verificarsi il danneggiamento dei dati a causa di errori o problemi con i dati in fase di migrazione.

Un messaggio di errore viene registrato per indicare che il file di dati del database è corrotto. È necessario correggere l'errore nei dati ripristinando i dati dal backup ed eseguendo nuovamente l'installazione.

Scenari di failover e ripristino

Se i file di dati PostgreSQL vengono interrotti durante l'aggiornamento, potrebbe essere necessario ripristinare i database dai backup eseguiti prima di avviare l'aggiornamento.

  • Se i backup sono stati eseguiti utilizzando lo strumento MicroStrategy Repository Administration, è necessario utilizzare lo stesso strumento per ripristinarli. Seguire i passaggi in Amministrazione repository per eseguire il ripristino.

  • Se i backup sono stati eseguiti utilizzando l'utilità di backup nativa PostgreSQL, MicroStrategy consiglia di utilizzare l'utilità di ripristino nativa PostgreSQL per eseguire il ripristino.

Windows

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

Esempio:

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

Percorso predefinito: /opt/mstr/MicroStrategy/install/Repository/bin

Prima di eseguire l'utilità di ripristino su Linux, è necessario:

  • Origine il setenv.sh file in /opt/mstr/MicroStrategy/install/Repository/bin.

    In caso contrario, viene restituito il seguente errore:

    Errore durante il caricamento delle librerie condivise: libpq.so.5: impossibile aprire il file oggetto condiviso: Nessun file o directory di questo tipo.

  • Dichiarare il socket di dominio Unix per l'utilizzo di /tmp percorso, poiché l'utilità nativa PostgreSQL back utilizza il file /var/run/postgresql/ percorso predefinito.

    Se il percorso non è dichiarato, si è verificato il seguente errore:

    pg_dump: connessione di [archiver (db)] al database "mstr" non riuscita: impossibile connettersi al server: Nessun file o directory di questo tipo. Il server è in esecuzione in locale e accetta connessioni sul socket di dominio Unix "/var/run/postgresql/.s.PGSQL.5432"?

Esempio:

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