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 ...
随机推荐
- 详解SSL证书系列(1)什么是SSL证书?
你一定遇到过这种情况,打开一个网站,浏览器弹出警告"您与此网站之间建立的连接不安全.由于此连接不安全,因此信息(如密码或信用卡)不会安全地发送到此网站,并且可能被其他人截获或看到" ...
- django学习第五天---model类的属性参数,单表ORM数据库增删改查动作,查询的13个API接口
model类的属性参数 比如:models.CharField(null=True,blank=True) (1)null 如果为True,Django将用NULL在数据库中存储空值.默认值时Fals ...
- Elasticsearch下载安装配置
下载地址 # elasticsearch https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-8-3 # kibana ...
- React 组件之属性
如果你想要实现自己的梦想,就必须先拥有勇气去追求它. 1. React Props 属性 props 主要解决两个问题:复用性问题以及可以让组件之间通信. 属性 props 正常是外部传入的,组件内部 ...
- 需要入门IT行业并且想做java后台小伙伴-简单谈谈后台开发Spring与SpringBoot
1.Spring能做什么 1.1.Spring的能力 1.2.Spring的生态 https://spring.io/projects/spring-boot 覆盖了: web开发 数据访问 安全控制 ...
- JS中Date和时间戳转换
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...
- 【Azure APIM】APIM 策略语句如何读取请求头中所携带的Cookie信息并保存为变量
问题描述 需要在APIM策略中对请求所携带的Cookie中的token值进行JWT验证,如果获取Cookie中的值并且作为变量保存,然后在JWT 验证中使用呢? 问题解答 第一步:获取Cookie中的 ...
- 1. Canal入门
1. Canal简介 官方文档: https://github.com/alibaba/canal/wiki/简介 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求.早期 ...
- C++ //栈 stack 容器 先进后出 不允许遍历
1 //栈 stack 容器 先进后出 不允许遍历 2 3 4 #include<iostream> 5 #include<stack> 6 7 using namespace ...
- Scala学习历险记(第一天)
Scala学习笔记(一) 前言:由于最近要整大数据相关的东西,所以java开发的我很苦逼的来学习Scala了,为接下来的工作做知识储备,今天是2021年8月19号,是我接触scala语言的第一天,因此 ...