案例说明:

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备份的更多相关文章

  1. KingbaseES V8R3集群管理维护案例之---集群迁移单实例架构

    案例说明: 在生产中,需要将KingbaseES V8R3集群转换为单实例架构,可以采用以下方式快速完成集群架构的迁移. 适用版本: KingbaseES V8R3 当前数据库版本: TEST=# 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 V8R3集群管理和维护案例之---failover切换wal日志变化分析

    ​ 案例说明: 本案例通过对KingbaseES V8R3集群failover切换过程进行观察,分析了主备库切换后wal日志的变化,对应用者了解KingbaseES V8R3(R6) failover ...

  7. KingbaseES V8R3集群维护案例之---pcp_node_refresh应用

    案例说明: 在一次KingbaseES V8R3集群切换分析中,运维人员执行了pcp_node_refresh,导致集群发生了failover的切换.此文档对pcp_node_refresh工具做了应 ...

  8. KingbaseES V8R3集群维护案例之---在线添加备库管理节点

    案例说明: 在KingbaseES V8R3主备流复制的集群中 ,一般有两个节点是集群的管理节点,分为master和standby:如对于一主二备的架构,其中有两个节点是管理节点,三个数据节点:管理节 ...

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

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

  10. KingbaseES V8R3 集群专用机网关失败分析案例

    ​ KingbaseES R3集群网关检测工作机制: 1.Cluster下watchdog进程在固定间隔时间,通过ping 网关地址监控链路的连通性,如果连通网关地址失败,则修改cluster sta ...

随机推荐

  1. 开源开发者的狂欢,STRK开了一个好头!附领取价值800元的web3空投教程

    这两天在Github和推特上最热闹的事情便是知名ETH(以太坊)二层公链项目STRK给所有gtihub上排名前5000的开源项目的项目贡献者提供了价值800元的代币空投,其中不乏前端程序员.大学生等w ...

  2. 编译安装c2工具sliver以及python 客户端sdk

    背景: 项目需要安装sliver服务端和客户端还有sliver的python sdk: git clone https://github.com/BishopFox/sliver.git cd sli ...

  3. win32--GetFileAttributes

    DWORD d = GetFileAttributes(path.c_str()); 根据返回的十进制,对比文件属性,来检索指定文件或目录的文件系统属性. 也可以使用 if ((d & FIL ...

  4. __set_name__魔法方法

    介绍 __set_name__ 方法是 Python 3.6 中引入的一种特殊方法,它可以在类属性被赋值时自动调用.这个方法可以用来处理类属性的名称绑定问题,例如将类属性与其所在的类进行绑定. 具体来 ...

  5. 基于java的个人博客

    基于java的个人博客 效果预览 首页 详情 文章管理 文章发布 分类管理 访问地址 前台地址http://localhost:8080 后台地址:http://localhost/admin/ 开发 ...

  6. 【Azure 事件中心】 Event Grid(事件网格)+Azure Functions处理IOT Hub中的消息

    问题描述 使用IOT Hub的Events功能,使用Event Grid(事件网格)订阅IOTHub状态消息,发送到Azure Functions.那如何来创建Event Grid触发的Functio ...

  7. Java 数组 数据类型默认值

    1 public static void main(String[] args) 2 { 3 int[] arry = new int[4]; //int 默认值0 //浮点型 0.0 4 for(i ...

  8. Java对象引用和内存管理的细节

    在Java中,当局部变量(比如方法参数)的作用域结束时,这个局部变量的引用确实不再存在,但这并不意味着它引用的对象会被销毁.对象的销毁是由Java的垃圾回收器(Garbage Collector, G ...

  9. WPF开源的一款免费、开箱即用的翻译、OCR工具

    前言 今天大姚给大家分享一款由WPF开源的.免费的(MIT License).即开即用.即用即走的翻译.OCR工具:STranslate. WPF介绍 WPF 是一个强大的桌面应用程序框架,用于构建具 ...

  10. nginx-authenticate.conf Nginx配置 新增长链接支持代理

    nginx-authenticate.conf Nginx配置 新增长链接支持代理 新增代码 proxy_set_header Connection ""; proxy_http_ ...