金仓数据库KingbaseES备份与恢复工具手册(备份)

目录

5.1. 全量备份 ¶

5.2. 差异备份 ¶

5.3. 增量备份-文件粒度 ¶

5.4. 块增量备份-块粒度 ¶

5.5. 备份集管理 ¶

5.5.1. 查看已有的备份集 ¶

5.5.2. 自动清除过期的备份 ¶

5.5.3. 手动清除过期的备份 ¶


以下针对sys_rman命令作相应说明,以便在手动执行备份的场景中使用。

手动备份并不影响自动备份任务的运行,但要注意同一时间只能有一个备份在运行,所以手动执行时尽量错开自动备份时间或者暂停自动备份。

备份命令格式:

/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman
  --config=<配置文件>
  --stanza=<名称>
  --type=[full|diff|incr|page]
  --<备份选项>
  backup

本部分包含以下内容:

5.1. 全量备份 

全量备份,对所有数据文件进行一次备份,产生的备份集可以单独地构成还原的基础。

手动执行一次全量备份:

/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman
--config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase
--archive-copy --type=full backup

5.2. 差异备份 

差异备份,依赖于上一次全量备份,针对此全量备份有变化的数据文件进行一次备份,产生的备份集配合依赖的全量备份集构成还原的基础。

手动执行一次差异备份:

/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman
--config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase
--archive-copy --type=diff backup

5.3. 增量备份-文件粒度 

增量备份,依赖于上一次全量备份及中间变化的备份,针对上一个备份有变化的数据文件进行一次备份,产生的备份集配合依赖的全量备份集及串行依赖备份集构成还原的基础。

文件粒度,当某个数据文件的一个数据块发生变化后,增量备份将拷贝整个数据文件。

手动执行一次增量备份:

/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman
--config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase
--archive-copy --type=incr backup

5.4. 块增量备份-块粒度 

块增量备份,依赖于上一次全量备份及中间变化的备份,针对上一个备份有变化的数据块进行一次备份,产生的备份集配合依赖的全量备份集及串行依赖备份集构成还原的基础。

块粒度,当某个数据文件的一个数据块发生变化后,块增量备份只拷贝变化的数据块。

块增量备份,需要Kingbase数据库开启了ktrack插件,请参考 《KingbaseES插件参考手册》ktrack章节。

手动执行一次块增量备份:

/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman
--config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase
--archive-copy --type=page backup

开启ktrack插件的数据库应与sys_rman块备份时连接的数据库一致,默认情况下都为initdb时创建的test库,无须特别指定;如在其他库开启ktrack插件(不推荐),则执行sys_rman 块备份时,需使用 --kb1-database 指定:

/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman
--kb1-database=test1 --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase
--archive-copy --type=page backup

5.5. 备份集管理 

5.5.1. 查看已有的备份集 

在文件层面,<REPO_PATH>包含三个内容:

  1. sys_rman.conf,运行时配置文件

  2. archive,归档WAL日志的目标目录

  3. backup,保存各备份的目标目录

如图所示:

工具提供命令,查看已有备份集列表和概要信息

/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase info
full backup: 20220512-110154F
    timestamp start/stop: 2022-05-12 11:01:54 / 2022-05-12 11:02:04
    wal start/stop: 000000010000000000000066 / 000000010000000000000066
    database size: 424.8MB, database backup size: 424.8MB
    repo1: backup set size: 424.8MB, backup size: 424.8MB

incr backup: 20220512-110154F_20220512-110320I
    timestamp start/stop: 2022-05-12 11:03:20 / 2022-05-12 11:03:24
    wal start/stop: 000000010000000000000068 / 000000010000000000000068
    database size: 408.8MB, database backup size: 346.2MB
    repo1: backup set size: 408.8MB, backup size: 346.2MB
    backup reference list: 20220512-110154F
  • 第一行表示备份集的类型和备份集的名称

  • timestamp start表示备份开始的时间点

  • timestamp stop 表示备份结束的时间点

  • wal start表示备份开始时的WAL日志文件

  • wal stop表示备份结束时的WAL日志文件

  • database size 表示数据库的运行时磁盘容量

  • database backup size 表示数据库的备份容量

  • backup set size 表示当前备份集的容量

  • backup size 表示当前备份集的实际磁盘容量,包含压缩因素和依赖备份集冗余

  • backup reference list 表示当前备份集依赖备份集列表

5.5.2. 自动清除过期的备份 

在运行时配置文件sys_rman.conf中设置定期清除功能的保留数目:

repo1-retention-full=5

每一次备份结束后,工具将自动执行一次清除过期备份的动作。

清理备份集时会根据时间排序,保留最新的备份集,清除最老的备份集。

超过此数目的全量备份集将被清除;其依赖的备份集自动被清除;清除备份集包含数据库文件和对应的归档WAL日志文件。

5.5.3. 手动清除过期的备份 

手动调用expire命令:

  1. 确认sys_rman.conf中的设置:保留全量备份集的数目

repo1-retention-full=5
  1. 执行 /home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase expire

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值