oceanbase无法执行DDL

【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.3.5
【问题描述】无法执行DDL
【复现路径】ERROR 4179 (HY000): Operation not allowed now
OCP上有长时间未执行成功冻结的报警

1 个赞

OceanBase 社区已接收您的帖子,正在跟进中。

黑屏登录也不能执行DDL?这个还是很少见啊

2 个赞

ocp上有没有提示呢

2 个赞

官方给力,解决了,排障主要思路如下

  1. 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”)
  2. 确认升级情况, 发现确实在升级
    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.)
  3. 查看历史事件发现升级时版本是4.3.5.2, 但实际上现在版本是4.3.5.5
    select * from DBA_OB_CLUSTER_EVENT_HISTORY where event like ‘%upgra%’ limit 5;
  4. 查看现在集群版本, 发现有一个节点版本不一样
    obclient(root@sys)[oceanbase]> select SVR_IP,ZONE,MODIFY_TIME,BUILD_VERSION from DBA_OB_SERVERS ;
  5. check status发现确实有问题
    python /ob路径/etc/upgrade_health_checker.py -h 127.0.0.1 -P 2881 -u ‘root@sys’ -p ‘’ -z ‘zone1’
  6. 手动升级
    – 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;
  7. 升级模式打开
    ALTER SYSTEM SET enable_upgrade_mode = ‘True’;
  8. 在另一台已升级的机器上执行
    python upgrade_post.py -h 127.0.0.1 -P 2881 -u ‘root@sys’ -p ‘’

升级完毕, ddl恢复

1 个赞