文章目录
任务二十五 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"