一个数据库细粒度恢复的需求
今天碰到这样一个需求,数据库在 A 时间点这里做了个备份,在 B 这个时间点做了一次误删操作,但没有及时发现,业务系统继续对外提供服务,知道 C 这个点才发现误删除这个操作。用户希望将 B 这个时间点误删除的数据恢复回来,但同时又不覆盖掉 B 到 C 之间生成的数据;就是恢复后的数据为 A + (B~C之间产生的数据)。请问,这样的需求有没有好的技术或产品来解决? 归档模式回溯吧……catlog查操作…… 回复 1# cwuchinaunix
如果没有其他备份手段,只用了数据库自带的工具备份的,只有做个异机恢复,然后导出那个表数据再灌进当前库里了。如果有相关的关联还得手工处理一下! 回复 3# mettle
对,目前想到的就是纯手工来操作,但,恢复的成功率完全取决与人的主观因素,所以想看看又没有类似的技术或产品来解决这个问题。 客户的需求根本不可能实现。自己想想看看为什么。
只能用手工方法去尽可能接近那个结果。 似乎没有。 SharePlex for Oracle 看介绍貌似可以做到
•基于日志的变更数据捕获复制——确保目标实例可准确描述源数据库。 能够识别并捕捉Oracle关系表中所有增加、更新或移除的数据。 还可让个人和应用程序访问被变更的数据。
不知道和你要求的有多少区别…… 人工的恢复取决于人得主观性,你用软件来恢复的道理是一样的,唯一的区别就是一些需要人工输入的命令通过软件完成而已,否则软件怎么可能知道到底你要怎么恢复,还是要人来控制的。 其实对业务系统来说,他只验证数据合不合法,不会验证数据正不正确……如果是删除的问题,可以通过授权来防止,如果是合法操作……那就没辙了……手工吧。 如果是短时间内的话,倒是可以用oracle自己的flash backup来恢复这个表。。。。
页:
[1]
2