首页 > 其他分享 >openGauss备份恢复之gs_dumpall

openGauss备份恢复之gs_dumpall

时间:2023-04-03 10:09:55浏览次数:54  
标签:dumpall gs 数据库 导出 转储 openGauss

一、概述

gs_dumpall是一款用于导出数据库相关信息的工具,支持导出完整一致的openGauss数据库所有数据,同时不影响用户对数据库的正常访问。

二、工具

1、特点

gs_dumpall是openGauss用于导出所有数据库相关信息工具,它可以导出openGauss数据库的所有数据,包括默认数据库postgres的数据、自定义数据库的数据以及openGauss所有数据库公共的全局对象。

gs_dumpall工具由操作系统用户omm执行。

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

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

gs_dumpall工具在进行数据导出时生成的列不会被转储。

gs_dumpall在导出openGauss所有数据库时分为两部分:

  • gs_dumpall自身对所有数据库公共的全局对象进行导出,包括有关数据库用户和组、表空间以及属性(例如,适用于数据库整体的访问权限)信息。
  • gs_dumpall通过调用gs_dump来完成openGauss中各数据库的SQL脚本文件导出,该脚本文件包含将数据库恢复为其保存时的状态所需要的全部SQL语句。

以上两部分导出的结果为纯文本格式的SQL脚本文件,使用gsql运行该脚本文件可以恢复openGauss数据库。

2、注意事项

  • 禁止修改导出的文件和内容,否则可能无法恢复成功。
  • 为了保证数据一致性和完整性,gs_dumpall会对需要转储的表设置共享锁。如果某张表在别的事务中设置了共享锁,gs_dumpall会等待此表的锁释放后锁定此表。如果无法在指定时间内锁定某张表,转储会失败。用户可以通过指定--lock-wait-timeout选项,自定义等待锁超时时间。
  • 由于gs_dumpall读取所有数据库中的表,因此必须以openGauss管理员身份进行连接,才能导出完整文件。在使用gsql执行脚本文件导入时,同样需要管理员权限,以便添加用户和组以及创建数据库。

3、语法

gs_dumpall [OPTION]...

通用参数:
-f, --filename=FILENAME
将输出发送至指定文件。如果这里省略,则使用标准输出。

--lock-wait-timeout=TIMEOUT
请勿在转储刚开始时一直等待以获取共享表锁。如果无法在指定时间内锁定某个表,就选择失败。可以以任何符合SET statement_timeout的格式指定超时时间。

转储参数:
-a, --data-only
只转储数据,不转储模式(数据定义)。

-c, --clean
在重新创建数据库之前,执行SQL语句清理(删除)这些数据库。针对角色和表空间的转储命令已添加。

-r, --roles-only
只转储角色,不转储数据库或表空间。

-s, --schema-only
只转储对象定义(模式),而非数据。

-t, --tablespaces-only
只转储表空间,不转储数据库或角色。

4、说明

由于gs_dumpall内部调用gs_dump,所以一些诊断信息参见gs_dump

一旦恢复,最好在每个数据库上运行ANALYZE,优化程序提供有用的统计数据。

gs_dumpall恢复前需要所有必要的表空间目录为空;否则,对于处在非默认位置的数据库,数据库创建会失败。

5、示例

使用gs_dumpall一次导出openGauss的所有数据库。
说明: gs_dumpall仅支持纯文本格式导出。所以只能使用gsql恢复gs_dumpall导出的转储内容。
gs_dumpall -f backup/bkp2.sql -p 37300

标签:dumpall,gs,数据库,导出,转储,openGauss
From: https://blog.51cto.com/u_13236892/6165538

相关文章

  • openGauss备份恢复之gs_restore
    一、概述gs_restore是openGauss提供的针对gs_dump导出数据的导入工具。通过此工具可由gs_dump生成的导出文件进行导入。二、工具1、特点gs_restore是openGauss提供的针对gs_dump导出数据的导入工具。通过此工具可将由gs_dump生成的导出文件进行导入。gs_restore工具由操作系统用户o......
  • 开发一个二方包,优雅地为系统接入ELK(elasticsearch+logstash+kibana)
    去年公司由于不断发展,内部自研系统越来越多,所以后来搭建了一个日志收集平台,并将日志收集功能以二方包形式引入各个自研系统,避免每个自研系统都要建立一套自己的日志模块,节约了开发时间,管理起来也更加容易。这篇文章主要介绍如何编写二方包,并整合到各个系统中。先介绍整个ELK日志......
  • PgSQL常用操作
    1、重置表索引REINDEXINDEXindex_name;//重置单个索引REINDEXTABLEtable_name;//重置整个表的索引2、查询父表的分区表selectc.relnamefrompg_classcjoinpg_inheritspionpi.inhrelid=c.oidjoinpg_classc2onc2.oid=pi.inhparentwherec2.relname='父表名'......
  • Docker部署openGauss国产数据库
    一、openGauss介绍1.openGauss简介openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库。2.openGauss产品定位多种存储模式支持复合业务场景,新引入提供原地更新存储引擎。NUMA化数据结构支持高性能。Paxos一致性日志复制协议,主备模式,CRC校验支持高可用......
  • 项目一众筹网07_01_SpringSecurity框架简介和用法、SpringSecurity负责的是 权限验证
    项目一众筹网07_01_SpringSecurity文章目录项目一众筹网07_01_SpringSecurity01简介SpringSecurity负责的是权限验证02-SpringSecurity简介03-Spring的注解模式maven引入Spring环境04-准备测试环境05-加入SpringSecurity环境06-实验1-放行首页和静态资源(下一篇)01简介现在主流的权......
  • 项目一众筹网09_00_SpringSecurity
    系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章Python机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这......
  • 通过Sysmon+Nxlogs收集Windows Server 2012服务器日志-并以Syslog形式发送Json格式数
    0x01环境介绍WindowsServer2012已经安装部署好了域控,目的除了收集Windows服务器本身的日志外还收集域控环境下的各种日志。0x02Nxlog配置和使用使用社区版本即可,下载地址:https://nxlog.co/downloads/nxlog-ce#nxlog-community-edition使用的版本是当前最新版本安装过程就省略,......
  • TSINGSEE基于国网B接口的设备注册流程与鉴权干货技术分享
    国网B接口是国家电网视频监控系统的内部接入协议,具体是指提供视频监控系统与属于该平台的前端系统之间的接口。近期我们也在研究该接口的接入相关研发事宜,今天来分享一些技术干货。1、接口描述注册属于数据接口,采用SIP标准协议,消息中URI的用户名应为下级平台的地址编码。注册过程应......
  • ubuntu使用xargs对文件夹中大量文件进行操作
    ubuntu中使用mv、copy等命令时,对文件夹中的文件数量有限制,如mvimages/*命令,当images文件夹中有上万或更多文件时,命令无法执行;xargs能够捕获一个命令的输入,然后传递给另外一个命令,使用xargs传参不会产生文件数量过大的问题。ls`input_dir`|xargs-Ifilemvfile`output_di......
  • 【Python】函数的可变参数 *args 和 **kwargs的使用
    可变参数*args和**kwargs*args和**kwargs主要用于定义函数的可变参数,*args和**kwargs组合起来可以传入任意的参数。(注意:参数*args必须在**kwargs之前定义)*arg......