案例现象:

KingbaseES V8R6集群备库启动后,加入集群失败,sys_log日志信息提示,如下图所示:


适用版本:

kingbaseES V8R6

一、问题分析

在timeline对应的history文件中会记录每次timeline切换时所对应的lsn,如下图所示,在sys_wal目录下:

.......
-rw------- 1 kingbase kingbase 1.2K Feb 21 09:44 0000001B.history
-rw------- 1 kingbase kingbase 1.2K Feb 21 09:44 0000001C.history
-rw------- 1 kingbase kingbase 1.2K Feb 21 09:44 0000001D.history
.....

查看timelinehistory文件的信息:

  如下所示,history文件最左列显示timeline_id,第二列显示timeline切换时对应的lsn。
[kingbase@node102 sys_wal]$ cat  0000001D.history
.......
24 4/4D0000A0 no recovery target specified
25 4/51001D00 no recovery target specified
26 4/520000A0 no recovery target specified
27 4/540000A0 no recovery target specified
28 4/580000A0 no recovery target specified

二、问题解决

备库启动数据库服务时,读取控制文件,从检查点对应的lsn开始,执行recovery,一直读取到到当前数据库最大timeline所对应的wal日志,完成数据的一致性恢复,启动实例。

从备库sys_log日志信息看,timeline(29)history文件记录的lsn满足不了数据库的recovery,备库timeline(29)对应的history文件是“0000001D.history”(1D(16)=29(10)),可以将此timeline对应的history文件改名或删除,再重启备库数据库服务连接集群主库。

三、备库recovery过程

1、查看备库checkpiont信息

[kingbase@node102 bin]$ ./sys_controldata -D /data/kingbase/r6ha/data/
sys_control version number: 1201
Catalog version number: 202112261
Database system identifier: 7080367334319169673
Database cluster state: in archive recovery
sys_control last modified: Wed 01 Mar 2023 11:30:13 AM CST
Latest checkpoint location: 6/7F019F30
Latest checkpoint's REDO location: 6/7F019F00 #recovery起始lsn
Latest checkpoint's REDO WAL file: 00000031000000060000007F

2、查看备库启动后sys_log日志

2023-03-01 11:30:13.814 CST,,,2220,,63fec6c4.8ac,3,,2023-03-01 11:30:12 CST,,0,LOG,00000,"entering standby mode",,,,,,,,,""
2023-03-01 11:30:13.814 CST,,,2220,,63fec6c4.8ac,4,,2023-03-01 11:30:12 CST,,0,DEBUG,00000,"backup time 2023-03-01 11:30:11 CST in file ""backup_label""",,,,,,,,,""
2023-03-01 11:30:13.815 CST,,,2220,,63fec6c4.8ac,5,,2023-03-01 11:30:12 CST,,0,DEBUG,00000,"checkpoint record is at 6/7F019F30",,,,,,,,,""
2023-03-01 11:30:13.815 CST,,,2220,,63fec6c4.8ac,6,,2023-03-01 11:30:12 CST,,0,DEBUG,00000,"redo record is at 6/7F019F00; shutdown false",,,,,,,,,""
2023-03-01 11:30:13.818 CST,,,2220,,63fec6c4.8ac,19,,2023-03-01 11:30:12 CST,1/0,0,LOG,00000,"redo starts at 6/7F019F00",,,,,,,,,""
......
2023-03-01 11:31:49.379 CST,,,2220,,63fec6c4.8ac,10240281,,2023-03-01 11:30:12 CST,1/0,0,LOG,00000,"consistent recovery state reached at 6/AB19B9F0",,,,,,,,,""

如下图所示:

3、查看恢复完成对应的wal日志

Tips:

recovery完成时的timeline是31(16进制)(timeline=49),对应的wai日志文件0000003100000006000000AB。

-rw------- 1 kingbase kingbase  16M Mar  1 11:30 0000003100000006000000A9
-rw------- 1 kingbase kingbase 16M Mar 1 11:30 0000003100000006000000AA
-rw------- 1 kingbase kingbase 16M Mar 1 11:36 0000003100000006000000AB
-rw------- 1 kingbase kingbase 2.1K Mar 1 11:30 00000031.history

查看timeline对应history文件:

[kingbase@node102 sys_wal]$ cat 00000031.history
1 0/690000A0 no recovery target specified
2 0/6A0000A0 no recovery target specified
3 1/C50089F0 no recovery target specified
......
47 6/790014E8 no recovery target specified
48 6/7A0000A0 no recovery target specified

查看当前timeline:

prod=# select timeline_id from sys_control_checkpoint();
timeline_id
-------------
49
(1 row)

---如上所示,备库在启动数据库服务后,读取控制文件获取到检查点对应lsn后,开始应用wal日志,直到应用到最新的timeline所对应的wal日志文件达到数据一致性后,停止恢复。

KingbaseES V8R6 集群运维案例--备库timeline not contain minimum recovery point故障的更多相关文章

  1. KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例

    案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作.若主节点已经失效,希望将异地备机提升为主节点. $bin/repmgr s ...

  2. KingbaseES V8R3集群运维案例之---主库系统down failover切换过程分析

    ​ 案例说明: KingbaseES V8R3集群failover时两个cluster都会触发,但只有一个cluster会调用脚本去执行真正的切换流程,另一个有对应的打印,但不会调用脚本,只是走相关的 ...

  3. KingbaseES V8R3集群运维案例之---kingbase_monitor.sh启动”two master“案例

    案例说明: KingbaseES V8R3集群,执行kingbase_monitor.sh启动集群,出现"two master"节点的故障,启动集群失败:通过手工sys_ctl启动 ...

  4. KingbaseES V8R3集群运维案例之---cluster.log ERROR: md5 authentication failed

    案例说明: 在KingbaseES V8R3集群的cluster.log日志中,经常会出现"ERROR: md5 authentication failed:DETAIL: password ...

  5. KingbaseES V8R3集群运维案例之---用户自定义表空间管理

    ​案例说明: KingbaseES 数据库支持用户自定义表空间的创建,并建议表空间的文件存储路径配置到数据库的data目录之外.本案例复现了,当用户自定义表空间存储路径配置到data下时,出现的故障问 ...

  6. kingbaseES V8R6集群备份恢复案例之---备库作为repo主机执行物理备份

    ​ 案例说明: 此案例是在KingbaseES V8R6集群环境下,当主库磁盘空间不足时,执行sys_rman备份,将集群的备库节点作为repo主机,执行备份,并将备份存储在备库的磁盘空间. 集群架构 ...

  7. KingbaseES V8R6集群外部备份案例

    案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:集群采用CentOS 7系统,repo采用kylin V10 Server. 一主一备+外部备份 此场景为主备双机常 ...

  8. KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障

    案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...

  9. KingbaseES V8R6集群维护案例之---停用集群node_export进程

    案例说明: 在KingbaseES V8R6集群启动时,会启动node_exporter进程,此进程主要用于向kmonitor监控服务输出节点状态信息.在系统安全漏洞扫描中,提示出现以下安全漏洞: 对 ...

  10. KingbaseES V8R6集群维护之--修改数据库服务端口案例

    ​ 案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的'port'参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应 ...

随机推荐

  1. Taurus.MVC WebMVC 入门开发教程1:框架下载环境配置与运行

    前言: 之前有网友说 Mvc系列的教程对新手不友好,因此补充新手入门系列教程. 在开始使用 Taurus.Mvc 进行 Web应用开发之前,建议可以观摩一下之前的文章:WebAPI 系列教程 因为两者 ...

  2. 配置kube-apiserver基于token的认证机制

    Kubernetes除了提供了基于CA证书的认证方式,也提供了基于HTTP Token的简单认证方式.各客户端组件与API Server之间的通信方式仍然采用HTTPS,但不采用CA数字证书.这种认证 ...

  3. vue 项目npm run dev(启动)时报错The service was stopped

    vue项目yarn upgrade后vite build报错,如何项目也运行不起来了. 报错截图: 解决办法: 删除node_modules文件夹,然后执行yarn install重新生成心的node ...

  4. 在写dockerfile时替换国内源

    众所周知,Debian是linux发行版中官方源最难用的一个,这个傻逼源让我再构建docker镜像时卡了很久. ​ 那么能不能替换构建dockerfile时使用的源呢?显然是可以的 ​ 在与Docke ...

  5. 在矩池云上使用R和RStudio

    租用机器 在矩池云租用机器的时候,系统环境里搜索:R,选择 R4.2 镜像,如果需要使用RStudio,还需要在高级选项中新增一个自定义端口:8787,然后点击租用即可. 使用 JupyterLab ...

  6. 今日问题——无法获取到input的value值

    利用node环境开发系统,样式框架采用bootstrap,其中表单值可以提交到到后台,在数据库中也可查看,但是前端做表单判定的 时候发现无法获取其value值,所有input提交值都为空,判定问题出现 ...

  7. 第121篇: DOM常用类型(Document、Element)

    好家伙,本篇为<JS高级程序设计>第十四章"DOM编程"学习笔记   1.Document类型 Document 类型是 JavaScript 中表示文档节点的类型. ...

  8. TCP的链接和断开_wireShark实践

    目录 准备 TCP连接的三次握手 WireShark验证 TCP的四次挥手 WireShark验证 状态解释 其他的 # 概述 终于到了学习总结时间了 准备 TCP连接的三次握手 转自https:/ ...

  9. 二十: MySql 事务日志

    MySql 事务日志 事务有4种特性:原子性.一致性.隔离性和持久性.那么事务的四种特性到底是基于什么机制实现呢? 事务的隔离性由 锁机制 实现. 而事务的原子性.一致性和持久性由事务的 redo 日 ...

  10. Java 一悟结束异常处理 Biu丶