数据库4.2.1.7升级到4.2.1.11升级失败

【 使用环境 】 测试环境
OceanBase 数据库 4.2.1.7
【问题描述】清晰明确描述问题
我使用普通用户admin进行离线升级,从4.2.1.7升级到4.2.1.11版本。
按照以下文档进行使用,使用的是方案二:离线升级的方式
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000220906
但是升级失败
Get local repositories and plugins ok
Open ssh connection ok
Get deployment connections ok
Get standbys info ok
cluster scenario: None
Start observer ok
observer program health check ok
obshell program health check ok
observer program health check ok
Connect to observer 127.0.0.1:3306 ok
Exec upgrade_checker.py x
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
日志:
log.txt (60.7 KB)
帮忙看看为什么会这样

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

1 个赞

@论坛小助手

从您提供的日志和文档来看,升级失败的原因可能在于您使用了普通用户admin进行升级操作,而根据官方文档,进行升级操作时需要使用root用户登录到数据库的sys租户。具体来说,您需要先使用root用户登录到数据库的sys租户,然后执行相关命令进行合并操作和升级操作。您可以尝试以下步骤:

  1. 使用root用户登录到数据库的sys租户:
obclient [oceanbase]> ALTER SYSTEM MAJOR FREEZE;
obclient [oceanbase]> select name,value from oceanbase.__all_zone where name='frozen_version' or name='last_merged_version';
  1. 合并完成后,执行升级命令:
obd cluster upgrade obtest -c oceanbase-ce -V 4.2.1.11 --usable=7b406f4a49a44c710ca3c0590ef24ef2f0492a53

如果您仍然遇到问题,请提供更多的日志信息以便进一步分析。

详情请参考:

  1. 升级 OceanBase 数据库
  2. 使用 OBD 升级 OceanBase 数据库
  3. 使用 obd 升级 OceanBase 数据库
1 个赞

1 tenant is merging, please check
看日志存在一个租户在转储,重新执行一下

升级前建议做好备份(有条件的话)+集群合并

没有就一个主租户,没有其他租户

补充升级4.2.1.11升级到4.2.5.3失败
If you use a non-official release, we cannot guarantee a successful upgrade or technical support when you fail. Make sure that you want to use the above package to upgrade. [y/n]: y
Start observer ok
observer program health check ok
Connect to observer 127.0.0.1:3306 ok
Exec upgrade_checker.py ok
Exec upgrade_pre.py ok
Exec upgrade_health_checker.py ok
Upgrade x
[ERROR] Run Exception: install_repository_to_servers() takes from 2 to 3 positional arguments but 6 were given
[WARN] oceanbase-ce-py_script_upgrade-4.2.2.0 has animation not been closed

See https://www.oceanbase.com/product/ob-deployer/error-codes .
Trace ID: a88ac16c-e9d1-11f0-b913-000c29601206
If you want to view detailed obd logs, please run: obd display-trace a88ac16c-e9d1-11f0-b913-000c29601206

日志
log.txt (67.1 KB)

@论坛小助手

从提供的信息来看,您尝试使用 obd 进行 OceanBase 数据库 4.2.1.7 到 4.2.1.11 的离线升级过程中遇到了问题。根据日志,升级过程似乎在 Exec upgrade_checker.py x 这一步骤失败了。以下是可能的原因和解决方案:

  1. 检查权限

    • 确保您使用的 admin 用户具有足够的权限执行升级操作。通常,建议使用 root 用户或具有相应权限的用户进行升级。
  2. 检查网络连接

    • 虽然您使用的是离线升级方式,但某些步骤可能仍然需要网络连接。确保网络连接正常,特别是如果您在步骤中启用了远程镜像仓库。
  3. 检查日志文件

    • 详细检查日志文件 log.txt,寻找具体的错误信息。这将有助于确定问题的根本原因。您可以使用 grep 或其他工具过滤出关键错误信息。
  4. 重新执行升级步骤

    • 重新执行升级步骤,确保每一步都正确无误。特别是确保您已经正确地将所需的 RPM 包添加到本地镜像库中。
  5. 使用 obdiag 工具进行诊断

    • 根据您提供的信息,建议使用 obdiag 工具收集更多诊断信息。具体步骤如下:
      # 安装 obdiag
      obd obdiag deploy
      # 收集诊断信息
      obd obdiag collect -d <your_deployment_name>
      
  6. 检查升级包的完整性

    • 确保您下载的升级包完整且未损坏。您可以重新下载并验证其完整性。

如果您仍然无法解决问题,建议提供更多的日志信息或联系 OceanBase 技术支持获取进一步的帮助。

详情请参考:

  1. 使用 obd 升级 OceanBase 数据库
  2. 使用 obd 进行运维
  3. 升级 OceanBase 数据库
  4. 物理恢复失败
  5. 通过 obdiag 工具进行诊断和分析

试一下再执行一遍升级命令

试过了重新执行不行,我开了一个新帖是同样的问题,帮忙看看