首页 > 其他分享 >KingbaseES V8R6 集群运维案例--备库timeline not contain minimum recovery point故障

KingbaseES V8R6 集群运维案例--备库timeline not contain minimum recovery point故障

时间:2023-05-09 19:48:43浏览次数:36  
标签:11 备库 V8R6 运维 timeline 30 kingbase CST recovery

案例现象:
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日志文件达到数据一致性后,停止恢复。

标签:11,备库,V8R6,运维,timeline,30,kingbase,CST,recovery
From: https://www.cnblogs.com/kingbase/p/17172557.html

相关文章

  • KingbaseES V8R6 集群运维案例--麒麟系统bug导致sys_monitor.sh无法启动集群
    案例说明:麒麟信安操作系统,在部署了KingbaseESV8R6集群后,sys_monitor.sh在启动集群时,启动数据库服务失败,导致集群无法正常启动。后连接现场分析发现,此环境只要通过ssh或sys_securecmd工具远程启动数据库服务都会失败。操作系统版本如下:适用版本:KingbaseESV8R6一、问题现象......
  • KingbaseES V8R6 Deallocate 语句使用说明
    用途DEALLOCATE被用来释放一个之前PREPARE好的SQL语句。如果不显式地释放一个PREPARE语句,那么会话结束时会释放它。prepare语句类似oracle的绑定变量绑定过程:1)PREPARE,准备绑定变量SQL2)EXECUTE,绑定并执行3)DEALLOCATE,释放绑定变量测试1.只有本地会话可以看的prepare语句......
  • KingbaseES V8R6 最老事务阻止vacuum freeze
    前言最近生产环境发生几次由于长事务导致表、库年龄没法回收的情况。我们要规避这种情况的发生,不要等发生了再去强制中断会话连接。当数据库中存在最老事务版本xmin,那么早于他的快照可以被标记为frozen,如果在最老事务之后产生的快照版本,不被标记为frozen。这个最老事务通常被认......
  • KingbaseES V8R6 sys_squeeze 使用
    sys_squeeze介绍sys_squeeze是KingbaseES的一个扩展插件,该组件将提供人工调用命令实现对表deadtuple的清理工作。该组件在清理表空间的过程中,不会全程加排他锁,能保证业务运行期间尽可能不影响对目标表的访问。而vacuumfull也可实现死亡元组占用空间释放,但是缺点是会锁表,阻止业......
  • KingbaseES V8R6备份恢复系列之 -- system-Id不匹配备份故障
    ​KingbaseESV8R6备份恢复案例之---system-Id不匹配备份故障案例说明:在KingbaseESV8R6执行备份时,在sys_log日志中出现system-id不一致的故障并伴随有归档失败,故障如下图所示:适用版本:KingbaseESV8R6一、问题分析1、查看当前数据库system-id可以通过sys_controldata-D......
  • KingbaseES数据库运维案例之---permission denied to create "sys_catalog.xxx"
    ​KingbaseES数据库运维案例之---permissiondeniedtocreate"sys_catalog.bdsj_bdgl_test"案例说明:在KingbaseES数据库kingbase.conf修改了search_path='"$user",sys_catalog'后,在数据库下执行创建对象操作,出现以下故障。适用版本:KingbaseESV8R6一、问题现象如下所示......
  • KingbaseES V8R6运维案例之---MySQL和KingbaseES字符串排序规则对比
    案例说明:相同数据排序后查询,在MySQL和KingbaseES下得到的排序顺序不一致,本案例从MySQL和KingbaseES的排序规则分析,两种数据库排序的异同点。适用版本:KingbaseESV8R6、MySQL8.0一、MySQL的排序规则1、排序规则(collation)排序规则是依赖于字符集,字符集是用来定义MySQL存储不......
  • KingbaseES V8R3 集群运维系列 -- sync_flag参数配置
    ​案例说明:在KingbaseESV8R3集群一主二备的架构中,配置了流复制为同步(sync)模式,但是集群启动后,流复制状态中显示备库是async模式(备库和主库数据已经同步),从备库的recovery.log日志也可以看到,备库启动后被复制模式设置为async模式。如下图备库recovery.log:适用版本:KingbaseES......
  • KingbaseES V8R6 等待事件之LWLock Buffer_IO
    等待事件含义当进程同时尝试访问相同页面时,等待其他进程完成其输入/输出(I/O)操作时,会发生LWLock:BufferIO等待事件。其目的是将同一页读取到共享缓冲区中。每个共享缓冲区都有一个与LWLock:BufferIO等待事件相关联的I/O锁,每次都必须在共享缓冲区外部检索页。此锁用于处理多个会......
  • KingbaseES V8R3 集群运维系列 -- failover切换后集群自动恢复
    ​案例说明:KingbaseESV8R3集群默认在触发failover切换后,为保证数据安全,原主库需要通过人工介入后,恢复为新的备库加入到集群。在无人值守的现场环境,需要在触发failover切换后,主库可以自动恢复为新备考加入集群,提升架构的高可用性。适用版本:KingbaseESV8R3集群架构:node_id......