当前位置: 首页 > news >正文

openGauss开源数据库实战二十五

文章目录

  • 任务二十五 openGauss 数据库的物理备份与恢复
    • 任务目标
    • 实施步骤
      • 一、为进行物理备份做准备
        • 1.确保数据库工作在归档模式
        • 2.创建保存数据库物理备份的目录
        • 3.创建保存归档日志备份的目录
      • 二、进行openGauss数据库的物理备份
        • 1.备份数据库
        • 2.切换WAL
        • 3.备份归档日志
      • 三、openGauss数据库恢复测试
        • 1.模拟数据库故障
        • 2.停止openGauss数据库
        • 3.还原数据库备份(Restore)
        • 4.还原归档日志文件
        • 5.重新启动数据库
        • 6.验证数据库已经被成功恢复

任务二十五 openGauss 数据库的物理备份与恢复

任务目标

掌握openGauss数据库的物理备份和恢复。

实施步骤

一、为进行物理备份做准备

1.确保数据库工作在归档模式

执行下面的命令,确保进行备份的时候数据库工作在归档模式:

gsql -d postgres -p 26000 -r
select name,setting from pg_settings where name like 'archive%' or name = 'wal_level';
\q

在这里插入图片描述

如果输出如上所示,则说明数据库目前工作在非归档模式,需要按照任务二十五的方法将openGauss配置为归档模式。
如果输出如下所示,则说明数据库目前工作在归档模式,已经满足继续做物理备份实验的要求了:
在这里插入图片描述

2.创建保存数据库物理备份的目录

使用Linux超级用户root,执行下面的命令,创建用于保存数据库物理备份的目录:

su -
mkdir /backupdb
chown omm.dbgrp /backupdb
3.创建保存归档日志备份的目录

使用Linux超级用户root,执行下面的命令,创建用于保存归档日志备份的目录:

mkdir /backuparchivelog
chown omm.dbgrp /backuparchivelog
exit

二、进行openGauss数据库的物理备份

1.备份数据库

使用Linux用户omm,执行下面的命令,备份数据库:

gs_basebackup -D /backupdb -p 26000 -P -l dbbackup202412131825

其中,-D用于指定备份保存的位置;-1用于给备份做一个lable;-P表示显示备份的过程信息。

2.切换WAL

使用Linux用户omm,执行下面的命令,切换WAL:

gsql -d postgres -p 26000 -c "select pg_switch_xlog()"
3.备份归档日志

使用Linux用户omm,执行下面的命令,备份归档日志:

cp /archivelog/* /backuparchivelog/

三、openGauss数据库恢复测试

1.模拟数据库故障

使用Linux用户omm,执行下面的命令,模拟数据库故障:

cd $PGDATA
rm -rf *
2.停止openGauss数据库

使用Linux用户omm,执行下面的命令,停止发生故障的openGauss数据库:

gs_om -t stop
3.还原数据库备份(Restore)

使用Linux用户omm,执行下面的命令,还原数据库备份:

cp -rpf /backupdb/* $PGDATA
4.还原归档日志文件

如果恢复所需的归档日志文件已经不在openGauss DBMS的归档目录中,则需要从归档日志备份的目录,将需要的归档日志文件拷贝回/archivelog目录下。本实验不需要执行这一步(因为所需的归档日志文件都在/archivelog目录下)。

5.重新启动数据库

启动openGauss数据库:

gs_om -t start
6.验证数据库已经被成功恢复

执行下面的命令,验证数据库已经被成功恢复:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -c "\dt"
gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -c "select * from instructor"
http://www.lryc.cn/news/503242.html

相关文章:

  • [C/C++] List相关操作
  • 继电器控制与C++编程:实现安全开关控制的技术分享
  • 题解 - 找子序列(2024.12上海月赛丙组T4)
  • 在centos 7.9上面安装mingw交叉编译工具
  • ubuntu wine mobaxterm找不到串口和解决方案
  • 如何编译安装系统settings设置应用(5.0.0-Release)
  • <项目代码>YOLOv8 车牌识别<目标检测>
  • 协同办公软件新升级:细节优化,让办公更简单
  • 【原创学习笔记】西门子1200 PLC实现变频器控制
  • SQL server学习02-使用T-SQL创建数据库
  • 2024153读书笔记|《春烂漫:新平摄影作品选》——跳绳酷似人生路,起落平常,进退平常,莫惧征途万里长
  • MySQL有哪些高可用方案?
  • 前台进程是什么
  • Redis学习笔记之——学习计划
  • npm : 无法加载文件 D:\nodejs\npm.ps1
  • 【Neo4J】neo4j docker容器下的备份与恢复
  • 更新数据时Redis的操作
  • [实战]MySQL时间多了一秒
  • Windows环境基于ecplise的spring boot框架新建spring start project
  • C 进阶 — 字符函数和字符串函数 ( 二 )
  • Mybatis Plus 3.0 快速入门
  • RFDiffusion 计算二面角函数get_dih解读
  • 记一次回调失败问题
  • 前端常用的方法
  • RK3568(六)——led设备驱动(GPIO子系统)
  • hbuilder 本地插件配置
  • Spring Boot集成Kafka:最佳实践与详细指南
  • 基于Qwen2-VL模型针对LaTeX OCR任务进行微调训练 - 多图推理
  • 详解下c语言下的多维数组和指针数组
  • 免费送源码:Java+ssm+MySQL 基于微服务架构的餐饮系统的设计与实现 计算机毕业设计原创定制