GBase 8s
备份恢复
文章

gbase误删表数据的恢复办法

GBase社区管理员
发表于2023-05-11 17:34:19289次浏览0个评论

archecker的功能如下:

从onbar或ontape的备份中恢复一个表或一组表
archeck不仅仅可以做物理恢复,还可以做逻辑恢复,也就是还可以通过逻辑日志备份进行恢复到某个特定的 时间点
需要用到一个配置文件XXX.cmd

XXX.cmd的内容描述如下:

database mydb;                        #需要连接数据库的名称

create table t1                 #源表的表表结构,需要去掉约束和索引,需要指明dbspaces的存储空间
 ( id integer,
   id_t datetime year to second default current year to second
 )  in datadbs05;
create table t2           #目标表的表结构,数据库中没有此表,archecker会自动创建
 ( id integer,
   id_t datetime year to second default current year to second
 ) ;

insert into t2 select * from t1;#此处可以选择需要插入的列和通过where条件指定需要恢复的数据行

restore to '2021-06-08 06:54:08';     #指定需要恢复到特定的时间点,就是物理恢复+逻辑恢复

restore to current with no log;          #只进行物理恢复,也就是值在0级备份中进行恢复

 

具体恢复命令如下:

下面的两个命令是自动恢复的过程,恢复完物理恢复之后马上进行逻辑恢复。

ontape : archecker -tdvs -X -f schema_command_file

onbar : archecker -bdvs -X -fschema_command_file

 

也可以使用手动恢复,逐步分解物理恢复和逻辑恢复:

1. archecker -tdvs -f a.cmd –lphys   完成物理恢复

2. archecker -tvs -f a.cmd –lstage   完成stage部分

3. archecker -tvs -f a.cmd –lapply   完成逻辑恢复

 

强烈建议数据量不是很大的业务系统,需要常规完成如下操作:

1. 数据库定期0级备份

2.数据库定期做dbschema的全备份(可以一天一次)

3.数据库配置逻辑日志的连续备份

当然,如果你的数据库有几十个TB,恢复的时间太久,代价也很大。

完成上述步骤之后,当发生误删除的时候,就可以恢复到你想到要的时间节点,找回数据。

评论已关闭