数据库一般都会进行数据备份,可以直接使用备份文件将备份数据还原;由于数据备份的文件一般都比较大,如果误操作只是单张表,可以直接使用下面所说的方法还原数据。
操作步骤
以表Y_PREPAY_MANAGEMENT为例,使用PL/SQL Developer工具
获取表在某时刻的快照数据
需要确定这个数据快照是否是你想要恢复的数据
//查询出2020-01-20 10:20:00时Y_PREPAY_MANAGEMENT的数据
select * from Y_PREPAY_MANAGEMENT as of timestamp to_timestamp('2020-01-20 10:20:00', 'yyyy-MM-dd hh24:mi:ss')
设置快照时间应尽量离当前时间近,否则可能出现错误:ORA-08180:未找到基于指定时间的快照,ORA-01555:快照过旧:回退段号xx过小等。
数据还原
方法1:使用flashback table命令
//row movement默认关闭,只有打开后才能执行flashback table
alter table Y_PREPAY_MANAGEMENT enable row movement;
//回滚
flashback table Y_PREPAY_M