openGauss学习笔记-151 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_basebackup

文章目录

    • openGauss学习笔记-151 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_basebackup
      • 151.1 背景信息
      • 151.2 前提条件
      • 151.3 语法
      • 151.4 示例
      • 151.5 从备份文件恢复数据

openGauss学习笔记-151 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_basebackup

151.1 背景信息

openGauss部署成功后,在数据库运行的过程中,会遇到各种问题及异常状态。openGauss提供了gs_basebackup工具做基础的物理备份。gs_basebackup的实现目标是对服务器数据库文件的二进制进行拷贝,其实现原理使用了复制协议。远程执行gs_basebackup时,需要使用系统管理员账户。gs_basebackup当前支持热备份模式和压缩格式备份。

img 说明:

  • gs_basebackup仅支持主机和备机的全量备份,不支持增量。
  • gs_basebackup当前支持热备份模式和压缩格式备份。
  • gs_basebackup在备份包含绝对路径的表空间时,如果在同一台机器上进行备份,可以通过tablespace-mapping重定向表空间路径,或使用归档模式进行备份。
  • 若打开增量检测点功能且打开双写,gs_basebackup也会备份双写文件。
  • 若pg_xlog目录为软链接,备份时将不会建立软链接,会直接将数据备份到目的路径的pg_xlog目录下。
  • 备份过程中收回用户备份权限,可能导致备份失败或者备份数据不可用。
  • 如果因为网络临时故障等原因导致Server端无应答,gs_basebackup将在最长等待120秒后退出。

151.2 前提条件

  • 可以正常连接openGauss数据库。
  • 备份过程中用户权限没有被回收。
  • pg_hba.conf中需要配置允许复制链接,且该连接必须由一个系统管理员建立。
  • 如果xlog传输模式为stream模式,需要配置max_wal_senders的数量, 至少有一个可用。
  • 如果xlog传输模式为fetch模式,有必要把wal_keep_segments参数设置得足够高,这样在备份末尾之前日志不会被移除。
  • 在进行还原时,需要保证各节点备份目录中存在备份文件,若备份文件丢失,则需要从其他节点进行拷贝。

151.3 语法

  • 显示帮助信息

    gs_basebackup -? | --help
    
  • 显示版本号信息

    gs_basebackup -V | --version
    

参数说明

gs_basebackup参数可以分为如下几类:

  • -D directory

    备份文件输出的目录,必选项。

  • 常用参数:

    • -c,–checkpoint=fast|spread

      设置检查点模式为fast或者spread(默认)。

    • -l,–label=LABEL

      为备份设置标签。

    • -P,–progress

      启用进展报告。

    • -v, –verbose

      启用冗长模式。

    • -V, –version

      打印版本后退出。

    • -?,–help

      显示gs_basebackup命令行参数。

    • -T,–tablespace-mapping=olddir=newdir

      在备份期间将目录olddir中的表空间重定位到newdir中。为使之有效,olddir必须正好匹配表空间所在的路径(但如果备份中没有包含olddir中的表空间也不是错误)。olddir和newdir必须是绝对路径。如果一个路径凑巧包含了一个=符号,可用反斜线对它转义。对于多个表空间可以多次使用这个选项。

    • -F,–format=plain|tar

      设置输出格式为plain(默认)或者tar。没有设置该参数的情况下,默认–format=plain。plain格式把输出写成平面文件,使用和当前数据目录和表空间相同的布局。当集簇没有额外表空间时,整个数据库将被放在目标目录中。如果集簇包含额外的表空间,主数据目录将被放置在目标目录中,但是所有其他表空间将被放在它们位于服务器上的相同的绝对路径中。tar模式将输出写成目标目录中的 tar 文件。主数据目录将被写入到一个名为base.tar的文件中,并且其他表空间将被以其 OID 命名。生成的tar包,需要用gs_tar命令解压。

    • -X, –xlog-method=fetch|stream

      设置xlog传输方式。没有设置该参数的情况下,默认–xlog-method=stream。在备份中包括所需的预写式日志文件(WAL文件)。这包括所有在备份期间产生的预写式日志。fetch方式在备份末尾收集预写式日志文件。因此,有必要把wal_keep_segments参数设置得足够高,这样在备份末尾之前日志不会被移除。如果在要传输日志时它已经被轮转,备份将失败并且是不可用的。stream方式在备份被创建时流传送预写式日志。这将开启一个到服务器的第二连接并且在运行备份时并行开始流传输预写式日志。因此,它将使用最多两个由max_wal_senders参数配置的连接。只要客户端能保持接收预写式日志,使用这种模式不需要在主控机上保存额外的预写式日志。

    • -x,

      –xlog 使用这个选项等效于和方法fetch一起使用-X。

    • -Z –compress=level

      启用对 tar 文件输出的 gzip 压缩,并且制定压缩级别(0 到 9,0 是不压缩,9 是最佳压缩)。只有使用 tar 格式时压缩才可用,并且会在所有tar文件名后面自动加上后缀.gz。

    • -z

      启用对 tar 文件输出的 gzip 压缩,使用默认的压缩级别。只有使用 tar 格式时压缩才可用,并且会在所有tar文件名后面自动加上后缀.gz。

    • -t,–rw-timeout

      设置备份期间checkpoint的时间限制,默认限制时间为120s。当数据库全量checkpoint耗时较长时,可以适当增大rw-timeout限制时间。

  • 连接参数

    • -h, –host=HOSTNAME

      指定正在运行服务器的主机名或者Unix域套接字的路径。

    • -p,–port=PORT

      指定数据库服务器的端口号。

      可以通过port参数修改默认端口号。

    • -U,–username=USERNAME

      指定连接数据库的用户。

    • -s, –status-interval=INTERVAL

      发送到服务器的状态包的时间(以秒为单位)。

    • -w,–no-password

      不出现输入密码提示。

    • -W, –password

      当使用-U参数连接本地数据库或者连接远端数据库时,可通过指定该选项出现输入密码提示。

151.4 示例

gs_basebackup -D /home/test/trunk/install/data/backup -h 127.0.0.1 -p 21233
INFO:  The starting position of the xlog copy of the full build is: 0/1B800000. The slot minimum LSN is: 0/1B800000.

151.5 从备份文件恢复数据

当数据库发生故障时需要从备份文件进行恢复。因为gs_basebackup是对数据库按二进制进行备份,因此恢复时可以直接拷贝替换原有的文件,或者直接在备份的库上启动数据库。

img 说明:

  • 若当前数据库实例正在运行,直接从备份文件启动数据库可能会存在端口冲突,这时需要修改配置文件的port参数,或者在启动数据库时指定一下端口。
  • 若当前备份文件为主备数据库,可能需要修改一下主备之间的复制连接。即配置文件中的postgre.conf中的replconninfo1、 replconninfo2等。
  • 若配置文件postgresql.conf的参数data_directory打开且有配置,当使用备份目录启动数据库时候,data_directory和备份目录不同会导致启动失败。可以修改data_directory的值为新的数据目录,或者注释掉该参数。

若要在原库的地方恢复数据库,参考步骤如下:

  1. 停止数据库服务器, 具体操作请参见《数据库运维指南》。
  2. 将原数据库和所有表空间复制到另外一个位置,以备后面需要。
  3. 清理原库中的所有或部分文件。
  4. 使用数据库系统用户权限从备份中还原需要的数据库文件。
  5. 若数据库中存在链接文件,需要修改使其链接到正确的文件。
  6. 重启数据库服务器,并检查数据库内容,确保数据库已经恢复到所需的状态。

img 说明:

  • 暂不支持备份文件增量恢复。
  • 恢复后需要检查数据库中的链接文件是否链接到正确的文件。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片

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

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

相关文章

基于java swing 药品销售管理系统

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

短视频账号剪辑矩阵+无人直播系统源头开发

抖去推爆款视频生成器,通过短视频矩阵、无人直播,文案引流等,打造实体商家员工矩阵、用户矩阵、直播矩阵,辅助商家品牌曝光,团购转化等多功能赋能商家拓客引流。 短视频矩阵通俗来讲就是批量剪辑视频和批量发布视频&am…

Multisim电路仿真软件使用教程

安装直接参考这篇文章:Multisim 14.0安装教程 软件管家公众号里有很多软件,需要的可以去找下然后安装,这里用的是14.0版本。 这里有个大神的详细教程,可以参考: Multisim软件使用详细入门教程(图文全解&…

Python房价分析(二)随机森林分类模型

目录 1 数据预处理 1.1 房价数据介绍 1.2 数据预处理 1.2.1 缺失值处理 1.2.2异常值处理 1.2.3 数据归一化 1.2.4 分类特征编码 2 随机森林模型 2.1 模型概述 2.2 建模步骤 2.3 参数搜索过程 3模型评估 3.1 模型评估结果 3.2 混淆矩阵 3.3 绘制房价类别三分类的…

面试官:性能测试瓶颈调优你是真的会吗?

引言:性能瓶颈调优 在实际的性能测试中,会遇到各种各样的问题,比如 TPS 压不上去等,导致这种现象的原因有很多,测试人员应配合开发人员进行分析,尽快找出瓶颈所在。 理想的性能测试指标结果可能不是很高&…

Latex公式中矩阵的方括号和圆括号表示方法

一、背景 在使用Latex写论文时,不可避免的涉及到矩阵公式。有的期刊要求矩阵用方括号,有的期刊要求矩阵用圆括号。因此,特记录一下Latex源码在两种表示方法上的区别,以及数组和方程组的扩展。 二、矩阵的方括号表示 首先所有的…

OpenGLES:glReadPixels()获取相机GLSurfaceView预览数据并保存

Android现行的Camera API2机制可以通过onImageAvailable(ImageReader reader)回调从底层获取到Jpeg、Yuv和Raw三种格式的Image,然后通过保存Image实现拍照功能,但是却并没有Api能直接在上层直接拿到实时预览的数据。 Android Camera预览的实现是上层下发…

Java学习笔记——instanceof关键字

instanceof关键字: 作用:保证对象向下转型的安全性在对象向下转型前判断某一对象实例是否属于某个类 判断时,如果对象是null,则 instanceof 判断结果为 false

Tr0ll

信息收集 探测主机存活信息: nmap -sn --min-rate 10000 192.168.182.0/24Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-14 15:45 CST Nmap scan report for 192.168.182.1 Host is up (0.00026s latency). MAC Address: 00:50:56:C0:00:08 (VMware) Nmap…

Linux环境下socket本地通信

最近项目有用到了socket本地通信,故复习一下。之前都是基于本地虚拟机的ip地址通信的,现在项目,Linux单板上面有2个进程需要通信,故用到了本地socket通信,主要其实就是用了sockfd,文件描述符,也叫句柄。 服…

java接入gpt开发

前情提要 本次文章使用编译器为IDEA2020 使用GPT模型为百度旗下的千帆大模型 如果是个人用或者不流传出去,可以无脑入,因为会免费送20块钱(够用上万次) 代金卷查看 正式教程: 百度智能云控制台 (baidu.com) 按照步…

JMS(Java Message Service)使用指南

介绍 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。它是一…

基于单片机智能病床呼叫系统设计

**单片机设计介绍,基于单片机智能病床呼叫系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能病床呼叫系统是一种利用单片机技术设计的医疗设备,它能够帮助病人在住院期间快速、方便…

国内大厂机器人赛道产品

大疆 大疆无人机自然不必说,除此之外大疆搞机甲大师,教育机器人。 字节 当前字节在机器人领域只是初步探索阶段,目前尚未发布相关产品(截止至23.12)。 管理层想法: 跟已有业务做结合,服务好…

Java设计模式分类

java的设计模式大体上分为三大类: 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式&am…

传感器(一) :IMU / 陀螺仪模块

IMU / 陀螺仪模块 一、概述二、注意参数2.1 陀螺仪芯片标准(MPU6050)2.2 参数说明 三、IMU模式使用注意事项3.1 IMU模块安装注意事项3.2 为什么IMU要安装在机器中心位置 四、常见陀螺仪芯片品牌 一、概述 IMU全称为惯性测量单元,可以通过测量物体在三维空…

Linux实用操作

一、各类小技巧(快捷键) 1.1 ctrl c 强制停止 Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl c 命令输入错误,也可以通过快捷键ctrl c,退出当前输入,重新输入 1.2 ctrl d…

ReLU(Rectified Linear Unit)和Sigmoid激活函数

ReLU(Rectified Linear Unit)和Sigmoid都是神经网络中常用的激活函数。 特点: ReLU是一种简单而有效的激活函数。它对于正数部分直接返回输入,对于负数部分返回零。这种非线性转换有助于网络学习更复杂的表示。ReLU在许多深度学习…

自治调优!人大金仓解放DBA双手

数据库系统的性能是确保整个应用系统高效运转的关键因素,因此数据库性能调优工作至关重要。KingbaseES通过将人工调优过程内化为数据库内核,成功实现了自治调优。这种创新的调优方案为DBA提供了更高效且准确的性能调优途径,同时也显著降低了数…

构建VREP和MATLAB联合仿真实验平台,控制机械臂末端按照固定轨迹移动

构建VREP和MATLAB联合仿真实验平台,控制机械臂末端按照固定轨迹移动。主要工作如下: (1)solidworks构建机械臂模型; (2)将solidworks中构建的模型导入VREP中建立机械臂的多体动力学模型&#xf…