GBase 8a ERROR 1238 Variable is a read only variable

这个参数属于静态只读参数,不能用 set global / set 在线修改,只能改配置文件,重启 gbase 服务生效。

GBase8a 参数分两类:

  1. 动态参数:set global xxx=val 在线直接改,无需重启
  2. 静态只读参数:启动时一次性加载,运行中禁止修改,执行 set 就报 1238 常见只读参数:gbase_memory_pct_target、server_id、port、basedir、部分内存参数等

操作步骤(GBase8a MPP 集群)

集群所有节点(gcluster 调度节点 + gnode 数据节点)都要修改

  1. 找到配置文件
# gcluster调度节点
/opt/gbase/gcluster/config/gbase_8a_gbase.cnf
# gnode数据节点
/opt/gbase/gnode/config/gbase_8a_gbase.cnf
  1. 编辑 cnf,在[gbase]段增加 / 修改目标参数
[gbase]
gbase_memory_pct_target=0.7
  1. 停止集群(业务低峰执行)
gcadmin stopall
  1. 启动集群
gcadmin startall
  1. 登录验证
show variables like 'gbase_memory_pct_target';

先判断:参数到底支不支持动态修改

--查看参数,看是否支持动态修改
show variables like '参数名';

没有 “动态” 属性、启动时加载的参数,全部只读。

posted @ 2026-09-10 10:42  如烟大帝  阅读(17)  评论(0)    收藏  举报