【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】升级校验报错,校验显示多个replicas unsync please check,
【复现路径】问题出现前后相关操作
【附件及日志】 如何知道同步进度
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】升级校验报错,校验显示多个replicas unsync please check,
【复现路径】问题出现前后相关操作
【附件及日志】 如何知道同步进度
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
日志采集场景: 主备库延迟
日志采集命令: obdiag gather scene run --scene=observer.delay_of_primary_and_backup
为了更好地帮助您解决OceanBase升级校验失败以及查看副本同步进度的问题,建议使用上述obdiag命令进行日志采集。此命令可以帮助我们收集有关主备库之间延迟的信息,进而分析多个副本未同步的原因。
请您提供一些额外信息以便我们更准确地定位问题:
另外,对于查看同步进度,您可以登录到OceanBase的管理界面或者使用SQL查询相关系统表来获取副本同步的状态信息。如果您需要具体的SQL语句或者其他操作指导,请随时告知。
附上敏捷诊断工具 obdiag 使用帮助链接
需要具体的sql语句
根据文档库中的信息,您可以使用以下 SQL 语句来检查副本同步状态和主备库延迟情况:
您可以通过查询 __all_tablet
和 __all_virtual_clog_stat
系统表来获取副本的同步状态。以下是具体的 SQL 语句:
-- 查询所有 tablet 的同步状态
SELECT tablet_id, replica_type, role, last_replayed_scn, last_replayed_ls_id
FROM __all_tablet
WHERE tenant_id = 1001 -- 替换为您的租户 ID
ORDER BY tablet_id;
-- 查询 clog(提交日志)的同步状态
SELECT ls_id, member_list, last_submit_scn, last_replayed_scn
FROM __all_virtual_clog_stat
WHERE tenant_id = 1001 -- 替换为您的租户 ID
ORDER BY ls_id;
说明:
replica_type
表示副本类型(如全量副本、增量副本等)。role
表示当前副本的角色(Leader 或 Follower)。last_replayed_scn
是最后回放的日志 SCN(系统更改号),用于判断同步进度。如果某些副本的 last_replayed_scn
明显落后于 Leader 副本,则可能存在同步延迟。
如果您正在运行主备架构,可以查询主备库之间的延迟情况:
-- 查询主备库延迟
SELECT *
FROM oceanbase.__all_zone
WHERE zone_role != 'LEADER' AND tenant_id = 1001 -- 替换为您的租户 ID
ORDER BY zone;
说明:
zone_role
表示分区角色(如 LEADER、FOLLOWER)。sync_status
不是 IN_SYNC
,则表示该分区存在同步问题。根据 OCR 提取的信息,提示中有 [1 locality tasks is doing, please check]
,这表明有未完成的 locality 调整任务。您可以查询以下系统表来查看 locality 调整的状态:
-- 查询 locality 调整任务
SELECT task_id, status, start_time, finish_time
FROM __all_rootservice_event_history
WHERE event = 'LOCALITY_TASK'
ORDER BY start_time DESC LIMIT 10;
说明:
status
表示任务状态(如 RUNNING、FINISHED、FAILED)。RUNNING
,则 locality 调整正在进行中。如果上述查询结果显示某些副本未同步或存在延迟,您可以结合以下步骤进行排查:
obdiag
工具进一步采集日志,定位具体问题。希望以上 SQL 语句和建议能帮助您解决问题!如果仍有疑问,请提供更多上下文信息,我们将尽力为您解答。
更多信息请查看:
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
提供一下升级的步骤 信息不全 没有办法看
版本号没有 是哪个产品升级 具体是通过什么升级的没有说明
observe 4.2.5.1 升级到4.2.5.2, 目前是执行升级前校验脚本
稍等
你把整个报错信息 贴到文本里 发一下 看着是脚本无法执行报错
ob是社区版的么?
是的
我记得官网没有这个升级方式检查呀 集群是通过什么工具部署的
ocp
建议ocp升级
这个是升级校验脚本,不是升级脚本,其他集群升级前我们也跑了这个脚本,没有报错,就是这个集群也报错
看着像租户的运维任务没有完成呢。。ocp上有没有失败的任务?
有影响啊,把这些任务都会滚了吧