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)