案例说明:

KingbaseES V8R6C5版本中使用了securecmdd工具,用于主机节点间的通讯,默认端口8890。备份工具sys_backup.sh默认使用了securecmdd工具,对于通用机单实例环境,在执行“sys_backup.sh init”后,会调用securecmd工具连接主机节点备份,导致在执行“sys_backup.sh start”启动备份时,无法创建KINGBASECRON文件,建立cron计划任务。需要配置sys_backup.conf文件解决此问题。

本案例是在通用机的单实例环境下测试。

测试版本:

test=# select version();
version
----------------------------------------------------------------------------------------------------------------------
KingbaseES V008R006C005B0054 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 行记录)

一、模拟生产生成测试数据

test=# create database prod;
CREATE DATABASE
test=# \c prod prod=# create table t1(id int ,name varchar(10));
CREATE TABLE
prod=# insert into t1 values(generate_series(1,10000),'usr'||generate_series(1,10000));
INSERT 0 10000
prod=# select count(*) from t1;
count
-------
10000
(1 行记录)

二、备份前的配置

1、编辑sys_backup.conf文件

[kingbase@#localhost bin]$ cat sys_backup.conf |grep -v ^$|grep -v ^#
_target_db_style="single"
_one_db_ip="127.0.0.1"
_repo_ip="127.0.0.1"
_stanza_name="kingbase"
_os_user_name="kingbase"
_repo_path="/home/kingbase/kbbr_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
_band_width=0
_os_ip_cmd="/sbin/ip"
_os_rm_cmd="/bin/rm"
_os_sed_cmd="/bin/sed"
_os_grep_cmd="/bin/grep"
_single_data_dir="/data/kingbase/v8r6_054/data"
_single_bin_dir="/opt/Kingbase/ES/V8R6_054/Server/bin"
_single_db_user="system"
_single_db_port="54321"
_use_scmd=on

2、归档配置

[kingbase@#localhost data]$ cat kingbase.conf |grep -i archive_
archive_mode = on # enables archiving; off, on, or always
archive_command='export TZ=Asia/Shanghai;/opt/Kingbase/ES/V8R6_054/Server/bin/sys_rman --config /home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase archive-push %p'
#archive_timeout = 0 # force a logfile segment switch after this
#archive_cleanup_command = '' # command to execute at every restartpoint
#max_standby_archive_delay = 30s # max delay before canceling queries test=# show archive_command ;
archive_command -----------------------------------------------------------------------------------------------------------------------------------------
----------------
export TZ=Asia/Shanghai;/opt/Kingbase/ES/V8R6_054/Server/bin/sys_rman --config /home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase
archive-push %p
(1 行记录)

三、备份初始化(init)

[kingbase@#localhost bin]$ ./sys_backup.sh init
Please input password ...
# generate single sys_rman.conf...DONE
# update single archive_command with sys_rman.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 OK.
'sys_backup.sh start' should be executed when need back-rest feature.

备份配置文件:

[kingbase@#localhost kbbr_repo]$ cat sys_rman.conf
# Genarate by script at 20220420100146, should not change manually
[kingbase]
kb1-path=/data/kingbase/v8r6_054/data
kb1-port=54321
kb1-user=system [global]
repo1-path=/home/kingbase/kbbr_repo
repo1-retention-full=5
log-path=/opt/Kingbase/ES/V8R6_054/Server/log
log-level-file=info
log-level-console=info
log-subprocess=y
process-max=4
#### default gz, support: gz none
compress-type=gz
compress-level=3
band-width=0
cmd-ssh=/opt/Kingbase/ES/V8R6_054/Server/bin/sys_securecmd

四、启动备份创建cron任务

1、启动备份

[kingbase@#localhost bin]$ ./sys_backup.sh start
Enable some sys_rman in crontab-daemon
Set full-backup in 7 days
Set incr-backup in 1 days

2、查看生成的cron任务执行文件

[kingbase@#localhost bin]$ ls /etc/cron.d/ -lh
总用量 12K
-rw-r--r--. 1 root root 128 4月 11 2018 0hourly
-rw-r--r--. 1 root root 108 10月 30 2018 raid-check
-rw-------. 1 root root 235 10月 31 2018 sysstat

=== 如上所示,在指定目录下无KINGBASECRON文件生成===

五、问题处理

1、配置sys_backup.conf文件

kingbase@#localhost bin]$ cat sys_backup.conf |grep use_
_use_scmd=off

2、重新执行备份初始化

[kingbase@#localhost bin]$ ./sys_backup.sh init
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:DZ21yge2aNDlVquhwFF4OWd36KwtdvmLYgrzwQILI5A.
ECDSA key fingerprint is MD5:f6:14:e3:de:0f:42:29:ed:1e:5f:66:d6:da:86:ed:ea.
Are you sure you want to continue connecting (yes/no)? yes
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:DZ21yge2aNDlVquhwFF4OWd36KwtdvmLYgrzwQILI5A.
ECDSA key fingerprint is MD5:f6:14:e3:de:0f:42:29:ed:1e:5f:66:d6:da:86:ed:ea.
Are you sure you want to continue connecting (yes/no)? yes
# generate single sys_rman.conf...DONE
# update single archive_command with sys_rman.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 OK.
'sys_backup.sh start' should be executed when need back-rest feature.

3、查看备份配置文件

[kingbase@#localhost kbbr_repo]$ cat sys_rman.conf
# Genarate by script at 20220420100618, should not change manually
[kingbase]
kb1-path=/data/kingbase/v8r6_054/data
kb1-port=54321
kb1-user=system [global]
repo1-path=/home/kingbase/kbbr_repo
repo1-retention-full=5
log-path=/opt/Kingbase/ES/V8R6_054/Server/log
log-level-file=info
log-level-console=info
log-subprocess=y
process-max=4
#### default gz, support: gz none
compress-type=gz
compress-level=3
band-width=0

=== 如上所示,不再使用securecmdd作为节点间的通讯,直接使用ssh用于节点间通讯===

4、启动备份并创建cron任务

[kingbase@#localhost bin]$ ./sys_backup.sh start
Enable some sys_rman in crontab-daemon
Set full-backup in 7 days
Set incr-backup in 1 days
0 2 */7 * * kingbase /opt/Kingbase/ES/V8R6_054/Server/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >> /opt/Kingbase/ES/V8R6_054/Server/log/sys_rman_backup_full.log 2>&1
0 4 */1 * * kingbase /opt/Kingbase/ES/V8R6_054/Server/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=incr backup >> /opt/Kingbase/ES/V8R6_054/Server/log/sys_rman_backup_incr.log 2>&1 # 查看cron任务
[kingbase@#localhost bin]$ cat /etc/cron.d/KINGBASECRON
0 2 */7 * * kingbase /opt/Kingbase/ES/V8R6_054/Server/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >> /opt/Kingbase/ES/V8R6_054/Server/log/sys_rman_backup_full.log 2>&1
0 4 */1 * * kingbase /opt/Kingbase/ES/V8R6_054/Server/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=incr backup >> /opt/Kingbase/ES/V8R6_054/Server/log/sys_rman_backup_incr.log 2>&1

5、查看备份信息

[kingbase@#localhost bin]$ ./sys_rman  --stanza=kingbase   --config=/home/kingbase/kbbr_repo/sys_rman.conf  info                         stanza: kingbase
status: ok
cipher: none db (current)
wal archive min/max (V008R006C005B0054): 000000010000000000000004/000000010000000000000005 full backup: 20220420-100622F
timestamp start/stop: 2022-04-20 10:06:22 / 2022-04-20 10:06:25
wal start/stop: 000000010000000000000005 / 000000010000000000000005
database size: 78.3MB, database backup size: 78.3MB
repo1: backup set size: 9MB, backup size: 9MB [kingbase@#localhost bin]$ ./sys_rman --stanza=kingbase --config=/home/kingbase/kbbr_repo/sys_rman.conf check
2022-04-20 10:17:43.328 P00 INFO: check command begin 2.27: --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=22425-af209cdf --kb1-path=/data/kingbase/v8r6_054/data --kb1-port=54321 --kb1-user=system --log-level-console=info --log-level-file=info --log-path=/opt/Kingbase/ES/V8R6_054/Server/log --log-subprocess --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
2022-04-20 10:17:44.453 P00 INFO: check repo1 configuration (primary)
2022-04-20 10:17:44.958 P00 INFO: check repo1 archive for WAL (primary)
2022-04-20 10:17:45.059 P00 INFO: WAL segment 000000010000000000000006 successfully archived to '/home/kingbase/kbbr_repo/archive/kingbase/12-1/0000000100000000/000000010000000000000006-487da779cc4fcf6822f6d6c82116b1823700471e.gz' on repo1
2022-04-20 10:17:45.059 P00 INFO: check command end: completed successfully (1738ms)

KingbaseES V8R6C5单实例sys_backup.sh备份案例的更多相关文章

  1. KingbaseES V8R6C6备份恢复案例之---单实例sys_baackup.sh备份

    案例说明: KingbaseES V8R6C6中sys_backup.sh在通用机单实例环境,默认需要通过securecmdd工具以及kingbase和root用户之间的ssh互信,执行备份初始化(i ...

  2. KingbaseES R6 集群修改ssh端口执行sys_backup.sh备份案例

    数据库环境:** test=# select version(); version ---------------------------------------------------------- ...

  3. KingbaseES V8R6单实例外部备份故障案例

    案例说明: 在KingbaseES V8R6单实例环境,配置外部备份服务器使用sys_backup.sh物理备份时,出现以下"WAL segment xxx was not archived ...

  4. KingbaseES V8R6单实例外部备份案例

    案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:数据库主机采用CentOS 7系统,repo采用kylin V10 Server. 单实例+外部备份服务器 备份逻辑 ...

  5. KingbaseES V8R6备份恢复案例之--删除test数据库后sys_backup.sh备份

    案例说明: KingbaseES V8R6通过sys_backup.sh执行物理备份,默认sys_backup.sh执行备份初始化时,需要连接test数据库进行身份的认证:在一些生产环境为了安全需求, ...

  6. kingbaseES R3 集群备库转换为单实例库案例

    案例说明: 在生产环境需要将集群中架构转换为单实例环境,本案例以备库转换为单实例库为案例,介绍了两种方案,一种在数据库数据量小的环境下采用 sys_dumpall 导出导入方式建立单实例库:另外一种是 ...

  7. Oracle RAC备份异机单实例恢复演练

    本文只节选了操作方案的部分章节: 3.   操作步骤 3.1. 异机单实例Oracle数据库软件安装 在异机上进行单实例Oracle数据库软件安装.该步骤过程不再本文中重复描述,如果对安装过程存在疑问 ...

  8. 【RAC】将单实例备份集恢复为rac数据库

    [RAC]将单实例备份集恢复为rac数据库 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...

  9. KingbaseES V8R6C5B041 sys_backup.sh单实例备份案例

    ​ 数据库版本: test=# select version(); version ---------------------------------------------------------- ...

随机推荐

  1. java+mybatis实现一个简单的银行系统,实现存取款与账户查询

    先创建数据库和表,使用的是MySQL数据库. create database mybatis; use mybatis; CREATE TABLE `accountdo` ( `id` varchar ...

  2. UiPath循环活动For Each的介绍和使用

    一.For Each的介绍 For Each:循环迭代一个列表.数组.或其他类型的集合, 可以遍历并分别处理每条信息 二.For Each在UiPath中的使用 1.  打开设计器,在设计库中新建一个 ...

  3. 手把手教你用 Python 下载手机小视频

    今天为大家介绍使用 mitmproxy 这个抓包工具如何监控手机上网,并且通过抓包,把我们想要的数据下载下来. 启动 mitmproxy 首先我们通过执行命令 mitmweb 启动mitmproxy, ...

  4. POI设置列宽 自动调整列宽

    for (int i = 0; i <= totalColumn; i++) { sheet.autoSizeColumn((short)i,true); //调整列宽 } 其中totalCol ...

  5. linux下的nginx日志自动备份压缩--日志切割机

    部署完毕nginx之后,发现自己的/var/log/nginx/*log的日志不会压缩,一直都是一个文本写日志, 时间久了,日志文件内存过于增加,将会导致在日志添加过程效率降低,延长时间. 默认安装的 ...

  6. 微服务追踪SQL(支持Isto管控下的gorm查询追踪)

    效果图 SQL的追踪正确插入到微服务的调用链之间 详细记录了SQL的执行内容和消耗时间 搜索SQL的类型 多线程(goroutine)下的追踪效果 在 Kubernetes 中部署微服务后,通过 Is ...

  7. 如何参与开源项目 - 细说 GitHub 上的 PR 全过程

    目录 一.概述 二.为什么要参与开源项目 三.为什么我想介绍如何 PR 四.我想参与开源项目,怎么开始? 4.1.寻找一个合适的开源项目 4.2.寻找贡献点 五.我要提交 PR,怎么上手? 5.1.第 ...

  8. 【cartographer_ros】五: 发布和订阅陀螺仪Imu信息

    上一节介绍了里程计Odometry传感数据的订阅和发布. 本节会介绍陀螺仪Imu数据的发布和订阅.陀螺仪在cartographer中主要用于前端位置预估和后端优化. 目录 1:sensor_msgs/ ...

  9. Android Studio的初次认识

    Android的初试 一.认识Android Studio 在我们新建项目的时候,会遇到这样的一个窗口,首先我们认识一下这些都是什么,这样我们才能够更好的进行下一步的学习! 这里的 Phone and ...

  10. 使用vs2022编译assimp,并基于OpenGL加载模型

    Assimp :全称为Open Asset Import Library,这是一个模型加载库,可以导入几十种不同格式的模型文件(同样也可以导出部分模型格式).只要Assimp加载完了模型文件,我们就可 ...