文档中心MogDBMogDB StackUqbar
v5.0

文档:v5.0

支持的版本:

其他版本:

文件损坏处理

可获得性

本特性自MogDB 5.0.6版本开始引入。

特性简介

本特性针对数据库文件损坏或缺失导致的异常行为提供处理能力。

客户价值

确保MogDB在遇到极端场景时能持续提供服务能力。

特性描述

操作系统或人为因素可能导致数据库文件损坏或缺失,这种情况会引发以下异常行为:

  • 停库时因文件缺失导致checkpoint无法完成,从而无法停库;
  • checkpoint命令发生hung/core;
  • 创建database、tablespace时发生hung/core;
  • 系统函数pg_switch_xlog、create_physical_replication_slot_for_archive等hung/core;
  • page checksum损坏,且数据库在重启redo或者备库apply过程中使用到损坏的page时发生停库,因而启动失败。

本特性新增2个GUC参数针对以上异常场景提供处理能力。

data_sync_failed_ignore参数用于控制pagewriter执行fsync失败后,是否丢弃待sync的项,设置为off可正常停库。

damage_page_ignore控制在redo时是否忽略产生损坏的page,设置为on可强制启动数据库(需设置force_promote=on)。

参数说明

data_sync_failed_ignore

参数说明:控制pagewriter执行fsync失败后,是否丢弃待sync的项。该参数属于SIGHUP类型参数。

取值范围:布尔型

  • on表示fsync失败会导致core停库。
  • off表示fsync失败则进行重试,不会core,可以正常停库。

默认值:off

damage_page_ignore

参数说明:控制在redo时是否忽略产生损坏的page,以强制启动数据库。该参数属于SIGHUP类型参数。

取值范围:布尔型

  • on表示忽略产生损坏的page,强制启动数据库。
  • off表示不忽略产生损坏的page,数据库启动失败。

默认值:off

相关页面

data_sync_failed_ignoredamage_page_ignore

Copyright © 2011-2024 www.enmotech.com All rights reserved.