oracle flashback闪回技术

今天在操作数据库的时候,由于登陆的时候没有认真看数据库名,导致登陆上去,把重要的数据删掉了,一共80多个G,欲哭无泪啊。。。
接着用语句查了查表空间,及各个表的大小,发现表空间并未减小,而各个表的大小也未减小,只是原来的名字不见了,换成了一些BIN$b+XkkO1RS5K10uKo9BfmuA==$0这样的名称。接着我就去网上查了查,去群里问了问,接着想到了oracle闪回的技术。
查找oracle某用户下的各个表的大小:

select OWNER, 'flashback table "' ||t.segment_name||'" to before drop', t.segment_type, sum(t.bytes / 1024 / 1024) filesizeM
 from dba_segments t
 where t.owner = 'ETL_QY' 
 and t.segment_type='TABLE'
 and t.segment_name not like '%==$0'
 group by OWNER, t.segment_name, t.segment_type
 order by filesizeM desc;



查看回收站中表

select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;

恢复表

SQL>flashback table test_drop to before drop;或
SQL>flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop;


下面是我自己整理的一些关于闪回的文档,需要的可以详读。

你可能感兴趣的:(oracle,sql)