KingbaseES R3集群备库执行sys_backup.sh物理备份案例
案例说明:
KingbaseES R3的后期版本支持通过sys_backup.sh执行sys_rman的物理备份,实际上是调用了sys_rman_v6的工具做物理备份。本案例是在备库上执行集群的备份,repo目录在备库上,采用cluster模式备份。
数据库版本:
TEST=# select version();
VERSION
-------------------------------------------------------------------------------------------------------------------------
Kingbase V008R003C002B0270 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)
集群架构:
# 节点信息
[kingbase@node1 ~]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.7.248 node1 # 备库
192.168.7.249 node2
192.168.7.243 node3 # 主库
[kingbase@node3 bin]$ ./ksql -U SYSTEM -W 123456 TEST -p 9999
ksql (V008R003C002B0270)
Type "help" for help.
TEST=# show pool_nodes;
node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay
---------+---------------+-------+--------+-----------+---------+------------+-------------------+-------------------
0 | 192.168.7.243 | 54321 | up | 0.500000 | primary | 0 | true | 0
1 | 192.168.7.248 | 54321 | up | 0.500000 | standby | 0 | false | 0
(2 rows)
TEST=# select * from sys_stat_replication;
PID | USESYSID | USENAME | APPLICATION_NAME | CLIENT_ADDR | CLIENT_HOSTNAME | CLIENT_PORT | BACKEND_START | BACKEND_XMIN | STATE | SENT_LOCATION | WRITE_LOCATION | FLUSH_LOCATION | REPLAY_LOCATION | SYNC_PRIORITY | SYNC_STATE
------+----------+---------+------------------+---------------+-----------------+-------------+-------------------------------+--------------+---
4222 | 10 | SYSTEM | node248 | 192.168.7.248 | | 30369 | 2021-03-01 12:16:20.511199+08 | | streaming | 0/9000178 | 0/9000178 | 0/9000178 | 0/9000178 | 2 | sync
(1 row)
一、查看集群主机归档配置
=== 由以下可知, KingbaseES R3新版本的备库wal日志在切换时,也会产生归档日志。===
1、主库归档配置
[kingbase@node3 bin]$ cat ../data/kingbase.conf |grep archive_command
archive_command='/home/kingbase/cluster/kha/db/bin/sys_rman_v6 --config /home/kingbase/kbbr3_repo/sys_rman_v6.conf --stanza=kingbase archive-push %p'
# ! waring: if set archive_dest, ignore archive_command.
2、备库归档配置
[kingbase@node1 bin]$ cat ../data/kingbase.conf|grep -i archive_command
archive_command='/home/kingbase/cluster/kha/db/bin/sys_rman_v6 --config /home/kingbase/kbbr3_repo/sys_rman_v6.conf --stanza=kingbase archive-push %p'
# ! waring: if set archive_dest, ignore archive_command.
二、在备库配置sys_backup.conf文件
[kingbase@node1 bin]$ cat sys_backup.conf |grep -v ^#|grep -v ^$
_target_db_style="cluster"
_one_db_ip="192.168.7.243"
_repo_ip="192.168.7.248"
_stanza_name="kingbase"
_os_user_name="kingbase"
_repo_path="/home/kingbase/kbbr3_repo"
_repo_retention_full_count=5
_crond_full_days=7
_crond_diff_days=0
_crond_incr_days=1
_crond_full_hour=2
_crond_diff_hour=3
_crond_incr_hour=4
_os_ip_cmd="/sbin/ip"
_os_rm_cmd="/bin/rm"
_os_sed_cmd="/bin/sed"
_os_grep_cmd="/bin/grep"
_single_data_dir="/home/kingbase/ES/V8_single/data"
_single_bin_dir="/home/kingbase/ES/V8_single/Server/bin"
_single_db_user="system"
_single_db_port="54321"
_kb_pass="S0lOR0JBU0VBRE1JTg=="

二、执行备份初始化
[kingbase@node1 bin]$ ./sys_backup.sh init
# generate local sys_rman_v6.conf...DONE
# update all node: sys_rman_v6.conf and archive_command with sys_rman_v6.archive-push...
# update all node: sys_rman_v6.conf and archive_command with sys_rman_v6.archive-push...DONE
# create stanza and check...(maybe 60+ seconds)
# create stanza and check...DONE
# initial first full backup...(maybe several minutes)
# initial first full backup...DONE
# Initial sys_rman_v6 OK.
'sys_backup.sh start' should be executed when need back-rest feature.
三、查看repo目录及备份信息
[kingbase@node1 ~]$ cd kbbr3_repo/
[kingbase@node1 kbbr3_repo]$ ls -lh
total 4.0K
drwxr-x--- 3 kingbase kingbase 21 Mar 1 12:26 archive
drwxr-x--- 3 kingbase kingbase 21 Mar 1 12:26 backup
-rw-rw-r-- 1 kingbase kingbase 589 Mar 1 12:26 sys_rman_v6.conf
[kingbase@node1 kbbr3_repo]$ ls -lh archive/
total 0
drwxr-x--- 3 kingbase kingbase 61 Mar 1 12:26 kingbase
[kingbase@node1 kbbr3_repo]$ ls -lh backup/
total 0
drwxr-x--- 4 kingbase kingbase 104 Mar 1 12:29 kingbase
[kingbase@node1 kbbr3_repo]$ ls -lh backup/kingbase/
total 8.0K
drwxr-x--- 3 kingbase kingbase 69 Mar 1 12:29 20210301-122305F
drwxr-x--- 3 kingbase kingbase 17 Mar 1 12:29 backup.history
-rw-r----- 1 kingbase kingbase 1.1K Mar 1 12:29 backup.info
-rw-r----- 1 kingbase kingbase 1.1K Mar 1 12:29 backup.info.copy
lrwxrwxrwx 1 kingbase kingbase 16 Mar 1 12:29 latest -> 20210301-122305F
四、测试日志切换归档
=== 由以下测试可以获知,在KingbaseES R3的新版本中,当主库日志发生切换时,会对wal日志执行归档;同时备库wal日志也发生切换,并归档。===
1、主库执行日志切换
TEST=# select sys_switch_xlog();
SYS_SWITCH_XLOG
-----------------
0/B000238
(1 row)
2、备库切换前后日志信息
** 1)切换前**

2)切换后

3)备库日志被归档

五、总结
在KingbaseES R3的新版本中,可以通过sys_backup.sh脚本执行sys_rman的物理备份,实际上是调用了sys_rman_v6的工具执行了物理备份,和KingbaseES R6的sys_rman的备份原理应该是一致的。
KingbaseES R3集群备库执行sys_backup.sh物理备份案例的更多相关文章
- kingbaseES R3 集群备库转换为单实例库案例
案例说明: 在生产环境需要将集群中架构转换为单实例环境,本案例以备库转换为单实例库为案例,介绍了两种方案,一种在数据库数据量小的环境下采用 sys_dumpall 导出导入方式建立单实例库:另外一种是 ...
- KingbaseES R6 集群备库网卡down测试案例
数据库版本: test=# select version(); version ------------------------------------------------------------ ...
- KingbaseES R3 集群删除test库导致主备无法切换问题
案例说明: 在KingbaseES R3集群中,kingbasecluster进程会通过test库访问,连接后台数据库服务测试:如果删除test数据库,导致后台数据库服务访问失败,在集群主备切换时,无 ...
- KingbaseES R3 集群一键修改集群用户密码案例
案例说明: 在KingbaseES R3集群的最新版本中增加了kingbase_monitor.sh一键修改集群用户密码的功能,本案例是对此功能的测试. kingbaseES R3集群一键修改密码说明 ...
- kingbaseES R3 集群修改data路径测试案例
案例说明: 默认KingbaseES R3集群部署后,数据存储目录(data)在/home/kingbase下,部署时不能更改:本案例是在部署完成后,迁移data目录到其他指定的存储位置. 数据库版本 ...
- KingbaseES R3 集群修改system用户密码方案
方案说明: 对于kingbaseES R3集群修改system密码相比单机环境有一定的复杂性,需要修改的位置如下: 1)数据库中system用户密码,可以用alter user命令修改 2)在reco ...
- KingbaseES R3 集群cluster日志切割和清理案例
案例说明: 对于KingbaseES R3集群的cluster日志默认系统是不做切割和清理的,随着运行时长的增加,日志将增长为一个非常大的文件,占用比较大的磁盘空间,并且在分析问题读取大文件时效率很低 ...
- KingbaseES R3 集群主库归档失败案例
案例说明: 本案例用于KingbaseES R3集群归档进程归档日志失败的处理,对于一线的生产环境具有 一定的参考意义. 数据库版本: TEST=# select version(); VERSION ...
- KingbaseES R3集群在线删除数据节点案例
案例说明: kingbaseES R3集群一主多从的架构,一般有两个节点是集群的管理节点,所有的节点都可以为数据节点:对于非管理节点的数据节点可以在线删除:但是对于管理节点,无法在线删除,如果删除管理 ...
随机推荐
- 引入gitlab仓库代码到npm包的教程
背景介绍 随着人类地发展,社会地进步,计算机技术地更新迭代,每一片码海里都有它宝贵的财富,每一座码山里都有着各自的秘密.怎么守住财富,隐藏一些秘密,成了一些开发人员所关心的事情. 需求分析 简单地说, ...
- Linux文本查看工具
文本查看工具 cat 特点: 不能用来看二进制文件 选项: -A: 显示不可见字符 cat支持标准输入: cat > aa.txt ---键盘作为标准输入,输出的结果重定向文件中去了 cat & ...
- Python爬虫常用:谷歌浏览器驱动——Chromedriver 插件安装教程
我们在做爬虫的时候经常要使用谷歌浏览器驱动,今天分享下这个Chromedriver 插件的安装方法. 第一步:打开谷歌浏览器打开设置面板 嫌枯燥的小伙伴可以点击此处找管理员小姐姐领取免费资料 第二步: ...
- 浅议.NET遗留应用改造
浅议.NET遗留应用改造 TLDR:本文介绍了遗留应用改造中的一些常见问题,并对改造所能开展的目标.原则.策略进行了概述. 一.背景概述 1.概述 或许仅"遗留应用"这个标题就比较 ...
- 发评测赢好礼 | Serverless 函数计算征集令
随着云计算发展,云原生热度攀升,Serverless 架构崭露头角且发展势头迅猛.不仅被更多开发者所关注,市场占有率也逐年提高.阿里云函数计算(Function Compute)是一个事件驱动的全托管 ...
- android studio 初印象
ANSROID STUDIO sdk 目录 build-tools目录,存放各版本Android的各种编译工具. docs目录,存放开发说明文档. extras\android目录,存放兼容低版本的新 ...
- 【跟着大佬学JavaScript】之节流
前言 js的典型的场景 监听页面的scroll事件 拖拽事件 监听鼠标的 mousemove 事件 ... 这些事件会频繁触发会影响性能,如果使用节流,降低频次,保留了用户体验,又提升了执行速度,节省 ...
- @Async注解的坑,小心
大家好,我是三友. 背景 前段时间,一个同事小姐姐跟我说她的项目起不来了,让我帮忙看一下,本着助人为乐的精神,这个忙肯定要去帮. 于是,我在她的控制台发现了如下的异常信息: Exception in ...
- Redis 内存优化神技,小内存保存大数据
大家好,我是「码哥」,大家可以叫我靓仔. 这次码哥跟大家分享一些优化神技,当你面试或者工作中你遇到如下问题,那就使出今天学到的绝招,一招定乾坤! 如何用更少的内存保存更多的数据? 我们应该从 Redi ...
- 【Azure 存储服务】Hadoop集群中使用ADLS(Azure Data Lake Storage)过程中遇见执行PUT操作报错
问题描述 在Hadoop集中中,使用ADLS 作为数据源,在执行PUT操作(上传文件到ADLS中),遇见 400错误[put: Operation failed: "An HTTP head ...