最近在工作中使用ORACLE,一个失误删错了表,当时心急如焚,因为接触ORACLE时间不长,也不清楚ORACLE的功能,
同事就去找了下恢复的解决办法,发现ORACLE删除表后,是换了个名字,躺到了ORALCE的回收站中。
记录一下使用的语句,以便以后遇到。
关于ORALCE误删表后恢复
查看回收站的表:
select object_name,original_name,type,createtime,droptime from recyclebin;
recyclebin 回收站表名
object_name 删除后名称
original_name 删除前名称
type 删除的类型(如index、table等)
createtime 创建表的时间
droptime 删除表的时间
根据回收站中的信息,找到删除的表(original_name)对应的回收站中的名称(object_name)
执行恢复语句:
flashback table "object_name" to before drop;
执行语句成功后,表恢复到删除之前的状态。
关于ORALCE误删表数据后恢复
恢复语句:
alter table table_name enable row movement;
flashback table table_name to timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');
执行完成后,会把表中的数据恢复到time这个时间点。