gaussdb 物理备份恢复【gs_rman 备份】【03】

备份

gs_rman支持在线备份,它主要包含三种备份类型:全量备份、增量备份和备份WAL归档日志。在每一次备份后都应使用validate命令进行验证。

前提条件

已参照初始化配置完成备份目录初始化;在每个时间线上的增量备份和WAL归档日志备份之前必须至少完成了一次全量备份;gs_rman与gaussdb在同一台服务器上。
在这里插入图片描述

参数说明

备份时特有的参数

参数名/缩写

描述

-b / --backup-mode mode

"指定备份方式。 MODE的取值范围和默认值如下: 取值范围: Full:全量备份,备份整个数据库和WAL归档文件,缩写为F/f。 Incremental:增量备份,对在上一次验证过的备份之后的修改过的文件或页进行备份,缩写为I/i。 Archive:仅对归档文件进行备份,缩写为A/a。 默认值:如果没有指定,将持续还原到最新的备份时间。"

-s / --with-serverlog

"备份指定的服务日志文件。 取值范围:如果指定了-S参数,则必须指定此参数。 默认值:无。"

-C / --smooth-checkpoint

在备份前执行smooth checkpoint。如果不指定此参数则备份前不执行smooth checkpoint操作。

-Z / --compress-data

-R / --compress-data-bzip

-L / --compress-data-lzma

"-Z指定使用zlib压缩库压缩备份文件。 -R指定使用bzip压缩库压缩备份文件。 -L指定使用lzma压缩库压缩备份文件。 如果不指定这3个参数的任意一个,则表示不对备份文件进行压缩。"

--keep-data-generations=N

"保存指定代数(备份的数量)的全量备份数据。 N的取值范围和默认值如下: 取值范围:正整数,1~2147483647。 默认值:2147483647。"

--keep-data-day=DAY

"保存指定天数的全量备份数据。 说明: 系统将自动删除两个条件(keep-data-generations和keep-data-days)都不符合的备份数据。 DAY的取值范围和默认值如下: 取值范围:正整数,1~2147483647。 默认值:2147483647。"

--keep-arclog-files=NUM

"保存指定数量的WAL归档文件。 NUM的取值范围和默认值如下: 取值范围:正整数,1~2147483647。 默认值:2147483647。"

--keep-arclog-days=DAY

"保存指定天数的WAL归档文件,默认不限制。 说明: 系统将自动删除两个条件(keep-arclog-files和keep-arclog-days)都不符合的备份数据。 DAY的取值范围和默认值如下: 取值范围:正整数,1~2147483647。 默认值:2147483647。"

--keep-srvlog-files=NUM

"保存指定数量的日志文件。 NUM的取值范围和默认值如下: 取值范围:正整数,1~2147483647。 默认值:2147483647。"

--keep-srvlog-days=DAY

"保存指定天数的日志文件。 说明: 系统将自动删除两个条件(keep-srvlog-files和keep-srvlog-days)都不符合的备份数据。 DAY的取值范围和默认值如下: 取值范围:正整数,1~2147483647。 默认值:2147483647。"

备份时公共参数

参数名/缩写

描述

-d / --dbname dbname

"指定要连接的数据库名称,如postgres。 DBNAME的取值范围和默认值如下: 取值范围:GaussDB中存在的数据库名称。 默认值:与当前操作系统用户同名的数据库名称。"

-h / --host HOSTNAME

"指定数据库服务所在的IP地址或者主机名。 HOSTNANME的取值范围和默认值如下: 取值范围: 127.0.0.1 localhost 默认值:localhost。"

-p / --port port

"指定数据库服务的端口号。 PORT的取值范围和默认值如下: 取值范围:GaussDB的端口号。 默认值:5432。"

-U / --username username

"指定连接到数据库的数据库用户名。 USERNAME的取值范围和默认值如下: 取值范围:GaussDB中存在的数据库用户名称。 默认值:与当前操作系统用户同名的数据库用户的名称。"

-d / --gaussdata path

"指定数据库数据存放位置。 说明: gs_rman在root用户下使用sudo命令切换到某一用户运行时,需要增加此参数,以指定数据库数据存放位置。 PATH的取值范围和默认值如下: 取值范围:GaussDB的数据目录。 默认值:与GaussDB的环境变量GAUSSDATA的值相同。"

-A / --arclog-path path

"指定数据库WAL归档日志文件存放位置。 PATH的取值范围和默认值如下: 取值范围:GaussDB的WAL归档日志目录。 默认值:可以通过环境变量ARCLOG_PATH 指定默认值,详细请参见初始化配置。"

-S / --srvlog-path path

"指定数据库日志存放位置。 PATH的取值范围和默认值如下: 取值范围:GaussDB的运行日志目录。 默认值:$GAUSSDATA/pg_log。也可以通过环境变量SRVLOG_PATH指定默认值,详细请参见初始化配置。"

-b / --backup-path path

"指定备份数据存放位置。 PATH的取值范围和默认值如下: 取值范围:GaussDB的数据目录。 默认值:可以通过环境变量BACKUP_PATH指定默认值,详细请参见初始化配置。"

--debug

显示命令的调试信息。

--verbose / -v

显示命令的执行信息。

1. 检查参数

检查WAL日志归档相关参数是否配置正确,否则无法对WAL归档日志进行备份,将导致备份变得没有意义;gs_rman的备份操作可以在单机上执行,也可以在双机环境的主机上执行。

参数名

取值要求

检查方法

archive_mode

单机:on
双机:on

以检查archive_mode参数为例,使用下面的命令检查:
cd /opt/gaussdb/data
cat postgresql.conf |grep archive_mode

wal_level

单机:archive
双机:hot_standby

hot_standby

单机:off
双机:on

2. 全量备份

说明在进行增量备份和备份WAL之前应该至少进行一次全量备份,否则备份操作无法正常执行。

执行如下命令进行全量备份:

gs_rman backup -d postgres -p 5432 -B /home/gaussdba/rman_backup -b F

系统输出如下信息则表示备份成功,否则请根据提示信息排查错误:

gaussdba: database backup start 
NOTICE:  pg_stop_backup complete, all required WAL segments have been archived

3. 增量备份

说明增量备份只备份上一次全量备份或增量备份之后修改的文件,包括新增的WAL归档日志。

执行如下命令进行增量备份:

gs_rman backup -d postgres -p 1258 -B /home/gaussdba/rman_backup -b I

系统输出如下信息则表示备份成功,否则请根据提示信息排查错误:

gaussdba: database backup start 
NOTICE:  pg_stop_backup complete, all required WAL segments have been archived

4. 备份WAL归档日志

执行如下命令进行WAL归档日志的备份:

gs_rman backup -d postgres -p 1258 -B /home/gaussdba/rman_backup -b a

系统输出如下信息则表示备份成功,否则请根据提示信息排查错误:

INFO: database backup start 
NOTICE:  pg_stop_backup complete, all required WAL segments have been archived

5. 对备份文件的正确性进行验证

gs_rman validate -B /home/gaussdba/rman_backup

系统输出类似如下信息表示验证成功,否则请根据提示信息排查错误:

gaussdba: validate: 2013-01-16 19:26:31 backup and archive log files by CRC
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值