暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss btree 索引故障情况下应对策略

原创 墨天轮 2020-11-12
1057

问题现象

偶发索引丢失错误,报错

ERROR: index 'xxxx_index' contains unexpected zero page
或
ERROR: index 'pg_xxxx_index' contains unexpected zero page”或 “ERROR: compressed data is corrupt

原因分析

该类错误是因为索引发生故障导致的。以下为可能引发故障的原因:

● 由于软件bug或者硬件原因导致的索引不再可用。

● 索引包含许多空的页面或者几乎为空的页面。

● 并发执行DDL过程中,发生了网络闪断故障

● 创建并发索引时失败,遗留了一个失效的索引,这样的索引无法被使用。

● 执行DDL或者DML操作时,网络出现故障。

处理办法

执行REINDEX命令进行索引重建。

  • 步骤1 以操作系统用户omm登录主机。

  • 步骤2 使用如下命令连接数据库。

    gsql -d postgres -p 8000 -r

  • 步骤3 重建索引。

    • 如果进行DDL或DML操作时,因软硬件故障导致索引问题,请执行如下方法重建表索引:

      REINDEX TABLE tablename;

    • 如果错误提示中是xxxx_index,其中xxxx代表用户表名。请执行如下方法之一重建 表的索引:

      REINDEX INDEX indexname; 或者 REINDEX TABLE tablename;

    • 如果错误提示中pg_xxxx_index,说明是系统表索引存在问题。

    请执行如下方法重 建表索引:

    REINDEX SYSTEM databasename;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

文集目录
暂无数据