数据表被删除还可以恢复吗

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】5.7.25-OceanBase_CE-v4.2.1.10
【问题描述】使用delete删除表,如何进行恢复

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

针对您的问题,在OceanBase中执行了DELETE命令删除数据后,想要恢复这些数据是一个比较复杂的操作。在某些情况下,可能可以通过一些特殊手段尝试恢复,但并不保证一定能成功。对于您所描述的情况,我们建议首先使用obdiag工具收集相关的日志信息以帮助确定是否有可采取的恢复措施。

日志采集场景: 数据恢复问题
日志采集命令: obdiag gather scene run --scene=observer.recovery

这条命令将会帮助收集与数据恢复相关的信息。请执行上述命令,并将生成的日志压缩包提供给我们进一步分析。同时,请注意检查是否有定期备份机制存在以及最后一次备份的具体时间点,这对于评估恢复可能性至关重要。

为了更好地理解情况并给出恰当的建议,请回答以下问题:

  1. 在删除操作发生前是否进行了全量或增量的数据备份?如果有,最近一次备份是什么时候完成的?
  2. 能否提供被删除表的大致结构及所包含的数据量估计?
  3. 删除操作是通过应用程序自动触发还是手动执行的SQL命令实现的?
  4. 执行删除命令后到发现数据丢失之间大约经历了多长时间?
  5. 当前数据库运行状态如何(例如:能否正常访问、是否有异常报错等)?

这些问题的答案将有助于我们评估最佳的数据恢复方案。期待您的回复。

附上敏捷诊断工具 obdiag 使用帮助链接

1、闪回查询试试:
闪回查询 - OceanBase 数据库 V4.2.5 | OceanBase 文档中心

2、生产环境应该有备份?备份恢复可以恢复单表

没做备份

试试用oblogminer解析clog吧,DELETE好处理,知道删除的时间区间的话,可以解析直接转为INSERT