VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

vb_basebackup备份恢复实践

  • 示例均为在Linux系统下使用Vastbase G100 V2.2 Build 10进行的备份恢复操作。

  • 示例中/home/vastbase/data/vastbase为原数据库的数据目录。

  • 连接参数指定的数据库名称、端口等信息请以实际情况为准。

备份

1、使用vsql工具连接至vastbase数据库。

vsql -d vastbase -p 5432 -r

2、创建测试表并插入数据。

create table table_123(name text,id varchar(2));
insert into table_123 values('alice',1);
insert into table_123 values('jack',2);
insert into table_123 values('bob',3);

3、退出vsql程序。

\q

4、创建存储备份文件的文件夹。

mkdir -p /home/vastbase/data/bak

5、进行实例级别的全量备份。

vb_basebackup -D /home/vastbase/data/bak -h 127.0.0.1 -p 5432 

恢复

方法一:在恢复时拷贝替换原有文件

1、停止数据库服务器。

vb_ctl stop

2、清理原库中的所有或部分文件。

rm -rf /home/vastbase/data/vastbase/*

3、使用数据库系统用户权限从备份中还原需要的数据库文件。

cp -r /home/vastbase/data/bak/.  /home/vastbase/data/vastbase

4、重启数据库服务器。

vb_ctl start

5、使用vsql工具连接至数据库。

vsql -d vastbase -p 5432 -r

6、使用如下语句,查看测试表内容。

select * from table_123;

返回结果如下,表示数据库内容已经恢复到备份前的状态。

 name  | id
-------+----
 alice | 1
 jack  | 2
 bob   | 3
(3 rows)

方法二:在备份的数据库上启动数据库

1、停止原数据库服务。

vb_ctl stop

2、使用vastbase用户修改存储备份文件的权限。

chmod 700 -R /home/vastbase/data/bak

3、在备份的数据库上启动数据库,启动时通过-D指定数据目录。

vb_ctl start -D /home/vastbase/data/bak

4、使用vsql工具连接至数据库。

vsql -d vastbase -p 5432 -r

5、使用如下语句,查看测试表内容。

select * from table_123;

返回结果如下,表示数据库内容已经恢复到备份前的状态。

 name  | id
-------+----
 alice | 1
 jack  | 2
 bob   | 3
(3 rows)