KingbaseES V8R3集群备份恢复案例之--- timingbackup备份
案例说明:
KingbaseES V8R3集群自带了timingbackup.sh的脚本,可以通过一个脚本执行逻辑和物理备份,逻辑备份采用sys_dump,物理备份适用sys_basebackup,本案例详细记录了脚本的使用。
适用版本:
KingbaseES V8R3
1、查看数据库归档配置
[kingbase@node101 bin]$ cat ../data/kingbase.conf |grep -i archive_
archive_command = 'test ! -f /home/kingbase/cluster/HAR3/archivedir/%f && cp %p /home/kingbase/cluster/HAR3/archivedir/%f'
archive_mode=on
archive_dest='/home/kingbase/cluster/HAR3/archivedir
2、配置备份配置文件
1)脚本文件存储路径
[kingbase@node101 r3_cluster_backup]$ pwd
/home/kingbase/cluster/HAR3/db/kb_scripts/kb_backup/r3_cluster_backup
[root@node101 r3_cluster_backup]# ls -lh
total 16K
-rwxr-xr-x 1 kingbase kingbase 1.1K Oct 25 11:31 backup.conf
-rwxr-xr-x 1 kingbase kingbase 9.9K Oct 25 14:08 timingbackup.sh
2)配置backup.conf文件
Tips:备份需要在主库上执行,并且脚本需要root用户执行。
[kingbase@node101 r3_cluster_backup]$ cat backup.conf |grep -v ^#|grep -v ^$
kb_path=/home/kingbase/cluster/HAR3/db/bin/
cron_user=kingbase
cron_day=1
cron_hour=2
db_host=127.0.0.1
db_port=54321
db_user=SYSTEM
pass_encryption=0
db_pass=123456
backup_path=/data/kingbase/r3_bk
archive_path=/home/kingbase/cluster/HAR3/archivedir
db_list='prod' # 逻辑备份需要指定备份的数据库
keep_day=7
physical_keep_backup_file_num=3
logical_keep_backup_file_num=7
backup_mode=both # both执行逻辑和物理备份,logical逻辑备份,physical物理备份。
3、执行备份脚本
Tips:备份根据backup.conf的配置,执行相应的备份,并且在备份结束时,自动清理冗余的历史备份和归档日志。
[root@node101 r3_cluster_backup]# sh timingbackup.sh backup
Tue Oct 25 11:49:31 CST 2022 backup begin...
Tue Oct 25 11:49:31 CST 2022 logical backup and tar logical_backup_20221025114931.tar.gz done.
Tue Oct 25 11:49:31 CST 2022 remove backup file by retention strategy done.
Tue Oct 25 11:49:35 CST 2022 physical backup and tar physical_backup_20221025114931.tar.gz done.
Tue Oct 25 11:49:35 CST 2022 remove backup file by retention strategy done.
Tue Oct 25 11:49:35 CST 2022 remove archives done.
Tue Oct 25 11:49:35 CST 2022 backup done.
查看备份结果:

4、归档日志的清理
Tips:在执行sys_basebackup后,在wal归档日志目录下,创建backup的wal日志文件,然后调用sys_archiveclean工具清理backup以前的wal日志。

1、查看归档日志信息
[kingbase@node101 sys_xlog]$ ls -lh
total 273M
-rw------- 1 kingbase kingbase 16M Oct 25 11:48 00000001000000000000000D
-rw------- 1 kingbase kingbase 16M Oct 25 11:48 00000001000000000000000E
-rw------- 1 kingbase kingbase 16M Oct 25 11:49 00000001000000000000000F
-rw------- 1 kingbase kingbase 16M Oct 25 11:49 000000010000000000000010
-rw------- 1 kingbase kingbase 306 Oct 25 11:49 000000010000000000000010.00000028.backup
-rw------- 1 kingbase kingbase 16M Oct 25 11:49 000000010000000000000011
2、查看备份日志backup.log
.......
Tue Oct 25 11:49:31 CST 2022 /home/kingbase/cluster/HAR3/db/bin//sys_dump -h 127.0.0.1 -p 54321 -U SYSTEM -W ****** -Fc -f /data/kingbase/r3_bk/logical/PROD_20221025114931.dmp PROD
Tue Oct 25 11:49:31 CST 2022 rm -fr --interactive=never *_20221025114931.dmp
Tue Oct 25 11:49:31 CST 2022 /home/kingbase/cluster/HAR3/db/bin//sys_basebackup -h127.0.0.1 -p 54321 -U SYSTEM -W ****** -F p -X stream -D /data/kingbase/r3_bk/physical/20221025114931_data
sys_archivecleanup: keep WAL file "/home/kingbase/cluster/HAR3/archivedir/000000010000000000000010" and later
sys_archivecleanup: removing file "/home/kingbase/cluster/HAR3/archivedir/00000001000000000000000E"
sys_archivecleanup: removing file "/home/kingbase/cluster/HAR3/archivedir/00000001000000000000000F"
如下图所示,wal日志清理:

5、总结
1、此脚本对于逻辑备份,需要指定数据库备份,对于数据库发生变化的实例,要及时更新backup.conf配置。
2、物理备份采用sys_basebackup,不支持增量备份,对于数据量大的环境,要谨慎使用,增量备份需要使用sys_rman执行。
KingbaseES V8R3集群备份恢复案例之--- timingbackup备份的更多相关文章
- KingbaseES V8R3集群管理维护案例之---集群迁移单实例架构
案例说明: 在生产中,需要将KingbaseES V8R3集群转换为单实例架构,可以采用以下方式快速完成集群架构的迁移. 适用版本: KingbaseES V8R3 当前数据库版本: TEST=# s ...
- KingbaseES V8R3集群运维案例之---主库系统down failover切换过程分析
案例说明: KingbaseES V8R3集群failover时两个cluster都会触发,但只有一个cluster会调用脚本去执行真正的切换流程,另一个有对应的打印,但不会调用脚本,只是走相关的 ...
- KingbaseES V8R3集群运维案例之---kingbase_monitor.sh启动”two master“案例
案例说明: KingbaseES V8R3集群,执行kingbase_monitor.sh启动集群,出现"two master"节点的故障,启动集群失败:通过手工sys_ctl启动 ...
- KingbaseES V8R3集群运维案例之---cluster.log ERROR: md5 authentication failed
案例说明: 在KingbaseES V8R3集群的cluster.log日志中,经常会出现"ERROR: md5 authentication failed:DETAIL: password ...
- KingbaseES V8R3集群运维案例之---用户自定义表空间管理
案例说明: KingbaseES 数据库支持用户自定义表空间的创建,并建议表空间的文件存储路径配置到数据库的data目录之外.本案例复现了,当用户自定义表空间存储路径配置到data下时,出现的故障问 ...
- KingbaseES V8R3集群管理和维护案例之---failover切换wal日志变化分析
案例说明: 本案例通过对KingbaseES V8R3集群failover切换过程进行观察,分析了主备库切换后wal日志的变化,对应用者了解KingbaseES V8R3(R6) failover ...
- KingbaseES V8R3集群维护案例之---pcp_node_refresh应用
案例说明: 在一次KingbaseES V8R3集群切换分析中,运维人员执行了pcp_node_refresh,导致集群发生了failover的切换.此文档对pcp_node_refresh工具做了应 ...
- KingbaseES V8R3集群维护案例之---在线添加备库管理节点
案例说明: 在KingbaseES V8R3主备流复制的集群中 ,一般有两个节点是集群的管理节点,分为master和standby:如对于一主二备的架构,其中有两个节点是管理节点,三个数据节点:管理节 ...
- KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例
案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作.若主节点已经失效,希望将异地备机提升为主节点. $bin/repmgr s ...
- KingbaseES V8R3 集群专用机网关失败分析案例
KingbaseES R3集群网关检测工作机制: 1.Cluster下watchdog进程在固定间隔时间,通过ping 网关地址监控链路的连通性,如果连通网关地址失败,则修改cluster sta ...
随机推荐
- Js遍历对象总结
Js遍历对象总结 Js遍历对象的方法主要有for in.Object.keys().Object.getOwnPropertyNames().Reflect.ownKeys().Object.getO ...
- MySQL5.7的账号回收权限
因MySQL无排除表权限功能,测试隔离表回收权限以下方案: 1,代理账号(角色)方案 方案:创建一个代理账号(角色),对库的800多张表逐个赋权,58张隔离表赋只读,其他30多个账号绑定到这个代理账号 ...
- webrtc 的理解
常规视频的传输包括以下几个步骤:采集,编码,推流,转码,分发,拉流,解码和渲染 在一个实时的音视频系统架构里,上面的每个环节都会有一定程度的优化空间. 以下内容摘自:rtmp直播和webrtc直播对比 ...
- C++ 多线程的错误和如何避免(5)
要记得对加锁的临界区解锁 前提:在多个线程共享一块资源或者数据时,我们需要加上互斥锁来保护临界区(否则出现数据未定义的行为) 问题:我们往往在写了很多代码之后忘记 unlock 互斥锁,那么等待该资源 ...
- Flex 弹性盒子布局
可以少去理解一些不必要的概念,而多去思考为什么会有这样的东西,它解决了什么问题,或者它的运行机制是什么? 1. 弹性盒子布局概念 Flex 是 Flexible Box 的缩写,意为"弹性布 ...
- 第137篇:重学ES6模块化
好家伙, 我原本以为学完模块化之后,就能非常顺利的完成我的项目分包, 然而并没有,这是非常重要的知识,而我没有学好 所以我决定重学一遍 本篇为<阮一峰 ECMAScript 6 (ES6 ...
- 【Azure Redis 缓存】Azure Cache for Redis有默认备份可以用于恢复么?
问题描述 Azure Cache for Redis有默认备份可以用于恢复么? 答: 只有高级版Redis有. 问题原因 Azure Cache for Redis有不同的版本定价层(基本 Basic ...
- 关于mv命令,系统是如何区分是移动还是重命名
引入: 精简回答版:重命名的本质仍是移动覆盖 ,所以不存在应该如何区分的问题 最近学习到linux基础命令中的mv命令,了解到mv命令的作用是对文件的移动和重命名,但自己一直想不明白系统是如何分辨 ...
- Java ----多线程 案例
1 package bytezero.threadtest2; 2 3 /** 4 * 银行有一个账户 5 * 有两个储户分别向同一个账户存 3000元,每次存1000,存三次,每次存完打印账户余额 ...
- 摆脱鼠标操作 - vscode - vim - 官方说明文档 github上的,防止打不开,这里发一个
Key - command done - command done with VS Code specific customization ️ - some variations of the com ...