OCP高阶---Oracle库中恢复某一时刻表数据

利用oracle闪回技术,将某个时间的数据给还原回来。

场景演示:a :select * from test_table;

                  b:update test_table set name = '张三'

说明:sql误操作将test_talbe表中的name全部都置成张三了,事务也提交了,需要回滚。

首先:查询提交事务之前时刻的数据。

select * from test_table as of timestamp to_timestamp('2019-02-26 09:39:40', 'yyyy-mm-dd hh24:mi:ss');

说明:test_table是误操作,需要闪回的表,2019-02-26 09:39:40这个时间点是误操作的那个时间点,在这个时间之前就是之前正确的数据,之后就是误操作后的数据

2.alter table test_table enable row movement;闪回操作前启用行移动功能

说明:test_table是误操作需要闪回的表

3.flashback table test_table to timestamp TO_TIMESTAMP('2019-02-26 09:39:40','YYYYMMDD HH24:MI:SS');

说明:test_table是误操作,需要闪回的表,2019-02-26 09:39:40时间点与步骤1的时间点相同。

完成!数据恢复。

你可能感兴趣的:(oracle,数据闪回,update,撤销数据,恢复,OCP)