人大金仓数据库KingbaseES wal日志归档相关总结

2023-12-26 10:28:40

金仓数据库KingbaseES wal日志归档相关总结关键字:

KingbaseES、 归档、人大金仓、KingbaseES

什么是归档?

KingbaseES在归档模式下,当日志切换时,被切换的日志将归档到用户指定的归档路径下,保证日志文件完整,这对于物理恢复时可以恢复到任意时间点非常重要。

如何配置归档?

配置归档需要修改kingbase.conf文件中的参数,并重新启动数据库。archive_mode配置项可选值为always、on、off,默认值为off,当设置为on或always表示启用归档模式。

1.设置为on,只有主节点做归档

2.设置为always,主备节点都会做归档。在always模式下,从归档还原或流式复制流的所有文件都将被归档(再次)。

3.设置为off模式,表示不启用归档。

怎样就会触发日志归档?

方法一:手动归档

select pg_switch_xlog();后,WAL 会切换到新的日志,这时会将老的 WAL日志归档

方法二:WAL 日志写满后触发归档

WAL 日志被写满后会触发归档 archive_command 设置的内容

方法三:设置 archive_timeout

假如设置 archive_timeout=60 ,那么每 60 s ,会触发一次 WAL 日志切换,同时触发日志归档。

配置归档级别

wal_level参数决定多少信息写入到 WAL 中,这个参数只能在服务器启动时设置。

  • Minimal级别--只写入从崩溃或立即关机恢复所需要的信息,不能通过基础备份和wal日志恢复数据库。
  • Replica级别--该级别支持wal归档和复制
  • logical级别 --在replica级别的基础上添加了支持逻辑解码所需的信息

配置归档命令

1.非压缩

archive_command = 'cp %p /arc/%f && echo %f >> /arc/archive.list‘

命令1 && 命令2 命令1执行成功后才会执行命令2

命令1 || 命令2 命令1执行失败后才会执行命令2

2.压缩

archive_command = 'gzip < %p > /arc/%f.gz'

archive_command = 'bzip2 < %p > /arc/%f.bz2'

archive_command = 'lz4 -f -q -z %p /arc/%f.lz4‘

archive_command 是用来设置归档行为的命令,重要的库在存储空间允许的情况下会一直开启归档,而有些相对不是很重要的库,可以这样编写archive_command = '/bin/date'

归档统计

归档统计启用:配置sys_backup.conf时将_archive_statistics设置为y,执行sys_backup.sh init。将所有节点(包括repo节点和kes节点)的sys_rman.conf内的archive-statistics=n改为y,后续归档日志就会被记录到归档统计文件中去。

注:归档统计启用前的归档日志不会被记录,也不会被查询出来。

在未开启时,即配置文件内archive-statistics=n,但命令行指定archive-statistics=y做查询,会去读取stat.info、stat.info.copy文件,若归档统计文件内无记录则显示零条,若有则显示具体记录的信息。此时 --type=archive参数会报错,--type=archive参数读取stat.info/stat.info.copy文件展示。

和不加--type=basic一样,就是最基本的info输出,不受归档统计开关的控制

命令行指定archive-statistics=y做查询,会去读取stat.info、stat.info.copy文件,若归档统计文件内无记录则显示零条,若有则显示具体记录的信息。

其中,stat.info文件为stanza-create时生成(类似于backup.info、archive.info),sys_backup.sh init时会调用stanza-create命令,一般不需要关心它的生成。测试多repo时,需要手动stanza-create,就会发现生成了该文件。归档子目录下的pstat.info/pstat.info.copy文件是在归档统计启用时,该归档子目录被第一次归档文件时由sys_rman创建出来的。

若删除了正在归档的子目录,然后继续触发归档,就会造成stat.info内记录的该子目录内的文件数量与pstat.info内记录的不一致,该异常情况会被归档完整性检查特性检测到,使用verify命令即可发现。

文章来源:https://blog.csdn.net/sui2019510805/article/details/135184409
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。