MicroStrategy ONE
MicroStrategy 存储库升级指南和故障排除
存储库升级简介
确保 MicroStrategy 套房, MicroStrategy 存储库在 2021 Update 10 中将 PostgreSQL 升级至版本 14.7。
本次升级:
-
提供针对旧版本 PostgreSQL 中已知安全漏洞的解决方案
-
防止用户遭遇产品中断
-
使用户能够利用最新 PostgreSQL 版本中的附加功能和增强的性能
仅有的 MicroStrategy此升级工作流程涵盖本地安装的 PostgreSQL,而不是远程存储库。
升级包含两部分:
-
PostgreSQL 服务器二进制文件更新
-
数据迁移
升级不会改变任何底层 PostgreSQL 文件夹结构,因此任何使用 PostgreSQL 的组件都不会受到影响。
您可以使用多种实用程序/工具来备份开箱即用 MicroStrategy 存储库。
-
pg_dump, pg_dumpall
-
MicroStrategy 品牌 PostgreSQL 备份和恢复实用程序
mstr_pg_dump, mstr_pg_dumpall
数据库 MicroStrategy 存储库
对于 Windows 和 Linux 上新安装的环境,以下数据库安装在现成的 MicroStrategy 存储库:
Database Name | Windows 快速安装 | Windows 自定义安装 | Linux | 相应的 MicroStrategy 组件 |
---|---|---|---|---|
advdw_wh
|
你 | 用于 MicroStrategy Tutorial 项目 | ||
mstr_collab
|
你 | 你 | 你 | MicroStrategy Collaboration Server |
mstr_library
|
你 | 你 | 你 | MicroStrategy 库服务器 |
operationaldm_wh
|
你 | 用于 MicroStrategy Tutorial 项目 | ||
platform_analytics_wh
|
你 | 你 | 你 | 平台分析项目 |
poc_metadata
|
你 | 教程元数据 | ||
tutorial_wh
|
你 | 教程仓库 |
对于Linux安装和Windows自定义安装,只安装所选组件对应的仓库 MicroStrategy 存储库。例如,如果您没有安装 Platform Analytics 组件,则 platform_analytics_wh
不在 MicroStrategy 存储库。
MicroStrategy 存储库管理工具
这 MicroStrategy 存储库管理工具提供 MicroStrategy 用户可以使用命令行界面根据数据库中的信息来备份、恢复和清理数据库 DBAdminConfig.yaml
。
如需更多信息 MicroStrategy 存储库管理工具,请参阅 存储库管理。
这 MicroStrategy 存储库管理工具的备份操作基于 DBAdminConfig.yaml
。备份所有数据库 MicroStrategy 存储库,将数据库名称添加到 DBAdminConfig.yaml
。仅列出数据库名称 DBAdminConfig.yaml
均由此工具备份。
默认情况下,mstr 数据库用户及其加密密码用于通过此工具访问数据库。你可以在...里找到它们 DBAdminConfig.yaml
。如果密码被修改,该工具可能无法按预期运行。
原生 PostgreSQL 备份和恢复实用程序
本机 PostgreSQL 备份和恢复实用程序可用于备份和恢复 MicroStrategy 存储库。开箱即用 MicroStrategy 存储库。
-
pg_dump
转储单个数据库。示例:
复制# To dump a database called mydb into an SQL-script file:
pg_dump mydb > db.sql -
pg_dumpall
备份给定集群中的所有数据库,并保存集群范围的数据,例如角色和表空间定义。示例:
复制# To dump all databases
pg_dumpall > db.out -
要恢复,请使用
psql
或者pg_restore
。示例:
复制# 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
由于备份选项的转储参数有很多,您可以根据自己的需要选择使用它们。
有关参数列表以及使用示例,请参阅 pg_dump
,pg_dumpall
, 和 pg_restore
。
Windows
默认路径: C:\Program Files (x86)\Common Files\MicroStrategy\Repository\pgsql\bin
示例:
#dump mstr_collab
pg_dump -d mstr_collab -Umstr > mstr_collab.sql
#dump the whole postgres cluster
pg_dumpall -Umstr > postgres.sql
Linux
默认路径: /opt/mstr/MicroStrategy/install/Repository/postgres11/bin
在 Linux 上运行该实用程序之前,您必须:
-
来源
setenv.sh
归档于/opt/mstr/MicroStrategy/install/Repository/bin
。如果不这样做会导致以下错误:
加载共享库时出错:libpq.so.5:无法打开共享对象文件:没有这样的文件或目录。
-
声明 Unix 域套接字以使用
/tmp
路径,因为原生 PostgreSQL back 实用程序使用/var/run/postgresql/
默认路径。如果没有声明路径,则会出现以下错误:
pg_转储:[archiver (db)] 连接数据库“mstr”失败:无法连接到服务器:没有这样的文件或目录。服务器是否在本地运行并接受 Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”上的连接?
示例:
#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
MicroStrategy 品牌 PostgreSQL 备份和恢复实用程序
MicroStrategy 还在 Linux 上提供了“品牌”备份和恢复实用程序。该实用程序基于本机 PostgreSQL 备份和恢复实用程序构建。你不需要来源 setenv.sh
并使用此工具声明Unix域套接字。
由于此实用程序建立在本机 PostgreSQL 备份/恢复实用程序之上,因此也可以使用本机 PostgreSQL 备份/恢复实用程序所使用的参数。
默认路径: /opt/mstr/MicroStrategy/install/Repository/bin
示例:
#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
升级 MicroStrategy 通过平台安装程序访问存储库
Linux
-
启动安装程序并选择 升级 升级您的本地 MicroStrategy 版本至2021 Update 10。
-
如果 MicroStrategy 平台分析 在之前的安装中被选中,它将自动被选中 选择组件。确认要升级的组件,然后单击 下一个。
-
如果连接信息 MicroStrategy 自上次安装以来,存储库已发生变化,系统会提示您提供数据库登录用户名、密码和端口。填写字段并点击 下一个。
-
系统会提示您在继续之前备份存储库。查看 以上部分 有关备份和恢复存储库的信息。要继续升级,您必须通过输入以下命令确认已备份存储库 升级。单击 Next(下一步)。
-
安装程序检查系统上是否有足够的可用磁盘空间。如果没有,则会列出缺少的要求并中止升级。
-
如果有足够的磁盘空间,存储库的升级过程以及其他 MicroStrategy 组件继续运行。但是,如果存储库升级失败,整个升级将中止,并出现以下屏幕。
单击链接可查看有关如何分析和排除根本原因的详细步骤。问题解决后,重新运行安装以完成升级。
查看 install.log
在里面 logs
文件夹(例如:/var/log/MicroStrategy/
) 查看是否包含下面显示的 PostgreSQL 升级日志。如果包含,则升级成功
PostgreSQL升级日志示例:
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
-
启动安装程序来升级本地 MicroStrategy 版本至2021 Update 10。
-
如果 MicroStrategy 存储库 在之前的安装中被选中,它将自动被选中 选择组件。确认要升级的组件,然后单击 下一个。
-
如果连接信息 MicroStrategy 自上次安装以来,存储库已发生变化,系统会提示您提供数据库登录用户名、密码和端口。填写字段并点击 下一个。
-
系统会提示您在继续之前备份存储库。查看 以上部分 有关备份和恢复存储库的信息。要继续升级,您必须通过输入以下命令确认已备份存储库 升级。单击 Next(下一步)。
-
安装程序检查系统上是否有足够的可用磁盘空间。如果没有,则列出空间要求并中止升级。
-
如果有足够的磁盘空间,存储库的升级过程以及其他 MicroStrategy 组件继续运行。但是,如果存储库升级失败,整个升级将中止,并出现以下屏幕。
单击链接可查看有关如何分析和排除根本原因的详细步骤。问题解决后,重新运行安装以完成升级。
查看 install.log
在里面 MicroStrategy 安装文件夹(例如:C:\Program Files (x86)\Common Files\MicroStrategy
) 查看是否包含下面显示的 PostgreSQL 升级日志。如果包含,则升级成功
PostgreSQL升级日志示例:
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
解决 PostgreSQL 升级失败问题
如果 PostgreSQL 升级失败,请检查 install.log
找到根本原因。
PostgreSQL 升级的一些典型失败情况包括:
磁盘空间不足
升级存储库需要额外的磁盘空间来用于备份、PostgreSQL 二进制文件和迁移数据库。
安装程序检查系统上是否有足够的可用磁盘空间。如果不是,升级过程将中止并出现以下警告:
由于该机器没有足够的磁盘空间,因此无法继续升级。
密码不匹配
这 MicroStrategy 安装程序需要使用执行初始 PostgreSQL 安装的超级用户连接旧的 PostgreSQL 存储库。如果密码已更改且在升级期间未正确提供,则升级过程可能会失败。
您必须提供正确的超级用户密码才能连接到旧的 PostgreSQL 数据库。
访问权限问题
执行升级的用户可能没有访问升级所需的某些文件或目录的必要权限。
运行的正确用户 MicroStrategy 安装和升级存储库的是超级用户。
错误的配置设置
在升级过程中,可能需要更新 PostgreSQL 的配置设置。如果设置不正确,升级过程可能会失败。
记录一条错误消息,表明配置文件无效,因为它包含无效的设置。您必须更正无效的配置并重新运行安装。
数据损坏
如果迁移的数据出现错误或问题,则升级过程中可能会发生数据损坏。
记录一条错误消息,表明数据库的数据文件已损坏。您必须通过从备份恢复数据并再次运行安装来修复数据错误。
故障转移场景和恢复
如果 PostgreSQL 数据文件在升级过程中中断,您可能需要从开始升级之前所做的备份中恢复数据库。
-
如果使用 MicroStrategy 存储库管理工具,您必须使用相同的工具来恢复它们。按照以下步骤操作 存储库管理 进行恢复。
-
如果使用本机 PostgreSQL 备份实用程序进行备份, MicroStrategy 建议使用本机 PostgreSQL 恢复实用程序执行恢复。
Windows
默认路径: C:\Program Files (x86)\Common Files\MicroStrategy\Repository\pgsql\bin
示例:
# 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
默认路径: /opt/mstr/MicroStrategy/install/Repository/bin
在 Linux 上运行恢复实用程序之前,您必须:
-
来源
setenv.sh
归档于/opt/mstr/MicroStrategy/install/Repository/bin
。如果不这样做会导致以下错误:
加载共享库时出错:libpq.so.5:无法打开共享对象文件:没有这样的文件或目录。
-
声明 Unix 域套接字以使用
/tmp
路径,因为原生 PostgreSQL back 实用程序使用/var/run/postgresql/
默认路径。如果没有声明路径,则会出现以下错误:
pg_转储:[archiver (db)] 连接数据库“mstr”失败:无法连接到服务器:没有这样的文件或目录。服务器是否在本地运行并接受 Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”上的连接?
示例:
# 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