请问一下,OB社区版4.2.1.2升级至4.2.1.8 是直接升,还是要经过中间版本

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】OB社区版4.2.1.2
【 使用版本 】4.2.1.2
【问题描述】请问一下,OB社区版4.2.1.2升级至4.2.1.8 是直接升,还是要经过中间版本
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

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

1 个赞

根据文档库中的信息,OceanBase 集群在升级时如果当前版本和目标版本之间存在 barrier 版本,则需要先升级到 barrier 版本,再从 barrier 版本升级到目标版本 [1]。然而,具体的 barrier 版本信息以及直接升级的可能性取决于 oceanbase_upgrade_dep.yml 文件中的定义,该文件记录了版本升级拓扑图 [1]

对于您提到的从 OB 社区版 4.2.1.2 升级至 4.2.1.8 的情况,由于检索到的文档片段中没有直接提及 4.2.1.x 版本之间的具体升级路径,因此建议您执行以下步骤来确定升级策略:

  1. 获取目标版本 4.2.1.8 的 OceanBase RPM 包。
  2. 解压该 RPM 包,并查找 oceanbase_upgrade_dep.yml 文件 [1]
  3. 分析 oceanbase_upgrade_dep.yml 文件,确认从 4.2.1.2 版本升级到 4.2.1.8 版本是否需要经过中间版本。

如果 oceanbase_upgrade_dep.yml 文件中明确指示 4.2.1.2 版本可以直接升级到 4.2.1.8 版本,则您可以直接进行升级。如果文件中指定了需要经过 barrier 版本,则应遵循文件中的指导逐步升级。

此外,根据 [7] 的信息,OceanBase 4.x 升级时执行的升级脚本仅依赖目标版本 RPM 包的相关 Python 脚本,这意味着只要遵循 oceanbase_upgrade_dep.yml 文件中的路径,升级过程应该是顺畅的。请注意,确保在升级前做好充分的准备和备份工作,以避免潜在的数据风险。

更多信息请查看:

  1. 升级 OceanBase 集群
  2. OceanBase 数据库 V4.1.0
  3. OceanBase 数据库社区版 V4.0.0
  4. 恢复完成后升级租户
  5. OceanBase 术语
  6. OceanBase 数据库社区版 V3.1.2
  7. 升级概述
1 个赞

执行任务中upgrade_pre.py脚本 与 upgrade_health_checker.py脚本 是用来检查什么的

1 个赞

根据文档库中的信息,upgrade_pre.py 脚本和 upgrade_health_checker.py 脚本分别用于不同的检查目的:

  1. upgrade_pre.py 脚本

    • 该脚本主要用于执行升级前的一系列准备工作,确保集群处于适合升级的状态。 [1]
    • 具体来说,upgrade_pre.py 脚本会执行以下命令及动作:
      1. alter system begin upgrade
      2. alter system begin rolling upgrade
      3. special pre action:关闭及调整配置项。
      4. health check: 集群级别健康检查。 [1]
    python upgrade_pre.py -h 127.0.0.1 -P 2881 -u $user_name@sys -p$password
    
  2. upgrade_health_checker.py 脚本

    • 该脚本主要用于执行集群级别的健康检查,确保集群在升级前处于健康状态。 [1]
    • 在集群升级过程中,upgrade_health_checker.py 脚本用于检查整个集群的状态,而 Zone 级别的健康检查则是在每个 Zone 升级完成后单独执行。 [1]
    • 执行集群级别健康检查的命令如下:
    python upgrade_health_checker.py -h 127.0.0.1 -P 2881 -u $user_name@sys -p$password
    
    • 执行 Zone 级别健康检查的命令如下:
    python upgrade_health_checker.py -h 127.0.0.1 -P 2881 -u $user_name@sys -p$password -z '$zone_name'
    

综上所述,upgrade_pre.py 脚本主要用于执行升级前的准备工作,包括开始升级、调整配置项和集群健康检查;而 upgrade_health_checker.py 脚本主要用于执行集群级别的健康检查,确保集群在升级前处于健康状态。 [1], [1]

更多信息请查看:

  1. 升级 OceanBase 集群
  2. Agent 升级检查
  3. OceanBase 升级检查
  4. 升级 OBShell

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

1 个赞

把两个版本都上传到OCP中,然后升级到时候会提示是否需要中间版本

2 个赞

升级过程中,execute upgrade post scripte 这个过程是做什么的,是否可以跳过,任务一直卡在这个过程,我看observer已经升级完成了

这个是升级的文档 有解释
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001052909

升级的过程中 不要跳过 目前我在你的另一个帖子 给你发了 你可以提供一下 升级后的日志 分析的一下 看看什么原因导致的