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


原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/316958.html