首页 > 解决方案 > TRUNCATE TABLE 后,如何恢复数据?

问题描述

我需要恢复 Oracle 表中截断的数据。

Linux中有存储截断数据的文件夹吗?是否有任何表存储截断后的表信息?

我不是 DBA。

标签: oracle

解决方案


如果您没有备份表(例如,使用RMANEXPDPEXP)或创建RESTORE POINT表,那么您的数据将丢失。

Oracle 文档

警告:

您不能回滚TRUNCATE TABLE语句,也不能使用FLASHBACK TABLE语句来检索已截断的表的内容。

RMAN您可以通过登录RMAN(而不是数据库)并使用LIST命令来检查您是否有备份。

您可以使用以下命令检查您是否有还原点(来自具有适当权限的数据库用户):

SELECT name,
       guarantee_flashback_database,
       pdb_restore_point,
       clean_pdb_restore_point,
       pdb_incarnation#,
       storage_size
FROM   v$restore_point;

guarantee_flashback_database您正在寻找YES.

(假设RESTORE POINT是在创建和填充表之后创建的。)

笔记:

  • 如果您从备份或还原点还原,那么自该备份或创建还原点以来所做的所有更改都将丢失。

要回答您的其他问题:

[是否] Linux 中有存储截断数据的文件夹吗?

是否有任何表存储截断后的表信息?


推荐阅读