Problem
如果意外删除了活动日志,该如何进行数据库恢复?
Resolving The Problem
以下是不同场景下的恢复方案:
1) 如果删除活动日志后数据库意外终止,并且 lowtranlsn/minbufflsn恰好处于被删除的日志中,这时将无法避免数据丢失,并需要联系IBM DB2技术支持团队通过重置日志控制文件来恢复数据库一致性,重置之后数据库将处于只读状态, 需要通过db2look 导出表定义及EXPORT命令导出数据, 重建库,然后使用IMPORT or LOAD 工具导入数据。 (注:也可以在db deactivate状态下通过db2dart导出数据 ,但是db2dart不能导出LOB数据)
2)如果删除活动日志后数据库依然正常运行, 我们只需等待新的未被删除的日志文件成为第一活动日志,可以通过在线备份和显式归档日志的方式加快第一活动日志的移动, 并且在这种情况下不会有数据丢失, db2 也不会报出任何错误, 这是因为应用是通过文件描述符读写文件,而不是文件名称, 当文件在被其它进程读的时候删除文件名称并不会立马删除底层数据。 当新的日志文件成为第一活动日志时,建议立刻执行完整数据库备份 , 原因是历史备份由于日志缺失无法通过前滚恢复至最新。
最后修改时间:2022-04-27 16:11:45
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




