如何彻底的删除Oracle表 及 闪回恢复在回收站里的数据

如何彻底的删除Oracle表 及 闪回恢复在回收站里的数据,第1张

不能回滚,也不会记录到redo中,10g以后如果启动了flashback, drop 语句删除的表可以从回收站找回来,truncate语句则没有办法,只能使用数据库闪回或者从有效备份当中进行恢复。

下面是一个例子:

SQL> CREATE TABLE test_fb_table (
  2    ID   int,
  3    VAL  VARCHAR2(10)
  4  );
Table created
SQL> INSERT INTO test_fb_table  VALUES (1, 'TEST');
1 row created
SQL> commit;
Commit complete
假如 数据被错误的删除/更新
需要检索某个时间点上,表原有的数据。
SQL> SELECT TO_CHAR(sysdate, 'yyyy-mm-dd hh24:mi:ss') FROM dual;
TO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MI:SS'
--------------------------------------
2010-11-07 13:01:37
这里删除掉数据。
SQL> delete from test_fb_table;
1 row deleted
SQL> commit;
Commit complete
确认数据已经被删除。
SQL> select  from test_fb_table;
no rows selected
方法:
这里检索出,指定时间点上,指定表的数据情况。
SQL> select  from test_fb_table
  2    AS OF TIMESTAMP TO_TIMESTAMP('2010-11-07 13:01:37',
  3      'yyyy-mm-dd hh24:mi:ss');
        ID VAL
---------- --------------------
         1 TEST

对于你来说, 也就是

SELECT    FROM  你的表  AS  OF  TIMESTAMP TO_TIMESTAMP(  误删以前的时间  );


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10533034.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-09
下一篇2023-05-09

发表评论

登录后才能评论

评论列表(0条)

    保存