首页 > 其他分享 >南大通用GBase 8c增量备份实践

南大通用GBase 8c增量备份实践

时间:2024-09-18 13:54:36浏览次数:15  
标签:gs log -- 8c 备份 ## probackup GBase

在当今信息化社会,数据的重要性不言而喻。对于企业来说,保护数据的完整性和可用性至关重要。数据库作为数据存储的核心组件,其备份与恢复策略的制定和实施是保障数据安全的关键一环。本文将详细介绍南大通用GBase 8c数据库的增量备份实践操作,帮助读者掌握如何高效、可靠地进行数据备份,确保数据的安全性和业务的连续性。

一、备份策略概述

在进行GBase 8c数据库的备份之前,首先需要确定合适的备份策略。根据业务需求和数据重要性,可以选择完全备份或增量备份。

  • 完全备份指备份所有数据。
  • 增量备份仅备份自上次备份以来发生变更的数据。

完全备份具有更高的容灾可用性,而增量备份能够节省时间和存储空间,特别适合于数据量大且更改频繁的环境。

二、准备工作

在执行增量备份之前,应确保数据库运行正常,并关闭不必要的应用程序以减少备份过程中的干扰。同时,检查备份存储设备的容量是否充足,以及网络连接是否稳定。

三、配置增量备份

1. 打开参数enable_cbm_tracking,跟踪数据页的变化

登录数据库查看并设置该参数为on:

show enable_cbm_tracking;
alter system set enable_cbm_tracking=on;

2. 初始化备份目录

创建备份路径,以 /home/gbase/backup为例

gs_probackup init -B /home/gbase/backup

查看备份路径:

tree -L 3 /home/gbase/backup

3.添加备份实例

语法:

gs_probackup add-instance -B backup-path                       ## 备份路径
                         -D pgdata-path                       ## 数据目录路径
                         --instance=instance_name             ## 实例名(自定义)
                         [-E external-directories-paths]      ## 需要备份的其他目录
                         [--remote-proto=protocol]            ## 远程操作的协议(仅支持SSH)
                         [--remote-host=destination]          ## 远程主机IP或主机名
                         [--remote-path=path]                 ## 远程主机的gs_probackup安装目录
                         [--remote-user=username]             ## 远程主机SSH连接的用户
                         [--remote-port=port]                 ## 远程主机SSH连接的端口(默认22)
                         [--ssh-options=ssh_options]          ## SSH命令行参数
                         [--help]                             ## 显示帮助信息

执行添加实例命令,例如:

gs_probackup add-instance -B /home/gbase/backup -D /opt/database/install/data/dn --instance gs_bak2023_inst

查看备份文件:

gs_probackup show -B /home/gbase/backup

4.执行全备和增量备

全量和增量备份语法格式均参考如下参数:

gs_probackup backup -B backup-path --instance=instance_name [-D pgdata-path]
   -b backup-mode                                       ## 备份模式:FULL(全量备份)/PTRACK(增量备份)
   [-C]                                                 ## -C指定检查点模式为spread(周期调度),默认为fast快速完成
   [-S slot-name] [--temp-slot]                         ## -S指定物理复制slot名称(默认pg_probackup_slot) ,--temp-slot为WAL流处理创建临时物理复制slot,确保备份过程中所需的WAL段仍然可用
   [--backup-pg-log]                                    ## 备份日志目录(默认不备份)
   [-j threads_num]                                     ## 并行线程数
   [--progress]                                         ## 显示进度
   [--no-validate]                                      ## 完成备份后跳过自动验证
   [--skip-block-validation]                            ## 关闭块级校验,加快备份速度
   [-E external-directories-paths]                      ## 需要备份的其他目录
   [--no-sync]                                          ## 不将备份文件同步写入磁盘,提升写入性能
   [--note=text]                                        ## 备份的注释
   [--archive-timeout=timeout]                          ## 以秒为单位设置流式处理的超时时间(默认300)
   [--log-level-console=log-level-console]              ## 设置要发送到控制台的日志级别,默认为info,设置off可以关闭
   [--log-level-file=log-level-file]                    ## 设置要发送到日志文件的日志级别,默认off
   [--log-filename=log-filename]                        ## 指定要创建的日志文件的文件名(strftime模式示例:pg_probackup-%u.log),默认pg_probackup.log
   [--error-log-filename=error-log-filename]            ## error日志的日志文件名
   [--log-directory=log-directory]                      ## gs_probackup的日志目录
   [--log-rotation-size=log-rotation-size]              ## gs_probackup的日志大小(默认单位KB,支持KB、MB、GB、TB),超过阈值后进行循环,默认0(禁用)
   [--log-rotation-age=log-rotation-age]                ## 单个日志文件的最大生命周期(默认单位min,支持ms, s, min, h, d),默认0表示禁用基于时间的循环
   [--delete-expired]                                   ## 删除不符合pg_probackup.conf配置文件中定义的留存策略的备份
   [--delete-wal]                                       ## 删除不需要的WAL文件
   [--merge-expired]                                    ## 将满足留存策略要求的最旧的增量备份与其已过期的父备份合并
   [--retention-redundancy=retention-redundancy]        ## 留存的完整备份数(默认0,禁用此设置)
   [--retention-window=retention-window]                ## 留存的天数(默认0,禁用此设置)
   [--wal-depth=wal-depth]                              ## 每个时间轴上必须留存的执行PITR能力的最新有效备份数(默认0,禁用此设置)
   [--dry-run]                                          ## 显示所有可用备份的当前状态,不删除或合并过期备份
   [--ttl=interval]                                     ## 从恢复时间开始计算,备份要固定的时间量(支持单位:ms, s, min, h, d(默认为s))
   [--expire-time=time]                                 ## 备份固定失效的时间戳(例如:--expire-time='2020-01-01 00:00:00+03')
   [--compress-algorithm=compress-algorithm][--compress-level=compress-level][--compress]   ## 压缩参数:压缩算法(zlib/pglz/none)/压缩级别(0~9,默认1)/压缩(相当于zlib算法+1压缩级别) 
   [-d dbname] [-h host] [-p port] [-U username] [-w] [-W password]                         ## 连接信息:数据库名/主机名/端口/用户/密码
   [--remote-proto=protocol] [--remote-host=destination]
   [--remote-path=path] [--remote-user=username]
   [--remote-port=port] [--ssh-options=ssh_options]
   [--help]

(1) 例如执行全量备份:

gs_probackup backup -B /home/gbase/gs_bak2021 --instance gs_bak2021_inst -b full -D /gauss/data/db1 -d mydb -p 26000 --progress \

例如返回如下信息:

> --log-directory=/home/gbase/gs_bak2021/log  --log-rotation-size=10GB --log-rotation-age=30d  --log-level-file=info  --log-filename=full_20210111.log \
> --retention-redundancy=2 \
> --compress  \
> --note='This is full backup set.'

(2) 执行增量备份,例如执行:

gs_probackup backup -B /home/gbase/gs_bak2021 --instance gs_bak2021_inst -b PTRACK -D /gauss/data/db1 -d mydb -p 26000 --progress \

例如返回如下信息:

> --log-directory=/home/gbase/gs_bak2021/log  --log-rotation-size=10GB --log-rotation-age=30d  --log-level-file=info  --log-filename=incr2_20210111.log \
> --delete-expired --delete-wal \
> --retention-redundancy=2 \
> --compress  \
> --note='This is the second incremental backup set.'

5.全量恢复,例如执行:

gs_probackup restore -B /home/gbase/backup/backup2023/ --instance=pg_test -D /opt/database/install/data/dn -i S6S7HT --progress -j 4

其中,-i指定备份文件ID,S6S7HT即为全备的ID。

四、备份数据的管理与维护

1. 定期检查备份数据的有效性,通过恢复测试来验证备份文件的可靠性。
2. 对备份数据进行加密处理,提高数据安全性。
3. 实施备份数据的异地存储策略,以防灾难发生时本地数据全部丢失。

增量备份减少了备份所需的时间和资源,提高了备份效率。但是,在恢复数据时,需要先恢复最近的完全备份,再依次恢复之后的每个增量备份,这可能会延长恢复时间。通过对南大通用GBase 8c数据库进行增量备份的实践操作,可以有效地保证数据的安全,同时提升备份的效率。然而,任何备份策略都需要结合具体的业务场景和数据特点来定制,以确保数据保护方案的最优化。

标签:gs,log,--,8c,备份,##,probackup,GBase
From: https://blog.51cto.com/u_17023609/12045610

相关文章

  • 南大通用GBase 8c系统视图分析SQL执行时间
    南大通用GBase8c是一款多模多态数据库,支持主备式、分布式部署方式。对于故障和性能分析,内部提供丰富的工具和系统表或系统视图支撑实现。本文将介绍如何通过dbe_perf.statement系统视图分析SQL执行时间。1、概述dbe_perf.statement实际上是一个视图,这个视图实际执行的是get_inst......
  • GBASEDBTSERVER 环境变量7GBASEDBTSHMBASE 环境变量 (UNIX™)
    GBASEDBTSERVER环境变量GBASEDBTSERVER环境变量指定SQLAPI客户机、DB-Access实用程序或其他GBase8s产品与之建立显式或隐式连接的缺省数据库服务器。必须先设置此环境变量,才能使用GBase8s客户机产品。它具有以下语法。dbservername是缺省数据库服务器的名称。GBA......
  • GBase 8a支持定义主键
    GBase8a支持定义主键一、哪些数据类型可以定义主键主键列的数据类型支持TINYINT、SMALLINT、INT、BIGINTDECIMAL、NUMERIC、VARCHAR、、DATE、DATETINE、TIME,并且需要事先定义守段类型非空,否则不能创建主键;二、哪些表类型可以定义主键hash分布表哈希分布表的分区表复制......
  • GBase 8a支持在线备份功能
    GBase8a的gcbr.py工具提供基于快照的在线备份能力。实现在线库级和表级(包括批量表级备份)的全量备份/增量备份功能;在线备份过程分为元数据备份和表数据备份两个阶段,不同阶段对数据库使用的影响如下:(1)元数据备份阶段,阻塞DDL操作和DML操作。此阶段相对于表数据备份阶段来......
  • GBase 8a数据库运维管理系统--GDOM
    GDOM旨在为GBase8aMPP数据库提供全生命周期的运维保障,在为数据库提供可视化监控的同时,通过集群管理、主机管理、健康检查、告警等一系列功能,降低客户运维成本,提高客户运维效率,实时保障集群7*24正常运行。GDOM为复杂的集群操作配备了可视化任务配置页面,用户通过任务配置页可......
  • Gbase 8a支持DATE_TO_CHAR 函数
    DATE_TO_CHAR函数,功能是把日期格式化为YYYY-MIM-DD格式(format格式)的字符串;使用格式为:DATETO_CHAR(date,format)说明:date,日期类型;format,格式字符串;在开启控制参数时,format为可选参数,不输入format,默认为YYYY-MM-DD。DATE_TO_CHAR函数的使用优点众多,具体如下:1、提高......
  • GBase GCDW warehouse相关权限
    GCDW中,warehouse相关权限有三个,MODIFY_WAREHOUSE、OPERATE_WAREHOUSE、USAGE_WAREHOUSE;对应功能如下:MODIFY_WARHEOUSE:允许角色创建,删除,启动,挂起,修改warehouse属性的权限。OPERATE_WAREHOUSE:允许角色使用warehouse资源执行sql的权限,同时如果目标warehouse正处于suspend......
  • GBase 8a 使用cpulimit限制进程序cpu占用
    cpulimit是一个限制进程的CPU使用率的工具(以百分比表示,而不是CPU时间)。其工作原理是为进程预设一个CPU占用率限制,并实时监控进程是否超出此限,若超出则让该进程暂停运行一段时间。它不会更改nice值或其他调度优先级设置,而是更改真实的CPU使用率。此外,它能够动态地、快速地适应整个......
  • GBase GCDW云数据仓库的租户和用户介绍
    【GCDW租户】GCDW实例需云用户注册GCDW租户成功后,GBASE云服务系统给租户分配独立的实例,同时创建租户的数据库根用户,根用户即为该实例的超户,拥有该实例的最高权限,租户可以通过根用户登录自己的实例管理数据,也可以根据业务安全需求创建不同权限的角色和用户来管理数据。每个......
  • GBase 8a date数据类型1582前后闰年计算规则不一致问题
    1、1582年前后闰年计算规则简述1582年以前:闰年的计算规则为四年一闰;1582年之后:置闰规则分为普通闰年和世纪闰年。普通闰年:公历年份是4的倍数,但不是100的倍数,世纪闰年:公历年份是整百数的,必须是400的倍数。2、date数据类型1582前后闰年计算规则不一致问题8a集群在处理date数据......