HaloDB RMAN备份恢复工具简介:
RMAN(Recovery Manager)是易景科技自研的用于HaloDB的物理备份和恢复操作的工具。它可以用来备份和恢复数据库文件、归档日志和控制文件,用来执行完全或不完全的数据库恢复。RMAN特有的优势是跳过未使用的数据块。当备份一个RMAN备份集时,RMAN不会备份从未被写入的数据块。另外, RMAN使用二进制压缩模式,能够最大程度地压缩数据块中的一些典型数据。
以下是RMAN对HaloDB执行全量备份恢复和增量备份恢复的测试。
前提和约束:
数据库已正常运行
备份信息已初始化
数据库运行在归档模式下,并能正常归档
参数设置:
设置归档
模式主要涉及 2 个系统参数:
archive_mode设置为onarchive_command
归档命令。即复制 WAL 日志的命令。简单的命令可参考:test ! -f /data/halo/archivedir/%f && cp %p /data/halo/archivedir/%f

重启生效
pg_ctl restart创建归档日志目录
su - rootmkdir -p /data/halo/archivedirchown halo:halo /data/halo/archivedir
设置一个目录来存放备份文件,该目录需要进行初始化操作:
su - rootmkdir -p /data/halo_backupchown halo:halo /data/halo_backupvi /home/halo/.bash_profile ---配置环境变量export BACKUP_PATH=/data/halo_backup

source /home/halo/.bash_profile
重载
su - halorman init

--建测试表,并插入数据
CREATE TABLE TEST(a int);INSERT INTO TEST VALUES(3);
进行全量备份恢复测试
1) 进行全量备份测试并验证备份有效性
rman backup -b full -d halo0rootrman validaterman show detail

备份成功且验证为有效状态。
2) 进行全量恢复操作
3) 停止数据库
pg_ctl stop4) 移除原数据目录,模拟数据库损坏

5) 执行恢复操作
rman restore -A /data/halo/archivedir
6) 启动数据库
pg_ctl start7) 验证测试数据

恢复完成。
进行增量备份恢复测试
su – halo1)重新初始化rman
rman init
2)建测试表,并插入数据
CREATE TABLE TEST(a int);INSERT INTO TEST VALUES(3);

3)进行全量备份,并验证备份有效性
rman backup -b full -d halo0root -A/data/halo/archivedirrman validaterman show detail

4) 再插入一条测试数据
INSERT INTO TEST VALUES(3);Select * from test;

5) 进行增备份,并验证备份有效性
rman backup -b incremental -d halo0root -A /data/halo/archivedirrman validaterman show detail

6) 进行增量恢复操作
停止数据库
pg_ctl stop7) 移除原数据目录,模拟数据库损坏

8) 执行增量恢复操作
先恢复全量备份rman restore --backup-mode=full-A/data/halo/archivedir

再恢复增量备份rman restore--backup-mode=incremental -A /data/halo/archivedir

9)启动数据库,验证恢复结果
pg_ctl startpsqlselect * from test;

10) 恢复数据成功
以上是RMAN备份恢复工具对HaloDB进行的备份恢复测试展示,如果您感兴趣,欢迎下载HaloDB数据库软件使用,还有更多高级功能(不完全恢复,基于时间点的恢复等)等你挖掘体验




