Oracle:误删表
对误删的表,一般只要没有使用PURGE永久删除,一般可以从flash back区将误删的表恢复回来;表中的数据会随着表的恢复而恢复
第一步:从flash back 区找到被误删的表
select * from recyclebin t where t.original_name = tableName
第二步:恢复误删的表
flashback table tableName to before drop
Oracle:误删数据
对误删的表数据,只要不是执行truncate语句,就可以根据事务提交时间进行选择恢复
1:查询flashback_transaction_query表,
select * from flashback_tracnsaction_query where table_name = tableName;
2:根据时间进行查询,
select * from tableName as of timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss')
3:恢复数据
flashback table tableName to timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss')
alter table testvarchar enable row movement;
允许Oracle修改分配给每一行数据的rowid;在Oracle中每一行数据都有一个独有的rowdid
闪回表处理会对表进行delete操作,并且重新插入行,这样就会为这些数据分配一个新的rowid;要支持闪回就必须运行Oracle执行这个操作