GBase 8s
运维管理
文章

锁表的一个特殊案例

GBase社区管理员
发表于2023-05-16 10:47:2970次浏览0个评论

create table  sg_con_pwrgrid_r_topo
(
effective_time date,
expiry_time date,
first_node_id varchar(22),
---id varchar(18) not null disabled,
owner varchar(6) not null disabled,
first_node_id varchar(22),
stamp varchar(64) not null disabled,
primary key (id)  disabled
) extent size 1024 next size 2048 lock mode row;

客户反馈是经常做一个update ... where id =? 就锁表。

发现主键禁用;

oncheck -cDI dbname:tabname  发现索引页是 disabled;于是怀疑是where id=不走索引,全表扫描所致。

于是建议,启用约束:

set constraints for  sg_con_pwrgrid_r_topo  enabled;

执行了N长时间没有成功。

最后居然发现是该服务器的内存存在异常,导致了问题的存在。

因为在重启数据库的时候发现内存无法分配,把内存缩小之后可以启动,于是怀疑内存不足所致。

评论已关闭