sys租户合并失败

【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】4.3.5
【问题描述】sys租户合并失败,原因是oceanbase.__all_sequence_value合并失败
【复现路径】问题出现前后相关操作

这是系统表,我想从其他库复制一份覆盖不了

2 个赞

最好能有详细的日志看看

3 个赞


能根据截图中trace_id grep trace_id observer.*的日志么 提供一下 看看具体什么问题导致

3 个赞

也可以使用obdiag根因分析 确定合并失败的原因
obdiag rca run --scene=major_hold
https://www.oceanbase.com/docs/common-obdiag-cn-1000000002488219
https://www.oceanbase.com/docs/common-obdiag-cn-1000000002488185

3 个赞

3 个赞

新建 文本文档.txt (78.4 KB)

3 个赞

其他业务租户这几天同样发生过合并失败的问题,但是找到对应的数据表删除后重建,合并任务就过去了

2 个赞

这个是obdiag310的bug 升级到320就没有问题了

1 个赞

sys租户有做过什么操作么?

1 个赞

没有,就是加了几个租户,没有什么特别操作

2 个赞

obdiag rca run --scene=major_hold

obdiag display-trace 3911f2de-0dee-11f0-9a32-00163eb23b0c
新建 文本文档.txt (47.4 KB)

1 个赞

obdiag_major_hold_20250331130720.zip (65.7 KB)

sys和ocp_meta租户不合并或者长期处于合并状态,对数据库有什么影响?

确定合并异常状态
select * from __alll_zone where name=‘suspend_merging’ and value=1;

select * from __all_zone where name = “is_merge_error” or info = “ERROR”;

select * from __all_rootservice_event_history where module = “daily_merge” and event like “%merge_error%” order by gmt_create desc limit 1;
确定当前合并状态
select * from __all_zone where name = “frozen_version” or name = “last_merged_version”;

select * from __all_zone where name = “merge_status”;

select * from __all_zone where name = “global_broadcast_version” or name = “broadcast_version”;

–查询的信息 保存在文本里 提供一下 注意转义字符

1 个赞

全是空记录。在sys租户下查询的

select * from GV$OB_COMPACTION_DIAGNOSE_INFO WHERE TENANT_ID = 1;

select * from cdb_ob_table_locations where TENANT_ID = 1 and TABLET_ID = 215;

打开__all_sequence_value,报错如下。合并失败就是这张表。我用这个方法找其他租户合并失败涉及的表,都是打不开,后来把相关表删除,重新建一个就恢复合并了。
但是sys租户是系统租户,不能drop表
image

看着报错信息是合并数据解析失败了 是不是升级过observer

1 个赞

sys租户下查询
select * from oceanbase.__all_rootservice_event_history where event=‘admin_run_upgrade_job’;
select * from __all_rootservice_job where job_type like ‘%upgrade%’;

是的,从4.3.4升级到4.3.5


两个sql都没有结果