KingbaseES V8R6运维案例之---数据库resetwal后启动失败
KingbaseES V8R6运维案例之---数据库resetwal后启动失败
案例说明:
KingbaseES V8R6集群触发failover切换后,原主库自动recovery失败,现在需要将原主库启动为单实例的数据库运行,在执行了resetwal后,启动数据库失败。sys_log记录以下故障信息:
适用版本:
KingbaseES V8R6
一、问题分析
集群原主库failover后执行rewind失败,先将原主库启动为单实例数据库,执行如下操作后,数据库启动失败:
sys_resetwal -D /data/kdb_data/data/ -f
sys_ctl -D /data/kdb_data/data/ start
1、查看sys_log日志信息
---如上所示,数据库启动找不到有效的检查点“invaild checkpoint record",启动失败。
2、查看data目录
---如上所示,在data目录下有backup_label文件,此文件一般在执行数据库物理备份时创建,备份成功后会被清理。
3、清理backup_label文件
数据库在线备份开始时,会调用pg_start_backup函数执行一次checkpoint,并生成backup_label文件。当使用在线备份集进行恢复时,backupStartPoint就是上述checkpoint记录对应的LSN,当达到了该LSN,该值置为0,在置为0之前,数据库不能启动。该值被记录在backup_label文件中如下,直到在线备份结束,pg_stop_backup将该文件删除。这样就保证了在备份过程中,数据库崩溃了,可以默认从备份开始时的日志检查点开始恢复。
kingbase@node101 data]$ cat backup_label.old
START WAL LOCATION: 0/4E000028 (file 00000009000000000000004E)
CHECKPOINT LOCATION: 0/4E000088
BACKUP METHOD: streamed
BACKUP FROM: master
START TIME: 2023-06-01 10:56:17 CST
LABEL: repmgr base backup
START TIMELINE: 9
如下图所示,根据sys_log提示,清理backup_label文件:
二、问题解决
1、在data目录下删除backup_label文件
2、重新启动数据库实例,启动成功。
三、总结
resetwal可以解决在数据库启动时,出现”invalid checkpoint record“的故障,通过重建checkpoint,启动数据库服务,但是会导致数据库丢失部分事务。使用此操作恢复数据库的场景是,生产可以承受部分数据丢失,但必须启动数据库服务。
KingbaseES V8R6运维案例之---数据库resetwal后启动失败的更多相关文章
- 运维案例 | Exchange2010数据库损坏的紧急修复思路
关注嘉为科技,获取运维新知 Exchange后端数据库故障,一般都会是比较严重的紧急故障,因为这会直接影响到大面积用户的正常使用,而且涉及到用户数据.一旦遇到这种级别的故障,管理员往往都是在非常紧 ...
- KingbaseES V8R6备份恢复案例之---自定义表空间指定恢复目录数据恢复
案例说明: KingbaseES V8R6在通过sys_rman执行物理备份恢复时,可以通过参数'--kb1-path',指定恢复的数据(data)目录,但如果原备份中包含自定义表空间时,需要建立表空 ...
- ylbtech-KeFuYunWei(服务运维考核系统)-数据库设计
ylbtech-DatabaseDesgin:ylbtech-KeFuYunWei(服务运维考核系统)-数据库设计 DatabaseName:KEFUYUNWEI Model:Admin 用户后台管理 ...
- KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障
案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...
- KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例
案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作.若主节点已经失效,希望将异地备机提升为主节点. $bin/repmgr s ...
- KingbaseES V8R6备份恢复案例之---同一数据库创建不同stanza备份
案例说明: 在生产环境,有的应用需要调用数据库的sys_rman做备份,为了区分数据库自身的sys_rman备份和应用的备份,可以使用不同的stanza name创建备份.本案例介绍了,如何在King ...
- KingbaseES V8R6备份恢复案例之--删除test数据库后sys_backup.sh备份
案例说明: KingbaseES V8R6通过sys_backup.sh执行物理备份,默认sys_backup.sh执行备份初始化时,需要连接test数据库进行身份的认证:在一些生产环境为了安全需求, ...
- KingbaseES V8R6 维护管理案例之---Kstudio在CentOS 7启动故障
案例说明: 在CentOS 7上安装KingbaseES V8R6C006数据库后,启动Kstudio图形界面启动失败,gtk动态库加载失败,安装gtk相关动态库后,问题解决. 适用版本: Kin ...
- KingbaseES V8R6备份恢复案例之---手工清理冗余历史备份
案例说明: 对于KingbaseES V8R6的通过sys_rman执行的物理历史备份,可以在执行备份时,备份的保留(retention)策略自动清理.不能通过手工删除备份,可以通过expire参数手 ...
- 企业运维 | MySQL关系型数据库在Docker与Kubernetes容器环境中快速搭建部署主从实践
[点击 关注「 WeiyiGeek」公众号 ] 设为「️ 星标」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 本章目录 目录 ...
随机推荐
- diffstat命令
diffstat命令 diffstat命令根据diff的比较结果,统计各文件的插入.删除.修改等差异计量. 语法 diffstat [options] [files] 参数 -c: 输出的每一行都以# ...
- Laravel入坑指南(5)——请求与响应
作为互联网典型的Web应用,接收用户请求的数据,并将处理的结果向用户进行响应,是最基础也是最必备的功能.在原生的PHP中,我们常用$_POST.$_GET.$_REQUEST和$_FILES对不同的请 ...
- docker基于commit方式为镜像添加SSH服务
下载启动镜像 docker pull ubuntu: 18.04 docker run -it ubuntu:18.04 bash 配置软件源 备份/etc/apt/sources.list#备份cp ...
- 【Android 逆向】【攻防世界】easyjava
1. apk 安装到手机,提示输入flag 2. jadx 打开apk看看 private static char a(String str, b bVar, a aVar) { return aVa ...
- 搜索引擎RAG召回效果评测MTEB介绍与使用入门
RAG 评测数据集建设尚处于初期阶段,缺乏针对特定领域和场景的专业数据集.市面上常见的 MS-Marco 和 BEIR 数据集覆盖范围有限,且在实际使用场景中效果可能与评测表现不符.目前最权威的检索榜 ...
- C C++指针面试题零碎整理
最基础的指针如下: int a; int* p = &a; 答:p指向a的地址,&是取a的地址.*指的是指针中取内容的符号. 2.str[]和str*的区别: char str1[] ...
- 第一百一十八篇: JavaScript 原型链式继承
好家伙,好家伙,本篇为<JS高级程序设计>第八章"对象.类与面向对象编程"学习笔记 1.原型链 原型链是JS实现"继承"的方案之一 ECMA-262 ...
- DataGear 自定义数据可视化图表
DataGear内置了很多常用的图表(折线图.柱状图.饼图.散点图.雷达图.地图等等),能满足大部分数据可视化需求,当内置图表无法满足时,则可以通过自定义图表或插件的方式,实现特定业务的数据可视化需求 ...
- 读书笔记:CSAPP 11章 网络编程
深入理解计算机系统 第11章 本章代码:Index of /afs/cs/academic/class/15213-f15/www/code/22-netprog2 其中包含本章课本示例代码,测试 T ...
- Kali 获取任意设备信息
注意:仅供测试 请勿商用 可获取对方位置 误差小于500m 访问摄像头 访问麦克风 一. 安装环境 #01 mac 安装虚拟机 下载地址:https://www.macyy.cn/archives/1 ...