版本环境:KingbaseES V8R6
适用对象:DBA / 运维工程师 / 技术支持人员
目标用途:生产环境灾备保障、全量迁移、异地容灾恢复
一、物理备份操作流程
物理备份是指直接对数据库实例的物理文件进行复制,具备完整性强、恢复速度快等特点,适合关键系统的数据保护。
1.1 创建备份目录
mkdir -p /home/kingbase/backup
💡 建议为备份目录配置定期清理策略,避免磁盘空间被长期占用。
1.2 确认数据库运行状态
sys_ctl status -D $KINGBASE_DATA
期望输出示例:
sys_ctl: server is running (PID: 1298)
/data/KingbaseES/V8/.../kingbase -D /data/KingbaseES/data
✅ 建议备份前确认数据库处于正常运行状态,避免备份文件不完整。
1.3 执行物理备份命令
sys_basebackup -Ft -Xs -Pv -U system -p 54321 -c fast -D /home/kingbase/backup
参数说明:
参数 | 说明 |
---|---|
-Ft | 输出格式为 tar(推荐) |
-Xs | 同步备份 WAL 日志 |
-Pv | 显示进度和详细信息 |
-U system | 备份用户(需具备复制权限) |
-p | 数据库监听端口 |
-c fast | 设置检查点模式为快速 |
-D | 目标备份目录 |
1.4 核查备份结果
ls /home/kingbase/backup/
示例输出:
base.tar sys_wal.tar 24626.tar
base.tar
:数据库主目录文件sys_wal.tar
:WAL 日志归档目录24626.tar
:表空间文件,对应一个或多个自定义表空间
1.5 核查表空间链接
ll $KINGBASE_DATA/sys_tblspc
输出示例:
lrwxrwxrwx 1 kingbase kingbase 19 Jun 6 15:12 24626 -> /home/kingbase/ptbs
🧩 表空间 OID 与路径需记录备份关系,便于后续恢复时建立符号链接。
二、物理恢复操作流程
本节介绍如何基于完整备份文件进行物理恢复。适用于灾难恢复、测试环境搭建、新实例部署等场景。
💡 注意事项:
- 恢复目标实例不需要初始化数据库(不执行 initdb)。
- 所有恢复操作建议在断网状态下进行,防止误连接生产环境。
- 恢复操作应在原版本或兼容版本 Kingbase 上执行。
2.1 解压备份文件
创建恢复目录并设置权限:
mkdir -p $KINGBASE_DATA
chmod 700 $KINGBASE_DATA
解压核心数据文件与 WAL 日志:
tar -xvf base.tar -C $KINGBASE_DATA
tar -xvf sys_wal.tar -C $KINGBASE_DATA/sys_wal
解压表空间文件:
mkdir -p /home/kingbase/ptbs
tar -xvf 24626.tar -C /home/kingbase/ptbs
表空间文件名 24626.tar 中的数字为表空间 OID,应与原环境保持一致。
重建表空间软链接:
cd $KINGBASE_DATA/sys_tblspc
ln -s /home/kingbase/ptbs 24626 # OID 请根据实际匹配
2.2 启动数据库并验证
systemctl start kingbase
如启动成功,可通过 ksql
工具登录验证:
ksql -U system -d <数据库名>
三、后续建议与运维规范
建议项 | 说明 |
---|---|
配置自动备份计划 | 使用 crontab 定时执行 sys_basebackup 任务 |
备份一致性校验 | 建议结合 md5sum 或 sha256sum 校验备份文件完整性 |
保留备份版本不低于 3 个 | 防止单点备份损坏导致无法恢复 |
分离表空间与数据文件 | 提升恢复灵活性,适应多磁盘部署 |
配合逻辑备份双重保障 | 可使用 sys_dump 实现逻辑级精细恢复 |
周期性进行恢复演练 | 定期验证备份有效性,提升应急恢复能力 |
总结
通过使用 sys_basebackup
工具,KingbaseES 可实现全量、强一致性的数据物理备份。该方式不仅操作简洁高效,还能显著提升恢复可靠性。配合标准化恢复流程与表空间管理策略,可有效应对数据灾难、迁移、异地部署等复杂场景。