可悲的是没有。至少不是默认的,也不是直接的。为此,您需要阅读有关Flashback Data Archives的信息。默认情况下,它们对所有表都禁用,但可以激活,即使在截断后也会保留您的数据。而且,即使你有FDAs,你也不能只是闪回表,因为TRUNCATE是一个DDL操作,会抛出一个表定义已经改变的错误。
但是,您可以做的是从闪回表中选择数据到某个点,然后将其插入您的表中:
insert into table1
select * from table1 as of timestamp to_timestamp(<your_time>)
可悲的是没有。至少不是默认的,也不是直接的。为此,您需要阅读有关Flashback Data Archives的信息。默认情况下,它们对所有表都禁用,但可以激活,即使在截断后也会保留您的数据。而且,即使你有FDAs,你也不能只是闪回表,因为TRUNCATE是一个DDL操作,会抛出一个表定义已经改变的错误。
但是,您可以做的是从闪回表中选择数据到某个点,然后将其插入您的表中:
笔记!这只能在您拥有该表的闪回数据存档后才能完成。
希望这有帮助!
不,您不能闪回截断的表格。但是您可以使用传统的备份/恢复或 FLASHBACK 数据库来恢复表的数据。尝试将数据库闪回到更早的时间戳或系统更改编号并导出和导入截断的表。
检查此链接以获取更多详细信息。