KingbaseES V8R6备份恢复案例之---同一数据库创建不同stanza备份
案例说明:
在生产环境,有的应用需要调用数据库的sys_rman做备份,为了区分数据库自身的sys_rman备份和应用的备份,可以使用不同的stanza name创建备份。本案例介绍了,如何在KingbaseES V8R6数据库下,同一个实例创建不同的stanza备份。
适用版本:
kingbaseES V8R6
一、已有stanza sys_rman配置(stanza_name=kingbase)

二、创建第二个stanza sys_rman备份
1、sys_backup.conf配置
[kingbase@node102 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="king"
_os_user_name="kingbase"
_repo_path="/home/kingbase/kbbr7_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_c6/data"
_single_bin_dir="/opt/Kingbase/ES/V8R6_C6/Server/bin"
_single_db_user="system"
_single_db_port="54322"
_use_scmd=on
_start_fast=y
_compress_type=none
_non_archived_space=1024
=如下所示,配置文件中不同配置。=

2、执行初始化
[kingbase@node102 bin]$ ./sys_backup.sh init
# pre-condition: check the non-archived WAL files
# 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、查看sys_rman.conf配置

4、查看初始化后两个不同stanza下的全量备份

三、执行备份测试
后创建的stanza可以正常备份,但执行第一个stanza备份hang住,无法完成归档:
[kingbase@node102 V8R6_C6]$ /home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_rman
--config=/home/kingbase/kbbr6_repo/sys_rman.conf
--stanza=kingbase --archive-copy --type=full backup
=原因是:创建第二个stanza后,执行init时,修改了kingbase.conf下的archive_command参数,导致在执行第一个stanza备份时,无法完成归档。=

四、自定义脚本完成备份
=此脚本的目标是,在不同的stanza备份前更新archive_command参数,由于全量备份和增量备份要通过cron计划任务中执行,所以需建立不同的备份脚本。=
1、stanza为kingbase的全量备份脚本
[kingbase@node102 ~]$ cat kingbase_full_bk.sh
#!/bin/bash
# stanza name "kingbase" backup !
DATA_DIR=/data/kingbase/v8r6_c6/data
BIN_DIR=/opt/Kingbase/ES/V8R6_C6/Server/bin
###### Update archive_command for stanza##################
/bin/sed -i 's/kbbr7_repo/kbbr6_repo/g' ${DATA_DIR}/kingbase.conf
/bin/sed -i 's/--stanza=king archive-push/--stanza=kingbase archive-push/g' ${DATA_DIR}/kingbase.conf
${BIN_DIR}/sys_ctl reload -D ${DATA_DIR}
###### full backup###########
${BIN_DIR}/sys_rman --config=/home/kingbase/kbbr6_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >>/opt/Kingbase/ES/V8R6_C6/Server/log/sys_rman_backup_full.log 2>&1
${BIN_DIR}/sys_rman --config=/home/kingbase/kbbr6_repo/sys_rman.conf info

增量备份脚本:

2、stanza为king的全量备份脚本
[kingbase@node102 ~]$ cat king_full_bk.sh
#!/bin/bash
# stanza name "king" backup !
DATA_DIR=/data/kingbase/v8r6_c6/data
BIN_DIR=/opt/Kingbase/ES/V8R6_C6/Server/bin
###### Update archive_command for stanza##################
/bin/sed -i 's/kbbr6_repo/kbbr7_repo/g' ${DATA_DIR}/kingbase.conf
/bin/sed -i 's/--stanza=kingbase archive-push/--stanza=king archive-push/g' ${DATA_DIR}/kingbase.conf
${BIN_DIR}/sys_ctl reload -D ${DATA_DIR}
###### full backup###########
${BIN_DIR}/sys_rman --config=/home/kingbase/kbbr7_repo/sys_rman.conf --stanza=king --archive-copy --type=full backup >>/opt/Kingbase/ES/V8R6_C6/Server/log/sys_rman_backup_full.log 2>&1
${BIN_DIR}/sys_rman --config=/home/kingbase/kbbr7_repo/sys_rman.conf --stanza=king info

将脚本放入cron计划任务执行:
[root@node102 ~]# cat /etc/cron.d/KINGBASECRON
.......
0 2 */7 * * kingbase sh /home/kingbase/kingbase_full_bk.sh >> /opt/Kingbase/ES/V8R6_C6/Server/log/sys_rman_backup_full.log 2>&1
0 6 */7 * * kingbase sh /home/kingbase/king_full_bk.sh >> /opt/Kingbase/ES/V8R6_C6/Server/log/sys_rman_backup_full.log 2>&1
五、总结
对于Kingbase V8R6可以创建不同的stanza进行sys_rman的备份,但在生产环境尽量不要使用,增加了备份的复杂性及数据库的负载。
KingbaseES V8R6备份恢复案例之---同一数据库创建不同stanza备份的更多相关文章
- KingbaseES V8R3 备份恢复案例之--单实例环境sys_rman脚本备份案例
案例说明: sys_rman是KingbaseES数据库的物理备份工具,支持数据库的全备和增量备份,由于sys_rman工具使用需要配置多个参数,对于一般用户使用不是很方便.为方便用户在Kingbas ...
- KingbaseES V8R6备份恢复案例之--删除test数据库后sys_backup.sh备份
案例说明: KingbaseES V8R6通过sys_backup.sh执行物理备份,默认sys_backup.sh执行备份初始化时,需要连接test数据库进行身份的认证:在一些生产环境为了安全需求, ...
- kingbaseES V8R6集群备份恢复案例之---备库作为repo主机执行物理备份
案例说明: 此案例是在KingbaseES V8R6集群环境下,当主库磁盘空间不足时,执行sys_rman备份,将集群的备库节点作为repo主机,执行备份,并将备份存储在备库的磁盘空间. 集群架构 ...
- KingbaseES V8R6备份恢复案例之---手工清理冗余历史备份
案例说明: 对于KingbaseES V8R6的通过sys_rman执行的物理历史备份,可以在执行备份时,备份的保留(retention)策略自动清理.不能通过手工删除备份,可以通过expire参数手 ...
- KingbaseES V8R6C6备份恢复案例之---单实例sys_baackup.sh备份
案例说明: KingbaseES V8R6C6中sys_backup.sh在通用机单实例环境,默认需要通过securecmdd工具以及kingbase和root用户之间的ssh互信,执行备份初始化(i ...
- oracle直通车6关于rman备份恢复数据文件,以及创建分区表的实验
1.创建一张表,在表上创建一个索引,分别查询表,索引各自分配了多少个extents,多少个数据块以及总共占用空间的大小(bytes). 答:创建一张表t,为字段object_id创建索引t_objec ...
- KingbaseES V8R6 维护管理案例之---Kstudio在CentOS 7启动故障
案例说明: 在CentOS 7上安装KingbaseES V8R6C006数据库后,启动Kstudio图形界面启动失败,gtk动态库加载失败,安装gtk相关动态库后,问题解决. 适用版本: Kin ...
- KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(异机复制)
案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...
- KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(同一主机)
案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...
随机推荐
- Java 泛型中的通配符
本文内容如下: 1. 什么是类型擦除 2.常用的 ?, T, E, K, V, N的含义 3.上界通配符 < ?extends E> 4.下界通配符 < ?super E> 5 ...
- .Net Core 中使用工厂模式
什么是工厂模式 工厂模式是最常用的设计模式之一,属于创建型模式. 有点: 解耦,可以把对象的创建和过程分开 减少代码量,易于维护 什么时候用? 当一个抽象类有多个实现的时候,需要多次实例化的时候,就要 ...
- DNS原理&ssh
作用:实现域名的解析! www.baidu.com => 14.215.177.37 域名: www.baidu.com 实际域名为: www.baidu.com. 域名的解析,是反向的. 最后 ...
- python基础教程:__call__用法
__call__可以使得方法变成可被调用对象:(PS:python中的方法和普通函数有点区别:方法的第一个参数是类实例) 允许一个类的实例像函数一样被调用.实质上说,这意味着 x() 与 x.call ...
- 6. RDD综合练习:更丰富的操作
集合运算练习 union(), intersection(),subtract(), cartesian() 内连接与外连接 join(), leftOuterJoin(), rightOuterJo ...
- XXXX系统测试计划
XXXX系统测试计划 目录 XXXX系统测试计划 目标 概述 项目背景 适用范围 组织形式 组织架构图 角色及职责 测试工作分工 团队协作 测试对象 应测试特性 不被测试特性 测试任务安排 系统测试任 ...
- Linux操作系统(6):进程管理和服务管理
进程的基本介绍 1)在 LINUX 中,每个执行的程序(代码)都称为一个进程.每一个进程都分配一个 ID 号. 2)每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程.例如 www 服务器 ...
- DBPack 读写分离功能发布公告
在 v0.1.0 版本我们发布了分布式事务功能,并提供了读写分离功能预览.在 v0.2.0 这个版本,我们加入了通过 UseDB hint 自定义查询请求路由的功能,并修复了一些 bug.另外,在这个 ...
- 无用的IP黑名单
无效的IP黑名单,有些还没有收集,在阿里云或者腾讯云的安全组里面设置,拦截不必要的IP,免得遭到攻击,也避免的CPU和内存过高 来源 备注82.102.21.217 拒绝 随机访问目录攻击,频繁69. ...
- Assembly.GetManifestResourceStream为null
想把某个项目的某个文件夹里面的ini文件生成的时候顺便生成为网站和服务文件夹项目 string _path = Path.Combine(AppDomain.CurrentDomain.BaseDir ...