gs_dump是一款用于导出数据库相关信息的工具,支持导出完整一致的数据库对象(数据库、模式、表、视图等)数据,同时不影响用户对数据库的正常访问。
1物理备份sql语句:
[omm@gaussdb01 data]$ gs_dump -U lily -W qwe123QW -f /opt/software/gsdump.hr.sql -p 30100 db_hr -F p

gs_dump是openGauss用于导出数据库相关信息的工具,用户可以自定义导出一个数据库或其中的对象(模式、表、视图等)。支持导出的数据库可以是默认数据库postgres,也可以是自定义数据库。

gsql -p 30100 db_hr -r -f /home/omm/XXX.sql
集中式单节点不支持该工具。
GaussRoach.py工具是GaussDB(for openGauss)提供的用于备份和恢复的实用工具。可对整个数据库中的数据、WAL归档日志和运行日志进行备份。
GaussRoach.py工具是一款数据库高可用性以及容灾恢复策略的备份管理工具。使用该工具可以备份恢复数据库;不仅可以备份到物理磁盘,也可以备份到OBS、NBU和EISOO。数据库级备份包含数据库静态配置文件(cluster_static_config),数据库动态配置文件(cluster_dynamic_config),数据节点DN(Datanode)及其备实例。
备份需在集群主节点执行
前提:集群级备份前,需要执行如下命令开启集群归档模式
脚本路径:XXX/data/cluster/tools/script/GaussRoach.py
开启归档命令:python3 GaussRoach.py -t config --archive=true -p
开启归档:

1:全量备份
python3 GaussRoach.py -t backup --master-port 7000 --media-destination /home/omm/media --media-type DISK --compression-type 2 --compression-level 5 --metadata-destination /home/omm/meta
-t:Roach接口支持多种功能。指定该参数为backup,表示调用备份功能。
-media-type:-备份所需的介质类型。
说明:
使用备份数据库到EISOO时,确保已放入正确版本的libgaussdbmml.so
使用备份数据库到NAS时,确保数据库实例上所有节点的指定路径挂载的是同一个NAS共享盘
对于磁盘:–media-destination /home/cam/backup
对于NBU:–media-destination Samplepolicy
对于EISOO:roach
对于NAS:–media-destination /home/cam/backup
–metadata-destination:
元数据文件位置。
–metadata-destination /home/username
全量物理备份成功:

备份类型需要根据传入的变量进行判断
增量备份(需要在全量备份的基础上来做) 磁盘备份:
去全量备份的磁盘目录看下全量备份的名称后填写

[omm@gaussdb02 script]$ [omm@gaussdb02 script]$ python3 GaussRoach.py -t backup --master-port 7000 --media-destination /home/omm/media --media-type DISK --compression-type 2 --compression-level 5 --metadata-destination /home/omm/meta --prior-backup-key 20221125_102746 --validate-prior-backups force
备份成功:

[omm@gaussdb02 script]$ python3 GaussRoach.py -t show --related-backup-keys --metadata-destination /home/omm/meta/ --backup-key 20221125_102746

python3 GaussRoach.py -t show --related-backup-keys --metadata-destination /home/omm/meta/ --backup-key 20221125_104547

[omm@gaussdb02 script]$ python3 GaussRoach.py -t show --all-backups --metadata-destination /home/omm/meta

Roach也兼容使用python3 GaussRoach.py –t stop –F命令停止备份,有-F和无-F参数的执行结果相同。
python3 $GPHOME/script/GaussRoach.py -t stop
1.查看备份状态:
python3 GaussRoach.py -t show --all-backups --metadata-destination /home/omm/meta

2.执行恢复脚本:
python3 GaussRoach.py -t restore --clean --master-port 7000 --media-destination /home/omm/media --media-type DISK --backup-key 20221125_102746 --metadata-destination /home/omm/meta

查看集群状态:

3.执行恢复脚本成功后,必须执行命令启动集群,否则集群无法启动
python3 GaussRoach.py -t start

Parsing the configuration file.
**[GAUSS-53403]** : Cluster balance check failedbackup cannot continue when the cluster is not balance
Roach operation backup failed.
正在分析配置文件。
[GAUSS-53403]:群集平衡检查失败当群集不平衡时,备份无法继续
漫游操作备份失败。
查看集群状态:
balanced显示为NO,当前集群不平衡,不平衡原因可能是发生过切换或者其他原因导致。

balanced:平衡状态。显示是否有数据库实例发生过主备切换而导致主机负载不均衡。
执行命令恢复数据库初始状态(目前为测试环境,生产不使用此命令)
gs_om -t switch --reset

变为yes就可以进行备份了。
