如何确认gbase8a中nodedatamap 系统表是否损坏

linhm_y 2021-08-27 16:24:58

nodedatamap 系统表用于计算一致性hash,数据hash 分布时要访问此表。该表存储于每个
节点gcluster 和gnode 的gclusterdb 数据库和gbase 数据库下。此表是安装集群后,通过
initnodedatamap 命令初始化的。
表中记录数为65536 行。表结构如下:
CREATE TABLE "nodedatamap" (
GBase 8a 知识FAQ 手册V4.3.1
65
"hashkey" int(11) DEFAULT NULL,
"nodeid" int(11) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace'
可以利用crc32 函数查询判断数据hash 分布后落在哪个节点,如:
select nodeid from nodedatamap where hashkey = crc32('13184647638')%65536;
可以使用以下SQL 判断表是否损坏,如SQL 执行报错,则说明表已经损坏.
select count(*) from gclusterdb.nodedatamap;
select distinct nodeid from gclusterdb.nodedatamap;
select * from gclusterdb.nodedatamap;
如果确认nodedatamap 表损坏,可以执行以下命令重新初始化此表,执行前需确保gcluster
没有其它操作:refreshnodedatamap。
 

...全文
4788 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-大数据 发布问题, 以便更快地解决您的疑问

7,393

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧