Strategy ONE

Directrices para la actualización de MicroStrategy Repository y resolución de problemas

Introducción a la actualización del repositorio

Para garantizar la seguridad y estabilidad continuas del conjunto de productos de MicroStrategy , MicroStrategy Repository actualiza PostgreSQL a la versión 14.7 en 2021 Actualización 10.

Esta actualización:

  • Proporciona soluciones a vulnerabilidades de seguridad conocidas en versiones anteriores de PostgreSQL.

  • Evita que los usuarios experimenten una interrupción del servicio

  • Permite a los usuarios aprovechar la funcionalidad adicional y el mayor rendimiento de las últimas versiones de PostgreSQL

En este flujo de trabajo de actualización solo se trata PostgreSQL de MicroStrategy instalado localmente, no un repositorio remoto.

La actualización consta de dos partes:

  • Actualización de los binarios del servidor de PostgreSQL

  • Migración de datos

La actualización no cambia la estructura de carpetas subyacente de PostgreSQL, por lo que los componentes que utilizan PostgreSQL no se ven afectados.

Hay varias utilidades/herramientas que puede usar para hacer una copia de seguridad del repositorio de MicroStrategy listo para usar.

  1. Herramienta de administración de MicroStrategy Repository

  2. Utilidad de copia de seguridad y restauración nativa de PostgreSQL

    pg_dump, pg_dumpall

  3. Utilidad de copia de seguridad y restauración de PostgreSQL con marca MicroStrategy

    mstr_pg_dump, mstr_pg_dumpall

Bases de datos en MicroStrategy Repository

Para un entorno recién instalado en Windows y Linux, las siguientes bases de datos están instaladas en el repositorio de MicroStrategy listo para usar:

Database Name Instalación rápida de Windows Instalación personalizada de Windows Linux Componente de MicroStrategy correspondiente
advdw_wh ü     Se utiliza para el proyecto de MicroStrategy Tutorial
mstr_collab ü ü ü Servidor de Colaboración de MicroStrategy
mstr_library ü ü ü Servidor de MicroStrategy Library
operationaldm_wh ü     Se utiliza para el proyecto de MicroStrategy Tutorial
platform_analytics_wh ü ü ü Proyecto de Platform Analytics
poc_metadata ü     Metadatos de los aprendizajes
tutorial_wh ü     Almacén del Tutorial

Para una instalación de Linux y una instalación personalizada de Windows, solo se instala en MicroStrategy Repository el warehouse correspondiente de los componentes seleccionados. Por ejemplo, si no instala ningún componente de Platform Analytics, platform_analytics_wh no se encuentra en MicroStrategy Repository.

Herramienta de administración de MicroStrategy Repository

La herramienta de administración de MicroStrategy Repository brinda a los usuarios de MicroStrategy una interfaz de línea de comandos para hacer copias de seguridad, restaurar y vaciar bases de datos según la información de base de datos en DBAdminConfig.yaml.

Para más información acerca de la herramienta de administración de MicroStrategy Repository, consulte Administración del repositorio.

La operación de copia de seguridad de la herramienta Administración de MicroStrategy Repository se basa en la información de la base de datos DBAdminConfig.yaml. Para hacer una copia de seguridad de todas las bases de datos en MicroStrategy Repository, añada los nombres de las bases de datos a DBAdminConfig.yaml. Sólo los nombres de bases de datos enumerados en DBAdminConfig.yaml están respaldados por esta herramienta.

Por defecto, el usuario de base de datos mstr y su contraseña cifrada se utiliza para acceder a las bases de datos con esta herramienta. Puede encontrarlos en DBAdminConfig.yaml. Si se modifica la contraseña, es posible que la herramienta no funcione según lo esperado.

Utilidad de copia de seguridad y restauración nativa de PostgreSQL

La utilidad de copia de seguridad y restauración nativa de PostgreSQL puede utilizarse para hacer copias de seguridad de y restaurar MicroStrategy Repository. Se entrega listo para usar con MicroStrategy Repository.

  • pg_dump Vuelca una única base de datos.

    Ejemplo:

    Copiar
    # To dump a database called mydb into an SQL-script file:
    pg_dump mydb > db.sql
  • pg_dumpall Hace una copia de seguridad de todas las bases de datos de un clúster determinado y también conserva los datos de todo el clúster, como las definiciones de roles y espacios de tabla.

    Ejemplo:

    Copiar
    # To dump all databases
    pg_dumpall > db.out
  • Para restaurar, utilice psql o pg_restore.

    Ejemplo:

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

Dado que hay muchos parámetros de volcado para la opción de copia de seguridad, puede utilizarlos según sus propias necesidades.

Para obtener la lista de parámetros y ejemplos de uso, consulte pg_dump ,pg_dumpally pg_restore.

Windows

Ruta por defecto: C:\Program Files (x86)\Common Files\MicroStrategy\Repository\pgsql\bin

Ejemplo:

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

Linux

Ruta por defecto: /opt/mstr/MicroStrategy/install/Repository/postgres11/bin

Antes de ejecutar las utilidades en Linux, debe:

  • Origen el setenv.sh archivo bajo /opt/mstr/MicroStrategy/install/Repository/bin.

    De lo contrario, se producirá el siguiente error:

    Error al cargar las bibliotecas compartidas: libpq.so.5: no se puede abrir el archivo objeto compartido: El archivo o directorio no existe.

  • Declare el socket del dominio Unix para usar el /tmp ya que la utilidad back nativa de PostgreSQL utiliza la /var/run/postgresql/ ruta por defecto.

    Si la ruta no se declara, ocurre el siguiente error:

    pg_dump: Error de conexión de [archiver (db)] con la base de datos "mstr": no se pudo conectar con el servidor: El archivo o directorio no existe. ¿El servidor se ejecuta localmente y acepta conexiones en el socket de dominio Unix "/var/run/postgresql/.s.PGSQL.5432"?

Ejemplo:

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

Utilidad de copia de seguridad y restauración de PostgreSQL con marca MicroStrategy

MicroStrategy también ofrece una utilidad de copia de seguridad y restauración “de marca” en Linux. Esta utilidad se ha diseñado a partir de la utilidad de copia de seguridad y restauración nativa de PostgreSQL. No es necesario que indique el origen setenv.sh y declare el socket del dominio Unix con esta herramienta.

Dado que esta utilidad se basa en la utilidad nativa de copia de seguridad y restauración de PostgreSQL, también se pueden usar los parámetros utilizados con la utilidad nativa de copia de seguridad y restauración de PostgreSQL.

Ruta por defecto: /opt/mstr/MicroStrategy/install/Repository/bin

Ejemplo:

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

Actualice MicroStrategy Repository a través del instalador de la plataforma

Linux

  1. Inicie el instalador y seleccione Actualizar para actualizar su versión local de MicroStrategy a 2021 Actualización 10.

  2. Si Analítica de la Plataforma de MicroStrategy se seleccionó en una instalación anterior, se selecciona automáticamente en Seleccionar componentes. Verifique los componentes que desea actualizar y haga clic en Siguiente.

  3. Si la información de conexión a MicroStrategy Repository ha cambiado desde la última instalación, se le solicitará el nombre de usuario, la contraseña y el puerto de inicio de sesión de la base de datos. Rellene los campos y haga clic en Siguiente.

  4. Antes de continuar, se le solicitará que haga una copia de seguridad del repositorio. Revisar la secciones anteriores para obtener información sobre cómo hacer una copia de seguridad de su repositorio y restaurarlo. Para continuar con la actualización, debe confirmar que ha hecho una copia de seguridad del repositorio escribiendo actualizar. Haga clic en Siguiente.

  5. El instalador comprueba si hay suficiente espacio libre en el disco del sistema. De lo contrario, se enumeran los requisitos que faltan y se cancela la actualización.

  6. Si hay suficiente espacio en el disco, el proceso de actualización para el repositorio y los demás componentes de MicroStrategy continúa. Sin embargo, si la actualización del repositorio falla, se cancela toda la actualización y aparece la siguiente pantalla.

    Haga clic en el vínculo para ver pasos detallados sobre cómo analizar y solucionar las causas fundamentales. Una vez resueltos los problemas, vuelva a ejecutar la instalación para completar la actualización.

Marcar install.log en el logs carpeta (Ejemplo: /var/log/MicroStrategy/) para ver si incluye los registros de actualización de PostgreSQL que se muestran a continuación. Si se incluyen, significa que la actualización se ha realizado correctamente

Ejemplo de registro de actualización de PostgreSQL:

Copiar
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. Inicie el instalador para actualizar su versión local de MicroStrategy a 2021 Actualización 10.

  2. Si MicroStrategy Repository se seleccionó en una instalación anterior, se selecciona automáticamente en Seleccionar componentes. Verifique los componentes que desea actualizar y haga clic en Siguiente.

  3. Si la información de conexión a MicroStrategy Repository ha cambiado desde la última instalación, se le solicitará el nombre de usuario, la contraseña y el puerto de inicio de sesión de la base de datos. Rellene los campos y haga clic en Siguiente.

  4. Antes de continuar, se le solicitará que haga una copia de seguridad del repositorio. Revisar la secciones anteriores para obtener información sobre cómo hacer una copia de seguridad de su repositorio y restaurarlo. Para continuar con la actualización, debe confirmar que ha hecho una copia de seguridad del repositorio escribiendo actualizar. Haga clic en Siguiente.

  5. El instalador comprueba si hay suficiente espacio libre en el disco del sistema. De lo contrario, se enumeran los requisitos de espacio y se cancela la actualización.

  6. Si hay suficiente espacio en el disco, el proceso de actualización para el repositorio y los demás componentes de MicroStrategy continúa. Sin embargo, si la actualización del repositorio falla, se cancela toda la actualización y aparece la siguiente pantalla.

    Haga clic en el vínculo para ver pasos detallados sobre cómo analizar y solucionar las causas fundamentales. Una vez resueltos los problemas, vuelva a ejecutar la instalación para completar la actualización.

Marcar install.log en la carpeta de instalación de MicroStrategy (Ejemplo: C:\Program Files (x86)\Common Files\MicroStrategy) para ver si incluye los registros de actualización de PostgreSQL que se muestran a continuación. Si se incluyen, significa que la actualización se ha realizado correctamente

Ejemplo de registro de actualización de PostgreSQL:

Copiar
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

Solución de errores de actualización de PostgreSQL

Si la actualización de PostgreSQL falla, compruebe install.log para encontrar la causa raíz.

Algunos escenarios de error típicos para la actualización de PostgreSQL son:

Espacio en disco insuficiente

La actualización del repositorio requiere espacio de disco adicional para la copia de seguridad, los archivos binarios de PostgreSQL y la migración de las bases de datos.

El instalador comprueba si hay suficiente espacio libre en el disco del sistema. De lo contrario, el proceso de actualización se cancela. Aparecerá la siguiente advertencia:

La actualización no puede llevarse a cabo porque esta máquina no tiene suficiente espacio en el disco.

La contraseña no coincide

El instalador de MicroStrategy necesita conectar el repositorio de PostgreSQL antiguo a través del superusuario que realizó la instalación inicial de PostgreSQL. Si la contraseña ha cambiado y no se proporciona correctamente durante la actualización, es posible que el proceso de actualización falle.

Debe proporcionar la contraseña de superusuario correcta para conectarse a la base de datos de PostgreSQL antigua.

Problemas con los permisos de acceso

Es posible que el usuario que realiza la actualización no tenga los permisos necesarios para acceder a determinados archivos o directorios necesarios para la actualización.

El usuario correcto para ejecutar la instalación de MicroStrategy y la actualización del repositorio es el superusuario.

Parámetros de configuración incorrectos

Durante el proceso de actualización, es posible que haya que actualizar los ajustes de configuración de PostgreSQL. Si la configuración no es correcta, puede que falle el proceso de actualización.

Se registra un mensaje de error para indicar que el archivo de configuración no es válido porque contiene parámetros de configuración no válidos. Debe corregir la configuración no válida y volver a ejecutar la instalación.

Datos dañados

Los datos pueden dañarse durante el proceso de actualización si hay errores o problemas con los datos que se están migrando.

Se registra un mensaje de error para indicar que el archivo de datos de la base de datos está dañado. Para corregir el error de datos, restaure los datos a partir de la copia de seguridad y vuelva a ejecutar la instalación.

Escenarios de conmutación por error y restablecimiento

Si los archivos de datos de PostgreSQL se interrumpen durante la actualización, es posible que tenga que restaurar las bases de datos a partir de las copias de seguridad realizadas antes de iniciar la actualización.

  • Si las copias de seguridad se hicieron con la herramienta de administración de MicroStrategy Repository, debe usar la misma herramienta para restaurarlas. Siga los pasos de Administración del repositorio para realizar la restauración.

  • Si las copias de seguridad se hicieron con la utilidad de copia de seguridad nativa de PostgreSQL, MicroStrategy recomienda usar la utilidad de restauración nativa de PostgreSQL para realizar la restauración.

Windows

Ruta por defecto: C:\Program Files (x86)\Common Files\MicroStrategy\Repository\pgsql\bin

Ejemplo:

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

Ruta por defecto: /opt/mstr/MicroStrategy/install/Repository/bin

Antes de ejecutar la utilidad de restauración en Linux, debe:

  • Origen el setenv.sh archivo bajo /opt/mstr/MicroStrategy/install/Repository/bin.

    De lo contrario, se producirá el siguiente error:

    Error al cargar las bibliotecas compartidas: libpq.so.5: no se puede abrir el archivo objeto compartido: El archivo o directorio no existe.

  • Declare el socket del dominio Unix para usar el /tmp ya que la utilidad back nativa de PostgreSQL utiliza la /var/run/postgresql/ ruta por defecto.

    Si la ruta no se declara, ocurre el siguiente error:

    pg_dump: Error de conexión de [archiver (db)] con la base de datos "mstr": no se pudo conectar con el servidor: El archivo o directorio no existe. ¿El servidor se ejecuta localmente y acepta conexiones en el socket de dominio Unix "/var/run/postgresql/.s.PGSQL.5432"?

Ejemplo:

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