gbase误删表数据的恢复办法
GBase社区管理员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,恢复的时间太久,代价也很大。
完成上述步骤之后,当发生误删除的时候,就可以恢复到你想到要的时间节点,找回数据。
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25052
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526