db2数据库误删除的数据怎么恢复

db2数据库误删除的数据怎么恢复,第1张

首先数据要可以前滚恢复(数据库配置参数logretain或userexit打开)。

db2 connect to

dbname

db2 update db cfg using logretain on

db2 backup db dbname

(当打开归档日志后,该数据库会处于rollforward pending状态,所以要做一次全备份)

备份文件中备份的是开始点数据库的一切数据,备份的时候数据变更会记载在日志里。通过恢复数据库和前滚日志的方式可以把数据恢复到备份后的状态。恢复的方法是:1》db2restoredb数据库名logtarget日志解压位置2》db2rollforwarddb数据库名toendoflogsandstopoverflowlogpath(“日志解压位置”)是需要把生产的归档日志都copy到测试环境中前滚,活动日志不需要copy

1. 如何恢复误删的表

使用recover dropped table功能即可

要求是: 误删的表建立且数据注入之后,有该数据库的备份

通过db2 list history dropped table all for dbname找到误删表的Backup ID以及该表的DDL语句

恢复误删表所在表空间 db2 restore db dbname tablespace(tbspname) taken at xxxx

在前滚中指定误删表 backup id,输出表数据

db2 rollforward db dbname to end of logs tablespace(误删表所在表空间名字) recover dropped table backup id to /home/db2inst

在/home/db2inst目录下的node0000目录下有一个data文件,是误删表的数据

通过DDL重建表,并使用LOAD将DATA文件导入表中即可.

没有做过备份的话,如果你拷贝的文件夹完整的话(既有元数据,又有数据库数据),可以uncatalog db dbname,然后将拷贝的文件夹拷贝回来,并catalog db dbname就可以了.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9933621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存