金仓数据库KingbaseES 备份与还原的使用
关键字:
KingbaseES、备份与还原、物理备份、逻辑备份、人大金仓、KingbaseES
一、概述
1.1备份与还原
备份与还原指的是为了保护数据,使数据在某些灾难性情况下能够重建数据库所要经历的过程。对于事务内部的故障或系统故障,KES数据库将使用预写式日志文件自动恢复数据,不需要进行人工的干预,但对于硬件故障、操作事务等事件,数据无法进行自动恢复,这就需要管理人员定期备份数据,当故障发生时,使用备份来恢复数据库。
1.2 KingbaseES支持的备份方式
(1)基于备份集和预写式日志的物理备份恢复
物理备份是一种文件系统级别的备份恢复方式,可以直接备份磁盘中数据目录下的物理文件,并通过还原数据文件和日志恢复技术来保护数据。
(2)逻辑备份方式
逻辑备份恢复是指创建一个由SQL命令或二进制组成的文件,当把这个文件返回给服务器时,服务器将利用其中的SQL命令重建与转存时状态一样的数据。
1.3优势劣势
物理备份:
物理备份的还原速度非常快,但物理备份的最小力度只能到表级别,物理备份的兼容性较低,对版本的要求较高,安全性也较低。
逻辑备份:
逻辑备份保存的结构通常是纯ASCII的,具有很强的兼容性,且对保持数据的安全性更有保障,但逻辑备份要对数据库管理系统产生额外的压力,逻辑备份的还原时间很长。
二、备份还原的实现
(1)Sys_rman命令执行物理备份
Sys_rman是用于数据库物理备份的命令,其支持全量备份、差异备份和增量备份。
Sys_rman使用场景
用于数据库文件损坏等物理错误场景下的数据恢复。
用于基于时间点或事物号的数据恢复。
用于大型系统中执行整个库级的数据恢复。
用于将整个数据库集簇恢复到另一个新的数据库实例中。
初始化操作
Sys_rman工具需要使用sys_backup.sh脚本初始化后才能使用,sys_rman支持自动备份策略,sys_backup.sh的配置文件是sys_backup.conf,它位于/Server/share目录中,如下:
通过修改配置文件可以设置全量备份、差异备份和增量备份的间隔天数和时间点。
修改后,执行初始化命令
sys_back.sh中通过start启动定时备份任务,系统会自动添加定时备份任务,通过pause暂停定时备份任务,通过unpause恢复定时备份任务,通过stop取消定时备份任务。
sys_rman可执行全量备份、差异备份、增量备份
备份参数:
sys_rman --config= 执行初始化时生成的sys_rman.conf配置文件地址
--stanza=kingbase #指定标签,通过标签找到配置文件中对应的参数配置
--archive-copy #指定备份时同时备份恢复所需的wal文件
--type= 备份类型,全量备份为full backup,差异备份为diff,增量备份为incr。
恢复通过restore进行恢复数据。如:
sys_rman –config=sys_rman.conf文件地址 –stanza=kingbase –delta restore.
(2)sys_dump命令执行逻辑备份
上图是对test数据库执行逻辑备份,我们将test库备份至/home/zpz/Kingbase/KES/bak/dumpfile1.dmp文件下。
其中-f后为备份的文件路径。
因为文件存储的是sql命令形式,故利用./ksql命令对其还原
如上将备份的dumpfile1.dmp文件还原至指定的kb1数据库。
三、值得注意的
通过逻辑备份还原的时候,需要进入到Server/bin目录下,且有两种还原方式,一种为ksql方式一种为sys_restore,一般来讲,还原存储为sql命令的文件使用ksql命令,还原存储二进制的文件使用sys_restore命令。
四、总结
1、KingbaseES支持基于备份集和预写式日志的物理备份恢复以及逻辑备份。
2、物理备份通常使用sys_rman命令,逻辑备份通常使用sys_dump。
3、有两种还原方式,一种为ksql,一般用于还原sql命令的文件,一种为sys_restore,一般用于还原二进制的文件。
4、sys_rman支持自动备份策略,需要在/Server/share目录中的sys_backup.conf文件下进行相应的配置。




