如何将勿操作truncate的表恢复回来
由于对于truncate命令没有回滚方法来还原,因此就需要对数据库进行恢复操作以将数据恢复回表中。
本文中将给出truncate命令后的恢复思路及步骤:
RECOVER DATABASE UNTIL TIME 恢复步骤方案
注意: 在开始使用旧备份进行数据库恢复前,对当前数据库做好备份
当时是否有表的export dump文件可用?a. 有 ->import导入文件还原表数据
b. 没有 ->跳转至步骤2 数据库是否在archivelog模式下?
a. 是 ->跳转至步骤3
b. 不是 ->跳转至步骤4 数据库在归档模式下。那么可以使用备份归档至数据库某个表被truncate前的时间点。
a. 恢复数据库备份至另一个位置。
b. 使用RECOVER DATABASE UNTIL TIME .....将数据库recover到truncate之前某个时间点。
c. 从恢复的数据库中导出所需的表数据。
d. 将数据import会原库对应被truncate数据的表中。
e. 工作已经完成,将恢复的库删掉即可。 数据库不在归档模式下, 因此没有方法将数据库恢复到truncate之前的时间点。
你需要联系Oracle或更第三方专业Oracle数据恢复专家来帮忙处理。
你也可以使用FLASHBACK来回滚到TRUNCATE前以找到所需恢复的数据。
下面的步骤将使用FLASHBACK来将数据库恢复到表TRUNCATE之前,然后使用数据库恢复方法将数据库回到当前时间点。