GaussDB(DWS)备份恢复工具roach支持单表、多表、schema级别、database级别的逻辑备份,满足客户不同使用需求。本次介绍database级逻辑备份。
1. Database级备份:
$GPHOME/script/GaussRoach.py -t backup --dbname test_database --agent-port 8888 --metadata-destination /data/logical_meta --media-destination /data/logical_media --master-port 9090 --media-type DISK参数解析:
- –media-type 存储介质(此处为disk)
- –master-port Roach主代理进程的执行端口
- –agent-port Roach非主代理进程的执行端口
- --media-destination roach备份数据目录
逻辑备份数据目录下备份表文件:
- –metadata-destination roach备份元数据目录
- --dbname 备份数据库名称
2. Database级恢复:
$GPHOME/script/GaussRoach.py -t restore --dbname test_database --agent-port 8888 --metadata-destination /data/logical_meta --media-destination /data/logical_media --master-port 9090 --media-type DISK --backup-key 20210527_211242 --clean --create参数解析:
- -t restore 表明该操作为恢复操作
- –backup-key 即将要恢复的逻辑备份文件的key
- –clean 恢复前清除数据
- –create 恢复时创建表结构
3. 从database备份集中恢复单表lineitem:
Step1: 数据库中删除即将要恢复的表:
Step2: roach逻辑恢复命令恢复删除的表lineitem:
$GPHOME/script/GaussRoach.py -t restore --dbname test_database --agent-port 8888 --metadata-destination /data/logical_meta --media-destination /data/logical_media --master-port 9090 --media-type DISK --backup-key 20210527_211242 --clean --create --tablename public.lineitem
Step3:检查DWS集群已经删除的表恢复成功:
4. 从database备份集中恢复多表:
创建一个tab.lst文件,文件中写入需恢复的表名称,执行从database中恢复多表命令:
$GPHOME/script/GaussRoach.py -t restore --dbname test_database --agent-port 8888 --metadata-destination /data/logical_meta --media-destination /data/logical_media --master-port 9090 --media-type DISK --backup-key 20210527_211242 --clean --create --table-list /home/perfadm/tab.list