【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.3.5
【问题描述】无法执行DDL
【复现路径】ERROR 4179 (HY000): Operation not allowed now
OCP上有长时间未执行成功冻结的报警
1 个赞
OceanBase 社区已接收您的帖子,正在跟进中。
黑屏登录也不能执行DDL?这个还是很少见啊
2 个赞
ocp上有没有提示呢
2 个赞
官方给力,解决了,排障主要思路如下
- grep错误码, 从错误日志里发现集群处于升级过程中导致的无法操作
[2026-04-07 20:16:44.651626] WDIAG [WR] process (ob_wr_snapshot_rpc_processor.cpp:149) [1844295][T1_L0_G15][T1][YB420A00162A-00064EDBD62A93DF-0-0] [lt=27][errcode=-4179] in upgrade, can not do wr snapshot(ret=-4179, ret=“OB_OP_NOT_ALLOW”) - 确认升级情况, 发现确实在升级
show parameters like ‘_upgrade_stage’
→ value=DBUPGRADE
参数介绍 (specifies the upgrade stage. NONE: in non upgrade stage, PREUPGRADE: in pre upgrade stage, DBUPGRADE: in db uprade stage, POSTUPGRADE: in post upgrade stage.) - 查看历史事件发现升级时版本是4.3.5.2, 但实际上现在版本是4.3.5.5
select * from DBA_OB_CLUSTER_EVENT_HISTORY where event like ‘%upgra%’ limit 5; - 查看现在集群版本, 发现有一个节点版本不一样
obclient(root@sys)[oceanbase]> select SVR_IP,ZONE,MODIFY_TIME,BUILD_VERSION from DBA_OB_SERVERS ;
- check status发现确实有问题
python /ob路径/etc/upgrade_health_checker.py -h 127.0.0.1 -P 2881 -u ‘root@sys’ -p ‘’ -z ‘zone1’ - 手动升级
– sys
ALTER SYSTEM STOP ZONE zone1;
ALTER SYSTEM STOP SERVER ‘xx.41:2882’;
– 对.41机器, 从别的机器scp过来升级好的二进制文件直接替换
sudo kill -15 pid
sudo mv observer observer.4352upgradebak;
sudo mv ~/observer /opt/oceanbase/oceanbase/bin/
启动observer
– sys
ALTER SYSTEM START SERVER ‘xx.41:2882’;
ALTER SYSTEM START ZONE zone1; - 升级模式打开
ALTER SYSTEM SET enable_upgrade_mode = ‘True’; - 在另一台已升级的机器上执行
python upgrade_post.py -h 127.0.0.1 -P 2881 -u ‘root@sys’ -p ‘’
升级完毕, ddl恢复
1 个赞
