gzyfj

找回误删的表和数据

一、找回误删的表

1、在recyclebin(类似于回收站)中查找drop的表:select * from recyclebin order bydroptime desc;

 

 

2、恢复表和表数据:flashback table ‘表名’ to before drop;值得注意的是,当一张表被drop两次及两次以上的时候,flashback命令只恢复dropscn大的哪个表。如果在drop表的时候再结束加上purge,如:drop table \'表名\' purge;,则无法通过flashback命令恢复。因为在加上了purge后drop,就类似粉碎文件,文件则不会放入回收站中。

最后在记录下如何查找被修改的数据,方便以后使用:

查找指定时间的快照

select * from \'表名\'  as of timestamp to_timestamp(\'2019-12-10 15:59:00\', \'yyyy-mm-dd hh24:mi:ss\');

alter table \'表名\' enable row movement;

row movement 意思就是,一个现存的行允许改变其rowid(物理存储地址),通常情况下,数据行在分配了空间之后,行的rowid就固定了。即使以后行长度超出预留的空间,也不会将其移动。12c的“ALTER TABLE XXX MOVE; ”并不受此控制。在修改前最好确认一下当前是否允许行移动,如果是disable的话,操作完后最好改回到disable :“select ROW_MOVEMENT, TABLE_NAME from user_tables”。

回闪指定时间的快照数据
flashback table \'表名\' to timestamp TO_TIMESTAMP(\'2019-12-10 15:59:00\', \'yyyy-mm-dd hh24:mi:ss\');

 

发表于 2019-12-11 11:57  IT.情殇  阅读(156)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章:

  • 2021-11-27
  • 2021-06-10
  • 2021-11-14
  • 2021-11-04
  • 2021-11-30
  • 2022-01-08
  • 2021-11-29
猜你喜欢
  • 2021-10-30
  • 2022-01-01
  • 2021-06-07
  • 2021-12-15
  • 2021-11-30
  • 2021-09-29
相关资源
相似解决方案