案例说明:

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. 数据抽取平台pydatax介绍

       缘起一:         公司现有数据仓库,是通过kettle从mysql抽取到目标库,运行多年,主要有以下问题, 1,效率低:kettle抽取行数少 2,容错性差:一个表抽取出错就导致后续计算 ...

  2. centos7源码方式安装zabbix-4.0

    1.关闭防火墙 systemctl stop firewalld.service #临时关闭firewall systemctl disable firewalld.service #禁止firewa ...

  3. C++ 多线程的错误和如何避免(8)

    不要重复获取同一个锁 问题:在获得一个锁并且没有释放该锁的前提下,再次尝试获取该锁会报错. 比如, #include <iostream> #include <thread> ...

  4. win32 - 使用Desktop Duplication API复制桌面图像

    该代码来源于codeproject,经过测试发现,在屏幕处于旋转的情况下捕获的图像是黑色的.暂时没有找到原因. 代码开箱即用, #define WIN32_LEAN_AND_MEAN #include ...

  5. 基于java的个人博客

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

  6. 【LeetCode动态规划#01】动规入门:求斐波那契数 + 爬楼梯 + 最小代价爬楼梯(熟悉解题方法论)

    斐波那契数 力扣题目链接(opens new window) 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就 ...

  7. 【Azure 应用服务】App Service 默认开放端口说明, 如何禁用Web app的端口号? 

    问题描述 基于安全的角度来考虑,在网站上线之前用户会对自己的网站进行安全扫描,以防网站因为某些漏洞而被非法攻击. 而在扫描过程中,会发现除了 80 和 443 之外的一些其他端口也被开放了.例如:45 ...

  8. 【Azure Developer】PHP网站使用AAD授权登录的参考示例

    问题描述 如果有个PHP网站,需要使用AAD授权登录,有没有PHP代码实例 可供参考呢? 参考代码 参考一篇博文(Single sign-on with Azure AD in PHP),学习使用SS ...

  9. 【译】32位 .NET Framework 项目的 WinForm 设计器选择

    在客户反馈的推动下,Visual Studio 2022 向64位架构过渡,标志着增强开发体验的关键一步.正如 Klaus Loffelmann 在他的博客文章中所描述的那样,这种转换增强了整体性能和 ...

  10. 【MongoDB详细步骤】(内附源码)

    第01章-MongoDB 1.安装和启动(docker方式) 1.1.拉取镜像 docker pull mongo:4.4.8 1.2.创建和启动容器 docker run -d --restart= ...