暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kingbase V9物理备份手册


1、Kingbase物理备份简述


1.1、Kingbase物理备份概览

物理备份是数据库管理中的一个关键环节,它通过备份数据库的物理文件,包括数据文件、控制文件和日志文件,来保证数据的一致性和完整性。在数据库发生故障时,物理备份能够提供一种可靠的数据恢复机制,从而最大程度地降低数据丢失的风险。

1.2、Kingbase物理备份的特点

  • 全量备份: 针对所有需要的文件进行的一次备份。当还原时,不需要额外的协助,通过此全量备份即可恢复数据库到备份时的状态.
  • 差异备份: 选择性备份,仅选择上一次全量备份后,发生了变化的文件。优点是节省了一定的空间,相比于全量备份。缺点是还原时,需要本次差异备份及其依赖的全量备份。
  • 增量备份: 选择性备份,仅选择上一次全量或差异或增量备份后,发生了变化的文件。优点是更加地节省空间。缺点是还原时,需要本次增量备份以及前次备份、再前次备份、直到串行依赖到一次全量备份。

1.3、Kingbase 物理备份工具包括:

本工具不需要安装,由KingbaseES安装包统一部署。 本工具包含两个可执行程序和一个配置文件:

  • 1、sys_rman:核心文件,二进制可执行文件;
  • 2、sys_backup.sh:脚本文件,协助管理员完成配置、调度工作;
  • 3、sys_backup.conf:配置调度脚本对应的配置文件;
  • 4、本试验工具安装在/Kingbase/ES/V9/cluster/kingbase/bin/目录下;
  • 5、此命令可以在数据库节点和备份服务器上执行。

1.4、sys_backup.sh支持以下命令:

语法: sys_backup.sh { init | start | stop | pause | unpause }

  • Init:初始化备份还原功能,该命令依赖于数据库集群已经正常工作。
  • Start:启动CRONTAB任务来完成备份功能。
  • Stop:停止CRONTAB任务来完成备份功能。
  • Pause:暂时停止备份功能,不影响正在运行的备份功能。
  • Unpause:恢复被暂停的备份功能。

备注:

  • 1、此命令只能在数据库节点上执行。
  • 2、sys_rman.conf 该配置文件用于sys_rman。
  • 3、配置文件本身由脚本sys_backup.sh自动生成,位于sys_backup.conf指定的repo_path目录下。
  • 4、本章节假定位于 /Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf。

2、物理备份环境搭建

2.1、切换目录

说明:计划将sys_backup工具安装在bin目录下,查看当前目录已有sys_backup.sh,需将sys_backup.conf拷贝到bin目录即可。

操作流程如下:

[kingbase@Node1 ~]$
[kingbase@Node1 ~]$ cd /Kingbase/ES/V9/cluster/kingbase/bin
[kingbase@Node1 bin]$

2.2、查看当前目录的文件

说明:接上一流程,查看bin目录已有sys_backup.sh。

操作流程如下:

[kingbase@Node1 bin]$ find sys_backup.*
sys_backup.sh

2.3、拷贝sys_backup.conf到bin目录下

说明:接上一流程,拷贝sys_backup.conf到bin目录下,sys_backup.conf在share目录里面。

操作流程如下:

[kingbase@Node1 bin]$ cp ../share/sys_backup.conf .
[kingbase@Node1 bin]$ find sys_backup.*
sys_backup.conf
sys_backup.sh

2.4、编辑sys_backup.conf

说明:需sys_backup.conf文件中的备份主机、data数据目录、Server安装目录等。

操作流程如下:

[kingbase@Node1 bin]$ vi sys_backup.conf

sys_backup.conf内容:

#file: sys_backup.conf
#dest dir: <cluster_dir>/kingbase/bin/sys_backup.conf
#dest dir: <cluster_dir>/kingbase/share/sys_backup.conf
# target db style enum:  single/cluster/single-pro
# 单机:single;集群:cluster。集群各节点独立备份 single-pro
_target_db_style="cluster"
# one kingbase node IP/hostname
# just provide one IP/hostname, script will use 'repmgr cluster show' get other node IP/hostname
 # 一个数据库节点的IP
# 本配置项支持主机名、IPv4、IPv6地址
_one_db_ip="192.168.4.141"
# local repo IP/hostname, inner-REPO, means repo located in one db node
# outer repo IP/hostname, outer-REPO, means repo located in outer node
# REPO备份节点的IP
# 本配置项支持主机名、IPv4、IPv6地址
_repo_ip="192.168.4.141
# 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="/Kingbase/ES/V9/cluster/kbbr_repo"
# count of keep, over the count FULL-backup will be remove
 # 保存全量备份的数目,超过此数目的全量备份将被自动移除,本例中为保留5份
_repo_retention_full_count=5
# count of days, interval to do FULL-backup
  # 自动执行全量备份的间隔天数,本例中是每7天做一次全量备份
_crond_full_days=7
# count of days, interval to do DIFF-backup
  # 自动执行差异备份的间隔天数,本例中0表示不做差异备份
_crond_diff_days=0
# count of days, interval to do INCR-backup
  # 自动执行增量备份的间隔天数,本例中是每天备份
_crond_incr_days=1
# HOUR to do the FULL-backup
  # 自动执行全量备份的时间点,本例中是凌晨2点
_crond_full_hour=2
# HOUR to do the DIFF-backup
# 自动执行差异备份的时间点,本例中3表示凌晨3点
_crond_diff_hour=3
# HOUR to do the INCR-backup
# 自动执行增量备份的时间点,本例中4表示凌晨4点
_crond_incr_hour=4
# band witdh limit, fixed in Mb/s, default 0 means no limit
_band_width=0
# OS cmd define
# 操作系统常见命令的全路径文件名

# 说明:如何查找ip、rm、sed、grep路径
1、查找ip路径:
[root@Node1 ~]# whereis ip
ip: /usr/sbin/ip /usr/share/man/man8/ip.8.gz /usr/share/man/man7/ip.7.gz
[root@Node1 ~]#
2、查找rm路径:
[root@Node1 ~]# whereis rm
rm: /usr/bin/rm
3、查找sed路径:
[root@Node1 ~]# whereis sed
sed: /usr/bin/sed
4、查找grep路径:
[root@Node1 ~]# whereis grep
grep: /usr/bin/grep /usr/share/man/man1/grep.1.gz /usr/share/info/grep.info.gz
[root@Node1 ~]#

_os_ip_cmd="/usr/sbin/ip"
_os_rm_cmd="/usr/bin/rm"
_os_sed_cmd="/usr/bin/sed"
_os_grep_cmd="/usr/bin/grep"
# !!! these follow 4 parameter ONLY for single style
# data dir of single
  # 数据库集簇目录的路径
_single_data_dir="/Kingbase/ES/V9/cluster/data"
# bin dir of single
  # 数据库软件的bin目录
_single_bin_dir="/Kingbase/ES/V9/cluster/kingbase/bin"
# database user of single
  # 登录数据库的用户名称
_single_db_user="system"
# database port of single
  # 数据库监听的端口
_single_db_port="54321"

# on means sys_securecmd, off means normal ssh
# 使用通讯协议,默认使用securecmdd,可选使用ssh
_use_scmd=on

# whether to sys_start_backup() fastly, y or n
# 是否快速启动备份,立即生成checkpoint,默认y
_start_fast=y
# whether to gz the target file,  none or gz
# 是否在备份时使用压缩存储,默认为none不压缩
_compress_type=none
# if the non archived WAL files , more than this setting
# show ERROR and break the backup-init, fixed unit in MB, 128 ~ 1024
# 在init过程中,检查未归档的WAL的容量,
# 如果超过设置值,报错并退出init过程
# 单位固定为MB,可选 128 ~ 1024
_non_archived_space=1024
# Cipher type used to encrypt the repository, default is none
# 加密方式
#_repo_cipher_type="aes-256-cbc"
# Password used to encrypt/decrypt files of the repository
# 设置密码
#_repo_cipher_pass="c3k5ODQyLg=="

# disable statistics of archived files or not, n or y
# 不启用归档统计功能
_archive_statistics=n

2.5、编辑sys_hba.conf

说明:在部署sys_backup备份工具时,将本地验证改为trust,可避免本地部署备份工具时,输入密码。

操作如下: vi /Kingbase/ES/V9/cluster/data/sys_hba.conf

# "local" 只能用于UNIX域套接字
local   all       all                                     trust
# IPv4 本地连接:
host    all        all             127.0.0.1/32            trust
#host  all  all           0.0.0.0/0               scram-sha-256

2.6、编辑kingbase.conf,开启archive归档模式

操作如下: vi /Kingbase/ES/V9/cluster/data/kingbase.conf

archive_mode = on               # enables archiving; off, on, or always
                                # (change requires restart)
archive_command = ''            # command to use to archive a logfile segment

3、启动物理备份

3.1、重启集群服务

说明:以上所有信息修改完成后,需重启集群服务,使修改的信息生效。

操作如下:

[kingbase@Node1 bin]$ /Kingbase/ES/V9/cluster/kingbase/bin/sys_monitor.sh restart
2024-05-31 09:55:28 Ready to stop all DB ...
2024-05-31 09:55:51 begin to stop repmgrd on "[192.168.4.141]".
2024-05-31 09:55:52 repmgrd on "[192.168.4.141]" stop success.
等待服务器进程关闭 .... 完成
服务器进程已经关闭
----------------------------------------------------
2024-05-31 09:57:16 repmgrd on "[192.168.4.143]" start success.
 ID | Name  | Role    | Status    | Upstream | repmgrd | PID   | Paused? | Upstream last seen
----+-------+---------+-----------+----------+---------+-------+---------+--------------------
 1  | node1 | primary | * running |          | running | 16395 | no      | n/a
 2  | node2 | standby |   running | node1    | running | 13348 | no      | 0 second(s) ago
 3  | node3 | standby |   running | node1    | running | 13349 | no      | 0 second(s) ago
 5  | node5 | witness | * running | node1    | running | 13346 | no      | 0 second(s) ago
[2024-05-31 09:57:22] [NOTICE] redirecting logging output to "/Kingbase/ES/V9/cluster/kingbase/log/kbha.log"
[2024-05-31 09:57:29] [NOTICE] redirecting logging output to "/Kingbase/ES/V9/cluster/kingbase/log/kbha.log"
[2024-05-31 09:57:36] [NOTICE] redirecting logging output to "/Kingbase/ES/V9/cluster/kingbase/log/kbha.log"
[2024-05-31 09:57:43] [NOTICE] redirecting logging output to "/Kingbase/ES/V9/cluster/kingbase/log/kbha.log"

3.2、执行sys_backup.sh init初始化命令

说明:执行初始化命令sys_backup.sh init。

操作如下:

[kingbase@Node1 bin]$ /Kingbase/ES/V9/cluster/kingbase/bin/sys_backup.sh init
# pre-condition: check the non-archived WAL files
# generate local sys_rman.conf...DONE
# update all node: sys_rman.conf and archive_command with sys_rman.archive-push...
# update all node: sys_rman.conf and 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.
'sys_backup.sh start' will add CRONTAB items.
Or you can manual backup once with user-guide.
[kingbase@Node1 bin]$

3.3、执行sys_backup.sh start启动备份计划

说明:启动定时备份任务,系统会自动添加定时备份任务。

操作如下:

[kingbase@Node1 bin]$ /Kingbase/ES/V9/cluster/kingbase/bin/sys_backup.sh start
# pre-condition: check the non-archived WAL files
Enable some sys_rman in crontab-daemon
You (kingbase) are not allowed to use this program (crontab)
See crontab(1) for more information
Set full-backup in 7 days
Set incr-backup in 1 days
You (kingbase) are not allowed to use this program (crontab)
See crontab(1) for more information
You (kingbase) are not allowed to use this program (crontab)
See crontab(1) for more information

3.4、查看备份集

说明:初始化过程会自动做一次全量备份。

操作如下:

[kingbase@Node1 bin]$ /Kingbase/ES/V9/cluster/kingbase/bin/sys_rman --config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf --stanza=kingbase info
WARN: set process-max 4 is too large, auto set to CPU core count 2
stanza: kingbase
    status: ok
    cipher: none

    db (current)
        wal archive min/max (V009R001C001B0025): 00000001000000000000000A/00000001000000000000000C

        full backup: 20240531-095901F
            timestamp start/stop: 2024-05-31 09:59:01 / 2024-05-31 09:59:13
            wal start/stop: 00000001000000000000000C / 00000001000000000000000C
            database size: 124.2MB, database backup size: 124.2MB
            repo1: backup set size: 124.2MB, backup size: 124.2MB

3.5、执行全量备份

说明:差异备份参数type=full。

操作如下:

[kingbase@Node1 bin]$ /Kingbase/ES/V9/cluster/kingbase/bin/sys_rman --config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf --stanza=kingbase --type=full backup
2024-05-31 10:09:49.796 P00 INFO: backup command begin 2.27: --no-archive-statistics --archive-timeout=600 --band-width=0 --cmd-ssh=/Kingbase/ES/V9/cluster/kingbase/bin/sys_securecmd --compress-level=3 --compress-type=none --config=/Kingbase/ES/V9/cluster/kingbase/bin/sys_rman.conf --exec-id=23006-98af8527 --kb2-host=192.168.4.142 --kb3-host=192.168.4.143 --kb2-host-user=kingbase --kb3-host-user=kingbase --kb1-path=/Kingbase/ES/V9/cluster/data --kb2-path=/Kingbase/ES/V9/cluster/data --kb3-path=/Kingbase/ES/V9/cluster/data --kb1-port=54321 --kb2-port=54321 --kb3-port=54321 --kb1-user=esrep --kb2-user=esrep --kb3-user=esrep --log-level-console=info --log-level-file=info --log-path=/Kingbase/ES/V9/cluster/kingbase/log --log-subprocess --non-archived-space=1024 --process-max=4 --repo1-path=/Kingbase/ES/V9/cluster/kbbr_repo --repo1-retention-full=5 --stanza=kingbase --start-fast --type=full WARN: set process-max 4 is too large, auto set to CPU core count 2 2024-05-31 10:09:51.248 P00 INFO: Get pageCheckSum flag from ControlFile is 1 2024-05-31 10:09:51.253 P00 INFO: Check the non archvied WAL space under the setting 1024 MB 2024-05-31 10:09:51.253 P00 INFO: Non archived WAL files have 0 MB. ................................................... 2024-05-31 10:10:02.419 P00 INFO: check archive for segment(s) 00000001000000000000000E:00000001000000000000000E 2024-05-31 10:10:02.899 P00 INFO: new backup label = 20240531-100951F 2024-05-31 10:10:02.990 P00 INFO: full backup size = 108.2MB, file total = 2886 2024-05-31 10:10:02.991 P00 INFO: backup command end: completed successfully (13201ms) 2024-05-31 10:10:02.991 P00 INFO: expire command begin 2.27: --no-archive-statistics --band-width=0 --config=/Kingbase/ES/V9/cluster/kingbase/bin/sys_rman.conf --exec-id=23006-98af8527 --log-level-console=info --log-level-file=info --log-path=/Kingbase/ES/V9/cluster/kingbase/log --process-max=2 --repo1-path=/Kingbase/ES/V9/cluster/kbbr_repo --repo1-retention-full=5 --stanza=kingbase 2024-05-31 10:10:03.215 P00 INFO: expire command end: completed successfully (224ms)


3.6、执行差异备份

说明:差异备份参数type=diff。

操作如下:

[kingbase@Node1 bin]$ /Kingbase/ES/V9/cluster/kingbase/bin/sys_rman --config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf --stanza=kingbase --archive-copy  --type=diff backup
2024-05-31 10:17:14.160 P00   INFO: backup command begin 2.27: --archive-copy --no-archive-statistics --archive-timeout=600 --band-width=0 --cmd-ssh=/Kingbase/ES/V9/cluster/kingbase/bin/sys_securecmd --compress-level=3 --compress-type=none --config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf --exec-id=25312-cecbe847 --kb2-host=192.168.4.142 --kb3-host=192.168.4.143 --kb2-host-user=kingbase --kb3-host-user=kingbase --kb1-path=/Kingbase/ES/V9/cluster/data --kb2-path=/Kingbase/ES/V9/cluster/data --kb3-path=/Kingbase/ES/V9/cluster/data --kb1-port=54321 --kb2-port=54321 --kb3-port=54321 --kb1-user=esrep --kb2-user=esrep --kb3-user=esrep --log-level-console=info --log-level-file=info --log-path=/Kingbase/ES/V9/cluster/kingbase/log --log-subprocess --non-archived-space=1024 --process-max=4 --repo1-path=/Kingbase/ES/V9/cluster/kbbr_repo --repo1-retention-full=5 --stanza=kingbase --start-fast --type=diff
WARN: set process-max 4 is too large, auto set to CPU core count 2
2024-05-31 10:17:15.593 P00   INFO: Get pageCheckSum flag from ControlFile is 1
2024-05-31 10:17:15.632 P00   INFO: last backup label = 20240531-100951F, version = 2.27
2024-05-31 10:17:15.632 P00   INFO: Check the non archvied WAL space under the setting 1024 MB
2024-05-31 10:17:15.632 P00   INFO: Non archived WAL files have 0 MB.
................................
2024-05-31 10:17:18.113 P00   INFO: diff backup size = 21.5MB, file total = 2890
2024-05-31 10:17:18.114 P00   INFO: backup command end: completed successfully (3959ms)
2024-05-31 10:17:18.114 P00   INFO: expire command begin 2.27: --no-archive-statistics --band-width=0 --config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf --exec-id=25312-cecbe847 --log-level-console=info --log-level-file=info --log-path=/Kingbase/ES/V9/cluster/kingbase/log --process-max=2 --repo1-path=/Kingbase/ES/V9/cluster/kbbr_repo --repo1-retention-full=5 --stanza=kingbase
2024-05-31 10:17:18.338 P00   INFO: expire command end: completed successfully (224ms)

3.7、手动执行增量备份

说明:差异备份参数type=incr。

操作如下:

/Kingbase/ES/V9/cluster/kingbase/bin/sys_rman --config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf  --stanza=kingbase --archive-copy   --type=incr backup

[kingbase@Node1 bin]$ /Kingbase/ES/V9/cluster/kingbase/bin/sys_rman --config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf  --stanza=kingbase --archive-copy   --type=incr backup
2024-05-31 10:37:24.540 P00   INFO: backup command begin 2.27: --archive-copy --no-archive-statistics --archive-timeout=600 --band-width=0 --cmd-ssh=/Kingbase/ES/V9/cluster/kingbase/bin/sys_securecmd --compress-level=3 --compress-type=none --config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf --exec-id=32190-662f3e9e --kb2-host=192.168.4.142 --kb3-host=192.168.4.143 --kb2-host-user=kingbase --kb3-host-user=kingbase --kb1-path=/Kingbase/ES/V9/cluster/data --kb2-path=/Kingbase/ES/V9/cluster/data --kb3-path=/Kingbase/ES/V9/cluster/data --kb1-port=54321 --kb2-port=54321 --kb3-port=54321 --kb1-user=esrep --kb2-user=esrep --kb3-user=esrep --log-level-console=info --log-level-file=info --log-path=/Kingbase/ES/V9/cluster/kingbase/log --log-subprocess --non-archived-space=1024 --process-max=4 --repo1-path=/Kingbase/ES/V9/cluster/kbbr_repo --repo1-retention-full=5 --stanza=kingbase --start-fast --type=incr
WARN: set process-max 4 is too large, auto set to CPU core count 2
ERROR: [056]: more than one primary cluster found
2024-05-31 10:37:25.350 P00   INFO: backup command end: aborted with exception [056]

3.8、查看备份集

操作如下:

[kingbase@Node1 bin]$ /Kingbase/ES/V9/cluster/kingbase/bin/sys_rman --config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf --stanza=kingbase info
WARN: set process-max 4 is too large, auto set to CPU core count 2
stanza: kingbase
    status: ok
    cipher: none

    db (current)
        wal archive min/max (V009R001C001B0025): 000000010000000000000013/00000001000000000000001B

        full backup: 20240601-231311F
            timestamp start/stop: 2024-06-01 23:13:11 / 2024-06-01 23:13:22
            wal start/stop: 000000010000000000000015 / 000000010000000000000015
            database size: 99.7MB, database backup size: 99.7MB
            repo1: backup set size: 99.7MB, backup size: 99.7MB

        full backup: 20240601-231958F
            timestamp start/stop: 2024-06-01 23:19:58 / 2024-06-01 23:20:12
            wal start/stop: 000000010000000000000017 / 000000010000000000000017
            database size: 83.7MB, database backup size: 83.7MB
            repo1: backup set size: 83.7MB, backup size: 83.7MB

        diff backup: 20240601-231958F_20240601-232055D
            timestamp start/stop: 2024-06-01 23:20:55 / 2024-06-01 23:20:58
            wal start/stop: 000000010000000000000019 / 000000010000000000000019
            database size: 99.7MB, database backup size: 16MB
            repo1: backup set size: 99.7MB, backup size: 16MB
            backup reference list: 20240601-231958F

        incr backup: 20240601-231958F_20240601-232121I
            timestamp start/stop: 2024-06-01 23:21:21 / 2024-06-01 23:21:25
            wal start/stop: 00000001000000000000001B / 00000001000000000000001B
            database size: 99.7MB, database backup size: 16MB
            repo1: backup set size: 99.7MB, backup size: 16MB
            backup reference list: 20240601-231958F
[kingbase@Node1 bin]$

3.9、还原备份文件

说明:模拟Kingbase故障,还原Kingbase备份文件,可以恢复数据。

操作如下:

3.9.1、停止Kingbase服务

[kingbase@Node1 bin]$
[kingbase@Node1 bin]$ /Kingbase/ES/V9/cluster/kingbase/bin/sys_ctl stop
等待服务器进程关闭 .... 完成
服务器进程已经关闭

3.9.2、清除Kingbase的data数据库目录

[kingbase@Node1 bin]$ [kingbase@Node1 bin]$ rm -rf /Kingbase/ES/V9/cluster/data/*

3.9.3、还原

说明:

  • 1、还原时,只能在数据库节点上进行。
  • 2、还原时,需要确保kingbase进程已经停止。
  • 3、还原时,KB_DATA目录下如果还有文件存在,需要--delta选项进行选择性还原。
  • 4、还原时,KB_DATA目录下如果没有文件存在,默认以下的还原模式均可使用。

还原类型:

  1. 最新备份文件还原

说明:默认还原行为,将之前备份的最新的成果,还原到数据库中。

操作如下:

/Kingbase/ES/V9/cluster/kingbase/bin/sys_rman
--config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf --stanza=kingbase restore

2、指定备份集还原

/Kingbase/ES/V9/cluster/kingbase/bin/sys_rman
--config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf 
 --stanza=kingbase --type=none --set=’20240601-231958F’  restore

说明:

  • 1、使用备份节点名来还原到特定状态;
  • 2、备份节点名的查看,请参考 查看已有的备份
  • 3、-delta选项可选,用于KB_DATA目录存在文件时

3、指定的事务ID还原

/Kingbase/ES/V9/cluster/kingbase/bin/sys_rman
--config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf 
 --stanza=kingbase --type=none  --type=xid --target='445566' restore

说明:

  • 1、查询事务xid(SQL脚本:SELECT txid_current();)。
  • 2、使用指定的xid还原到特定状态
  • 3、--target-exclusive选项可选,用于表示是否排除等于指定xid的内容。

4、指定的时间点还原

[kingbase@Node1 bin]$ /Kingbase/ES/V9/cluster/kingbase/bin/sys_rman --config=/Kingbase/ES/V9/cluster/kbbr_repo/sys_rman.conf --stanza=kingbase  --type=time --target='20240-05-31 12:00:00' 
restore

说明:

  • time --target:设置还原到的时间点。

3.10、物理备份总结


1、备份任务的启动

脚本: sys_backup.sh start

  • 1、脚本使用crontab命令增加定时任务,使用sys_rman进行定时备份;可以通过crontab -l 查看定时任务。
  • 2、全量备份、差异备份、增量备份,均为可选。
  • 3、备份类型、备份周期和备份时间由配置文件sys_backup.conf指定。
  • 4、在sys_backup.conf配置为cluster的情况下,整个集群只需要在REPO节点上执行;
  • 5、在sys_backup.conf配置为single-pro的情况下,每个DB节点都是REPO节点,需要逐个执行start。

2、关闭定时备份动作

脚本: sys_backup.sh stop

  • 1、从系统CRONTAB中移除所有sys_rman相关的备份条目。
  • 2、在sys_backup.conf配置为cluster的情况下,整个集群只需要在REPO节点上执行;
  • 3、在sys_backup.conf配置为single-pro的情况下,每个DB节点都是REPO节点,需要逐个执行stop。

3、暂时停止定时备份动作

脚本: sys_backup.sh pause

4、恢复被暂停的定时备份动作

脚本: sys_backup.sh unpause


4、常见问题


4.1、问题:

执行crontal -e遇到报错:

You (your_logon) are not allowed to use this program (crontab)
See crontab(1) for more information

解决方案: Linux中以下2个文件控制crontab的访问权限:

/etc/cron.allow
/etc/cron.deny

需要将当前用户加到 /etc/cron.allow,执行命令:

su - root
echo 当前用户名 > /etc/cron.allow

5、Kingbase物理备份的最佳实践

  • 定期备份:为确保数据安全,应定期执行物理备份操作,并妥善保存备份文件。
  • 选择合适的备份策略:根据业务需求和数据重要性选择合适的备份策略,以平衡备份效率和存储成本。
  • 备份验证:在备份完成后,务必通过恢复操作验证备份数据的有效性和完整性。
  • 备份设备维护:确保备份设备的可用性和稳定性,定期对备份设备进行检查和维护。

6、结论

物理备份是保障Kingbase数据库数据安全的重要手段之一。通过合理的备份配置和有效的备份执行,可以确保数据的完整性和安全性,为企业信息化建设提供坚实的保障。同时,通过实例演示和注意事项的提醒,希望读者能够更好地理解和应用Kingbase的物理备份技术,为数据安全保驾护航。

最后修改时间:2024-06-03 22:02:40
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论