文章目录
- [任务二十六 openGauss 数据库的逻辑备份与顺复](#任务二十六 openGauss 数据库的逻辑备份与顺复)
任务二十六 openGauss 数据库的逻辑备份与顺复
任务目标
掌握openGauss数据库的逻辑备份和恢复。
实施步骤
一、为进行数据库逻辑备份做准备
使用Linux的root用户,执行下面的命令,创建逻辑备份的保存目录:
bash
su -
mkdir /backup
chown omm.dbgrp /backup
exit
二、openGauss数据库逻辑备份和恢复案例1
1.使用gs_dump备份数据库,生成sql文件
使用Linux用户omm,执行下面的命令,备份openGauss的数据库studentdb:
bash
gs_dump -U student -W student@ustb2020 -p 26000 studentdb -F p \
-f /backup/studentdb_backup.sql
2.使用gs_dump生成的sql文件恢复数据库
使用Linux用户omm,执行下面的命令,创建数据库用户pupil、表空间pupilts、数据库pupildb:
sql
gsql -d postgres -p 26000 -r
CREATE USER pupil IDENTIFIED BY 'pupil@ustb2020';
ALTER USER pupil SYSADMIN;
CREATE TABLESPACE pupil_ts RELATIVE LOCATION 'tablespace/pupil_ts1';
CREATE DATABASE pupildb WITH TABLESPACE =pupil_ts;
\q
使用Linux用户omm,用数据库用户pupil登录到openGaussDBMS,执行上面用gs_dump生成的sql文件,将数据恢复到数据库pupildb中:
sql
gsql -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 \
-f /backup/studentdb_backup.sql -q
执行下面的命令,验证数据库studentdb的备份已经被恢复到数据库pupildb中:
sql
gsql -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 -c "\dt"
执行下面的命令,清除实验数据:
sql
gsql -d postgres -p 26000 -r
drop database pupildb;
drop tablespace pupil_ts;
drop user pupil;
\q
rm /backup/studentdb_backup.sql
三、openGauss数据库逻辑备份和恢复案例2
1.使用gs_dump备份数据库,生成归档格式的备份文件
使用Linux用户omm,执行下面的命令,生成归档格式的备份文件:
sql
gs_dump -U student -W student@ustb2020 -p 26000 studentdb -F c \
-f /backup/studentdb_backup.dump
2.使用gs_dump生成的归档文件恢复数据库
使用Linux用户omm,执行下面的命令,创建数据库用户pupil、表空间pupil_ts、数据库pupildb:
sql
gsql -d postgres -p 26000 -r
CREATE USER pupil IDENTIFIED BY 'pupil@ustb2020';
ALTER USER pupil SYSADMIN;
CREATE TABLESPACE pupil_ts RELATIVE LOCATION 'tablespace/pupil_ts1';
CREATE DATABASE pupildb WITH TABLESPACE =pupil_ts;
\q
使用Linux用户omm,用数据库用户pupil登录到openGaussDBMS,执行上面用gs_dump生成的归档格式的数据库studentdb的备份,将数据恢复到数据库pupildb中:
sql
gs_restore -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 /backup/studentdb_backup.dump
执行下面的命令,验证数据库studentdb的备份已经被恢复到数据库pupildb中:
sql
gsql -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 -c "\dt"
四、清理工作
使用Linux用户omm,在Linux终端窗口执行下面的命令,清除任务数据:
sql
gsql -d postgres -p 26000 -r
drop database pupildb;
drop tablespace pupil_ts;
drop user pupil;
\q
rm /backup/studentdb_backup.dump