GaussDB数据库的备份与恢复

1.逻辑备份-gs_dump

gs_dump是一款用于导出数据库相关信息的工具,支持导出完整一致的数据库对象(数据库、模式、表、视图等)数据,同时不影响用户对数据库的正常访问。

备份sql语句

 

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

(1)gs_dump工具由操作系统用户omm执行。

(2)gs_dump工具在进行数据导出时,其他用户可以访问openGauss数据库(读或写)。

(3)gs_dump工具支持导出完整一致的数据。例如,T1时刻启动gs_dump导出A数据库,那么导出数据结果将会是T1时刻A数据库的数据状态,T1时刻之后对A数据库的修改不会被导出

(4)gs_dump支持将数据库信息导出至纯文本格式的SQL脚本文件或其他归档文件中。

纯文本格式的SQL脚本文件:包含将数据库恢复为其保存时的状态所需的SQL语句。通过gsql运行该 SQL脚本文件,可以恢复数据库。即使在其他主机和其他数据库产品上,只要对SQL脚本文件稍作修改,也可以用来重建数据库。

归档格式文件:包含将数据库恢复为其保存时的状态所需的数据,可以是tar格式、目录归档格式或自定义归档格式,详见下页表格。该导出结果必须与gs_restore配合使用来恢复数据库,gs_restore工具在导入时,系统允许用户选择需要导入的内容,甚至可以在导入之前对等待导入的内容进行排序。

 

2.逻辑备份恢复数据库

gsql -p 30100 db_hr -r -f /home/omm/XXX.sql

3.物理备份(分布式集群验证)

集中式单节点不支持该工具。

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:-备份所需的介质类型。

NBU

Disk(磁盘)

EISOO

OBS

NAS

–compression-type:

(2)压缩类型

1:zlib

2:lz4

默认:–compression-type 2

–compression-level

(3)压缩级别

0代表快速或无压缩。

9代表慢速或最大压缩。

说明:值越小,压缩越快。值越大,压缩越好。

表级备份不支持压缩。

默认:–compression-level 5

–media- destination:指定介质的目的备份路径。

Disk(磁盘):

NBU:样例策略

EISOO:roach

OBS:不生效

NAS:挂载的NAS共享盘路径

说明:

使用备份数据库到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

对于数据库级备份,必须提供介质类型、目标介质和主代理端口,否则Roach工具会报错。

当前版本不支持表级备份功能,包括单表备份和多表逻辑备份。

数据库级备份前,请执行如下命令检查数据库运行状态,cluster_state为Normal时表示数据库正常运行,可以备份数据库。

4. 全量物理备份成功:

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

{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}

5. 备份成功

6.查看物理全量备份集

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

7.查看物理增量备份集

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

7.查看所有备份集(该命令无法确定备份是否有效)

{python3 GaussRoach.py -t show --all-backups --metadata-destination /home/omm/meta}

停止物理备份:

Roach也兼容使用python3 GaussRoach.py –t stop –F命令停止备份,有-F和无-F参数的执行结果相同。

如果有一个全量备份和一个增量备份同时执行,那么stop操作会一起停止这两个备份任务。
命令示例

{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}

查看集群状态:

执行恢复脚本成功后,必须执行命令启动集群,否则集群无法启动

{python3 GaussRoach.py -t start}

8.问题记录

物理备份(Roach)失败[GAUSS-53403] :

Parsing the configuration file.**[GAUSS-53403]** : Cluster balance check failedbackup cannot continue when the cluster is not balanceRoach operation backup failed.

正在分析配置文件。

[GAUSS-53403]:群集平衡检查失败当群集不平衡时,备份无法继续

漫游操作备份失败。

查看集群状态:
balanced显示为NO,当前集群不平衡,不平衡原因可能是发生过切换或者其他原因导致。

balanced:平衡状态。显示是否有数据库实例发生过主备切换而导致主机负载不均衡。

Yes:表示数据库处于负载均衡状态。

No:表示数据库未处于负载均衡状态。

执行命令恢复数据库初始状态(目前为测试环境,生产不使用此命令)

{gs_om -t switch --reset}

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

 本文作者:张欣

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis使用Set实现点赞功能

文章目录 set 数据类型介绍不排序实现排序实现 set 数据类型介绍 Redis中的set类型是一组无序的字符串值。 set通过其独特的数据结构和丰富的命令提供了在存储和处理集合元素方面的一些非常有用的功能。下面列出了主要的set类型命令: SADD key member1 [member2]&a…

不可错过的数据存储指南:JVS物联网平台存储策略详解

在物联网时代,数据的采集、存储和分析成为了关键环节。随着设备点位不断生成大量数据,如何高效地管理和保存这些数据,同时考虑存储成本和后续的数据分析价值,成为了亟待解决的问题。JVS物联网平台提供了灵活多样的存储策略&#x…

【BI 可视化插件】怎么做? 手把手教你实现

背景 对于现在的用户来说,插件已经成为一个熟悉的概念。无论是在使用软件、 IDE 还是浏览器时,插件都是为了在原有产品基础上提供更多更便利的操作。在 BI 领域,图表的丰富性和对接各种场景的自定义是最吸引人的特点。虽然市面上现有的 BI 软…

常见web安全漏洞

一、信息泄露 概念 信息泄露是由于Web服务器或应用程序没有正确处理一些特殊请求,泄露Web服务器的一些敏感信 息,如用户名、密码、源代码、服务器信息、配置信息等。 造成信息泄露主要的三个原因: ①Web服务器配置存在问题,导致一些系统…

爬山算法教程(个人总结版)

背景与简介 爬山算法(Hill Climbing Algorithm)是一种用于解决优化问题的启发式搜索方法。它是一种局部搜索算法,通过不断尝试从当前解出发,在其邻域内寻找更优的解,直到无法找到更优解为止。该算法得名于其类似于登山…

油猴(Tampermonkey)如何实现网站的自动化操作

1. 安装油猴插件:首先,在你使用的浏览器上安装油猴插件。油猴支持多种浏览器,如Chrome、Firefox等。你可以在对应的插件商店中搜索并安装油猴插件。 2. 创建用户脚本:打开油猴插件的管理界面,点击"新建脚本"…

外贸电商数据分析实战指南

亮数据浏览器https://www.bright.cn/proxy-types/?utm_sourcebrand&utm_campaignbrnd-mkt_cn_csdn_yingjie 引言 在行业竞争激烈、市场变化快速的跨境电商领域,数据采集可以帮助企业深入了解客户需求和行为,分析市场趋势和竞争情况,从而…

kyuubi/spark3的catalog 多个数据源配置

在使用kyuubi 的时候,有多个集群,老集群上是hive2,新集群hive3 ,想通过一个网关访问多个集群,或者通过jdbc访问mysql,oracle的数据,这样不用来回数据导入导出。spark 支持跨库访问数据,在spark 中提供两种方…

QtXlsx库编译使用

文章目录 一、前言二、Windows编译使用2.1 用法①:QtXlsx作为Qt的附加模块2.1.1 检验是否安装Perl2.1.2 下载并解压QtXlsx源码2.1.3 MinGW 64-bit安装模块2.1.4 测试 2.2 用法②:直接使用源码 三、Linus编译使用3.1、安装Qt5开发软件包:qtbas…

【权威出版】2024年城市建设、智慧交通与通信网络国际会议(UCSTCN 2024)

2024年城市建设、智慧交通与通信网络国际会议 2024 International Conference on Urban Construction, Smart Transportation, and Communication Networks 【1】会议简介 2024年城市建设、智慧交通与通信网络国际会议即将盛大召开,这是一次聚焦城市建设、智慧交通与…

四轮麦轮平衡车四个轮子安放位置要求,以及编码器测速注意事项(强调,否则无法正常平移)——基于STM32F103ZET6

轮子推荐ABBA,当然BAAB也可以 如图安放: 这两种安防位置可以实现平移效果 若要实现平移则需要先实现PID控制平衡,这里用到520编码电机,相较于370电机他的动力更足,在调节PID时能节约不少时间而且更加容易。 需要注意…

git 检查用户是否是gitlab用户

背景: 公司代码要从老的git库迁到新的git库,老git库上部分提交用户在新git库上没有,解决方法: 让gitlab不再检查提交用户是否是gitlab用户。具体操作: 去掉下面的勾选,保存配置即可。

qt实现秒表功能

最近项目里需要一个计时功能,可以实现暂停,继续,结束,开始的功能,如同秒表一样,我就写了一个demo,效果如图: 代码如下: #ifndef WIDGET_H #define WIDGET_H#include &l…

深入解析与实现:变分自编码器(VAE)完整代码详解

VAE理论上一篇已经详细讲完了,虽然VAE已经是过去的东西了,但是它对后面强大的生成模型是很有指导意义的。接下来,我们简单实现一下其代码吧。 1 VAE在minist数据集上的实现 完整的代码如下,没有什么特别好讲的。 import cv2 im…

【代码随想录】【算法训练营】【第20天】 [654]最大二叉树 [617]合并二叉树 [700]二叉搜索树中的搜索 [98]验证二叉搜索树

前言 思路及算法思维,指路 代码随想录。 题目来自 LeetCode。 day 19,一个愉快的周日~ day 20,一个悲伤的周一~ 题目详情 [654] 最大二叉树 题目描述 654 最大二叉树 解题思路 前提:构造二叉树 思路:寻找根节…

如何设置XHSC(华大)单片机的IO口中断

XHSC(华大)单片机IO口中断使用 一、代码说明 华大单片机的历程在华大或者小华的官网上都可以下载到,但是我们下载的历程基本注释都是非常简单,有的还没有注释;再加上小华跟华大的历程在代码架构上有所区别,所以新手在直接调用华大或者小华历程后,历程代码的可读性并不…

内网安全--域渗透准备知识

目录 知识点: 0x01 0x02 0x03 系列点: Linux主机信息收集 windows主机信息收集 知识点: 0、域产生原因 1、内网域的区别 2、如何判断在域内 3、域内常见信息收集 4、域内自动化工具收集 -局域网&工作组&域环境区别 -域…

# LLM高效微调详解-从Adpter、PrefixTuning到LoRA

一、背景 目前NLP主流范式是在大量通用数据上进行预训练语言模型训练,然后再针对特定下游任务进行微调,达到领域适应(迁移学习)的目的。 Context Learning v.s. SFT 指令微调是预训练语言模型微调的主流范式,其目的是…

通用代码生成器应用场景三,遗留项目反向工程

通用代码生成器应用场景三,遗留项目反向工程 如果您有一个遗留项目,要重新开发,或者源代码遗失,或者需要重新开发,但是希望复用原来的数据,并加快开发。 如果您的项目是通用代码生成器生成的,…

阿里云产品DTU评测报告(二)

阿里云产品DTU评测报告(二) 问题回顾问题处理继续执行 问题回顾 基于上一次DTU评测,在评测过程中遇到了windows系统情况下执行amp命令失败的情况,失败情况如图 导致后续命令无法执行,一时之间不知如何处理&#xff0…