rman单机本地备份操作步骤
一、配置物理备份前提条件
1、创建备份目录
mkdir /home/kingbase/kbbr_repo
2、数据库开启归档
(1)修改配置文件kingbase.conf中参数:
archive_mode=on
archive_command=’’
(2)重启数据库
sys_ctl restart -D /home/kingbase/KingbaseES/V8/data
3、配置ssh免密登录
kingbase用户执行
ssh-keygen -t rsa
ssh-copy-id -i /home/kingbase/.ssh/id_rsa.pub kingbase@192.168.114.13
ssh-copy-id -i /home/kingbase/.ssh/id_rsa.pub root@192.168.114.13
二、配置物理备份
1、修改物理备份配置文件
vi /home/kingbase/KingbaseES/V8/Server/bin/sys_backup.conf
# target db style enum: single/cluster
_target_db_style="single"
# one kingbase node IP
# just provide one IP, script will use 'repmgr cluster show' get other node IP
_one_db_ip="192.168.114.13" --本机物理IP
# local repo IP, inner-REPO, must be same as one_db_ip, means repo located in one db node
# outer repo IP, outer-REPO, means repo located in outer node
_repo_ip="192.168.114.13" --本机物理IP,与_one_db_ip配置相同
# label of this cluster
_stanza_name="kingbase"
# OS user name of database
_os_user_name="kingbase"
# !!!! dir to store the backup files
# should be accessable for the OS user
_repo_path="/home/kingbase/kbbr_repo" --备份路径
# count of keep, over the count FULL-backup will be remove
_repo_retention_full_count=5 --全量备份保留5份
# count of days, interval to do FULL-backup
_crond_full_days=7 --每周一次全量备份
# count of days, interval to do DIFF-backup
_crond_diff_days=0 --不进行差异备份
# count of days, interval to do INCR-backup
_crond_incr_days=1 --每天一次增量备份
# HOUR to do the FULL-backup
_crond_full_hour=2 --每天凌晨两点进行全量备份
# HOUR to do the DIFF-backup
_crond_diff_hour=3
# HOUR to do the INCR-backup
_crond_incr_hour=4 --每天凌晨四点进行增量备份
# OS cmd define
_os_ip_cmd="/usr/sbin/ip"
_os_rm_cmd="/bin/rm"
_os_sed_cmd="/bin/sed"
_os_grep_cmd="/bin/grep"
# !!! these follow 4 parameter ONLY for single style
# data dir of single
_single_data_dir="/home/kingbase/KingbaseES/V8/data"
# bin dir of single
_single_bin_dir="/home/kingbase/KingbaseES/V8/Server/bin"
#_single_bin_dir="/home/kingbase/KingbaseES/V8/Server/bin"
# database user of single
_single_db_user="system"
# database port of single
_single_db_port="54321"
2、执行sys_backup.sh init备份初始化
cd /home/kingbase/KingbaseES/V8/Server/bin/
./sys_backup.sh init
——执行后会在备份文件路径 /home/kingbase/kbbr_repo 创建文件夹、文件、配置文件等,并备份一次全量数据。
3、执行sys_backup.sh start添加定时任务
cd /home/kingbase/KingbaseES/V8/Server/bin/
./sys_backup.sh start
——执行后会在定时任务中添加备份任务
4、查看定时任务
cat /etc/cron.d/KINGBASECRON
rman单机异地备份操作步骤
说明:
1、异地备份服务器正常安装好单机,不执行root.sh,不启动服务
2、异地备份服务器备份执行目录需要与源端数据节点的目录一致!
3、异地存放备份文件路径/home/kingbase/kbbr_repo,数据节点也需要存在此路径,执行init初始化操作后数据节点同路径下会产生sys_rman.conf配置文件,但备份文件会生成在异地路径下!
一、配置异地备份服务器
1、安装单机时目录需要与数据节点目录一致
2、与数据库节点之间配置免密
kingbase用户执行
ssh-keygen -t rsa
ssh-copy-id -i /home/kingbase/.ssh/id_rsa.pub 114.13
ssh-copy-id -i /home/kingbase/.ssh/id_rsa.pub root@192.168.114.13
二、配置数据节点
1、修改配置文件kingbase.conf中参数:
archive_mode=on
archive_command=’’
2、重启数据库
sys_ctl restart -D /home/kingbase/KingbaseES/V8/data
三、配置物理备份
1、修改物理备份配置文件
vi /home/kingbase/KingbaseES/V8/Server/bin/sys_backup.conf
# target db style enum: single/cluster
_target_db_style="single"
# one kingbase node IP
# just provide one IP, script will use 'repmgr cluster show' get other node IP
_one_db_ip="192.168.114.13" --数据节点ip
# local repo IP, can be same as one_db_ip, means repo located in one db node
_repo_ip="192.168.114.20" --备份节点ip,指异地备份服务器ip
# label of this cluster
_stanza_name="kingbase"
# OS user name of database
_os_user_name="kingbase"
# !!!! dir to store the backup files
# should be accessable for the OS user
_repo_path="/home/kingbase/kbbr_repo" --存放备份文件及备份配置文件路径
# count of keep, over the count FULL-backup will be remove
_repo_retention_full_count=5 --全量备份文件保留五次
# count of days, interval to do FULL-backup
_crond_full_days=7 --7天备份一次全量
# count of days, interval to do DIFF-backup
_crond_diff_days=0 --不做差异备份
# count of days, interval to do INCR-backup
_crond_incr_days=1 --每天增量备份
# HOUR to do the FULL-backup
_crond_full_hour=2 --每天凌晨两点做全备
# HOUR to do the DIFF-backup
_crond_diff_hour=3
# HOUR to do the INCR-backup
_crond_incr_hour=4 --每天凌晨四点做增量备
# OS cmd define
_os_ip_cmd="/sbin/ip"
_os_rm_cmd="/bin/rm"
_os_sed_cmd="/bin/sed"
_os_grep_cmd="/bin/grep"
# !!! these follow 4 parameter ONLY for single style
# data dir of single
_single_data_dir="/home/kingbase/KingbaseES/V8/data"
# bin dir of single
_single_bin_dir="/home/kingbase/KingbaseES/V8/Server/bin"
# database user of single
_single_db_user="system"
# database port of single
_single_db_port="54321"
2、执行sys_backup.sh init备份初始化
cd /home/kingbase/KingbaseES/V8/Server/bin/
./sys_backup.sh init
——执行后会在备份文件路径 /home/kingbase/kbbr_repo 创建文件夹、文件、配置文件等,并备份一次全量数据。
3、执行sys_backup.sh start添加定时任务
cd /home/kingbase/KingbaseES/V8/Server/bin/
./sys_backup.sh start
——执行后会在定时任务中添加备份任务
4、查看定时任务
cat /etc/cron.d/KINGBASECRON
rman集群本地备份操作步骤(一主一备+本地备份 推荐配置)
- 配置主机物理备份
1、修改主机物理备份配置文件
vi /home/kingbase/cluster/test/KingbaseCluster/kingbase/bin/sys_backup.conf
# target db style enum: single/cluster
_target_db_style="single"
# one kingbase node IP
# just provide one IP, script will use 'repmgr cluster show' get other node IP
_one_db_ip="192.168.114.20" --主机物理IP
# local repo IP, inner-REPO, must be same as one_db_ip, means repo located in one db node
# outer repo IP, outer-REPO, means repo located in outer node
_repo_ip="192.168.114.20" --主机物理IP,与_one_db_ip相同
# label of this cluster
_stanza_name="kingbase"
# OS user name of database
_os_user_name="kingbase"
# !!!! dir to store the backup files
# should be accessable for the OS user
_repo_path="/home/kingbase/kbbr_repo" --备份路径
# count of keep, over the count FULL-backup will be remove
_repo_retention_full_count=5 --全量备份文件保留5份
# count of days, interval to do FULL-backup
_crond_full_days=7 --一周一次全量备份
# count of days, interval to do DIFF-backup
_crond_diff_days=0 --不做差异备份
# count of days, interval to do INCR-backup
_crond_incr_days=1 --一天一次增量备份
# HOUR to do the FULL-backup
_crond_full_hour=2 --每天凌晨两点做全量备份
# HOUR to do the DIFF-backup
_crond_diff_hour=3
# HOUR to do the INCR-backup
_crond_incr_hour=4 --每天凌晨四点做增量备份
# OS cmd define
_os_ip_cmd="/usr/sbin/ip"
_os_rm_cmd="/bin/rm"
_os_sed_cmd="/bin/sed"
_os_grep_cmd="/bin/grep"
# !!! these follow 4 parameter ONLY for single style
# data dir of single
_single_data_dir="/home/kingbase/cluster/test/KingbaseCluster/kingbase/data/"
# bin dir of single
_single_bin_dir="/home/kingbase/cluster/test/KingbaseCluster/kingbase/bin"
# database user of single
_single_db_user="system"
# database port of single
_single_db_port="54321"
2、执行sys_backup.sh init备份初始化
cd /home/kingbase/cluster/test/KingbaseCluster/kingbase/bin/
./sys_backup.sh init
——执行后会在备份文件路径 /home/kingbase/kbbr_repo 创建文件夹、文件、配置文件等,并备份一次全量数据。
- 执行sys_backup.sh start添加定时任务
cd /home/kingbase/cluster/test/KingbaseCluster/kingbase/bin/
./sys_backup.sh start
——执行后会在定时任务中添加备份任务
4、查看定时任务
cat /etc/cron.d/KINGBASECRON
- 配置备机物理备份
说明:此节点不会进行备份,如下操作只是为切机准备好备份配置;
如果为新装机器,可直接将备机升为主机,重复主机操作,完成备份后再切回
1、修改备机物理备份配置文件
vi /home/kingbase/cluster/test/KingbaseCluster/kingbase/bin/sys_backup.conf
# target db style enum: single/cluster
_target_db_style="single"
# one kingbase node IP
# just provide one IP, script will use 'repmgr cluster show' get other node IP
_one_db_ip="192.168.114.21" --备机物理IP
# local repo IP, inner-REPO, must be same as one_db_ip, means repo located in one db node
# outer repo IP, outer-REPO, means repo located in outer node
_repo_ip="192.168.114.21" --备机物理IP,与_one_db_ip相同
# label of this cluster
_stanza_name="kingbase"
# OS user name of database
_os_user_name="kingbase"
# !!!! dir to store the backup files
# should be accessable for the OS user
_repo_path="/home/kingbase/kbbr_repo" --备份路径
# count of keep, over the count FULL-backup will be remove
_repo_retention_full_count=5 --全量备份文件保留5份
# count of days, interval to do FULL-backup
_crond_full_days=7 --一周一次全量备份
# count of days, interval to do DIFF-backup
_crond_diff_days=0 --不做差异备份
# count of days, interval to do INCR-backup
_crond_incr_days=1 --一天一次增量备份
# HOUR to do the FULL-backup
_crond_full_hour=2 --每天凌晨两点做全量备份
# HOUR to do the DIFF-backup
_crond_diff_hour=3
# HOUR to do the INCR-backup
_crond_incr_hour=4 --每天凌晨四点做增量备份
# OS cmd define
_os_ip_cmd="/usr/sbin/ip"
_os_rm_cmd="/bin/rm"
_os_sed_cmd="/bin/sed"
_os_grep_cmd="/bin/grep"
# !!! these follow 4 parameter ONLY for single style
# data dir of single
_single_data_dir="/home/kingbase/cluster/test/KingbaseCluster/kingbase/data/"
# bin dir of single
_single_bin_dir="/home/kingbase/cluster/test/KingbaseCluster/kingbase/bin"
# database user of single
_single_db_user="system"
# database port of single
_single_db_port="54321"
2、执行sys_backup.sh init备份初始化
cd /home/kingbase/cluster/test/KingbaseCluster/kingbase/bin/
./sys_backup.sh init
——提示ERROR: create stanza failed
3、手动执行stanza-create
(1)修改sys_rman.conf(备份路径下的配置文件)
vi /home/kingbase/kbbr_repo/sys_rman.conf
[kingbase]
kb1-host=192.168.114.21 --主机节点IP
kb1-host-user=kingbase --执行备份操作的OS用户
——在[kingbase]模块下添加以上两行配置
- 执行stanza-create动作
cd /home/kingbase/cluster/test/KingbaseCluster/kingbase/bin/
./sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --log-level-console=info stanza-create
- 添加定时任务
(1)注释或删除以上sys_rman.conf文件添加的两行内容(备份路径下的配置文件)
vi /home/kingbase/kbbr_repo/sys_rman.conf
[kingbase]
#kb1-host=192.168.114.21 --主机节点IP
#kb1-host-user=kingbase --执行备份操作的OS用户
(2)执行sys_backup.sh start添加定时任务
cd /home/kingbase/cluster/test/KingbaseCluster/kingbase/bin/
./sys_backup.sh start
rman集群异地备份操作步骤(一主一备+异地备份)
说明:
1、异地备份服务器正常安装好单机,不执行root.sh,不启动服务
2、异地备份服务器备份执行目录需要与源端数据节点的目录一致!
3、_repo_path="/data/kdb_backup"异地存放备份文件路径/data/kdb_backup,数据节点也需要存在此路径,执行init初始化操作后数据节点同路径下会产生sys_rman.conf配置文件,但备份文件会生成在异地路径下!
一、配置异地备份服务器
1、新建目录需与集群安装目录相同
mkdir -p /home/kingbase/cluster/R611/cluster/kingbase
2、将异地单机数据库KingbaseES/Server目录下的bin、lib、share移动到新建好的集群目录下
cd /home/kingbase/KingbaseES/Server
cp -r bin lib share /home/kingbase/cluster/R611/cluster/kingbase/
3、与数据库节点之间配置免密
kingbase用户执行
ssh-keygen -t rsa
ssh-copy-id -i /home/kingbase/.ssh/id_rsa.pub kingbase@192.168.80.54
ssh-copy-id -i /home/kingbase/.ssh/id_rsa.pub root@192.168.80.54
ssh-copy-id -i /home/kingbase/.ssh/id_rsa.pub kingbase@192.168.80.55
ssh-copy-id -i /home/kingbase/.ssh/id_rsa.pub root@192.168.80.55
二、配置物理备份
1、修改物理备份配置文件
vi /home/kingbase/cluster/R611/cluster/kingbase/bin/sys_backup.conf
# target db style enum: single/cluster
_target_db_style="cluster" --single改为cluster
# one kingbase node IP
# just provide one IP, script will use 'repmgr cluster show' get other node IP
_one_db_ip="192.168.80.55" --任一数据节点ip
# local repo IP, can be same as one_db_ip, means repo located in one db node
_repo_ip="192.168.80.11" --备份节点ip,指异地备份服务器ip
# label of this cluster
_stanza_name="kingbase"
# OS user name of database
_os_user_name="kingbase"
# !!!! dir to store the backup files
# should be accessable for the OS user
_repo_path="/data/kdb_backup" --存放备份文件及备份配置文件路径
# count of keep, over the count FULL-backup will be remove
_repo_retention_full_count=5 --全量备份文件保留五次
# count of days, interval to do FULL-backup
_crond_full_days=7 --7天备份一次全量
# count of days, interval to do DIFF-backup
_crond_diff_days=0 --不做差异备份
# count of days, interval to do INCR-backup
_crond_incr_days=1 --每天增量备份
# HOUR to do the FULL-backup
_crond_full_hour=2 --每天凌晨两点做全备
# HOUR to do the DIFF-backup
_crond_diff_hour=3
# HOUR to do the INCR-backup
_crond_incr_hour=4 --每天凌晨四点做增量备
# OS cmd define
_os_ip_cmd="/sbin/ip"
_os_rm_cmd="/bin/rm"
_os_sed_cmd="/bin/sed"
_os_grep_cmd="/bin/grep"
# !!! these follow 4 parameter ONLY for single style
# data dir of single
_single_data_dir="/home/kingbase/cluster/R611/cluster/kingbase/data"
# bin dir of single
_single_bin_dir="/home/kingbase/cluster/R611/cluster/kingbase/bin"
# database user of single
_single_db_user="system"
# database port of single
_single_db_port="54321"
2、执行sys_backup.sh init备份初始化
cd /home/kingbase/cluster/R611/cluster/kingbase/bin
sys_backup.sh init
——执行后会在备份文件路径 /data/kdb_backup 创建文件夹、文件、配置文件等,并备份一次全量数据。
3、执行sys_backup.sh start添加定时任务
cd /home/kingbase/cluster/R611/cluster/kingbase/bin
sys_backup.sh start
——执行后会在定时任务中添加备份任务
4、查看cat /etc/cron.d/KINGBASECRON(定时任务)
添加成功的全量备份定时任务:
0 2 */7 * * kingbase /home/kingbase/cluster/R611/cluster/kingbase/bin/sys_rman --config=/data/kdb_backup/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >>/tmp/sys_rman_backup_full.log 2>&1
添加成功的增量备份定时任务:
0 4 */1 * * kingbase /home/kingbase/cluster/R611/cluster/kingbase/bin/sys_rman --config=/data/kdb_backup/sys_rman.conf --stanza=kingbase --archive-copy --type=incr backup >>/tmp/sys_rman_backup_incr.log 2>&1