oralce 数据简单恢复

来源:互联网 发布:windows ie10补丁 编辑:程序博客网 时间:2024/05/17 23:57

 转载;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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


1
2
3
4
5
6
7
这里检索出,指定时间点上,指定表的数据情况。
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




对于你来说, 也就是你需要先


CREATE TABLE  临时表  AS

select * from   你的那个数据被删除的表   

AS OF TIMESTAMP TO_TIMESTAMP('2013-08-13 14:00:00',  'yyyy-mm-dd hh24:mi:ss');



这样, 就把当初那个时间点上的,  那个表的数据,  复制到一个   临时表  里面去了。

然后再

INSERT  INTO  你的那个数据被删除的表    SELECT  *  FROM  临时表;



注: 你需要确定一下, 那个  数据被删除的表  上面, 有没有触发器什么的。

有的话, 可能需要暂时 禁用掉, 数据插入完了再恢复。

0 0
原创粉丝点击