今天调试程序的时候,不小心将数据库里面用户正在使用的数据给删掉了,瞬间接到N多的电话询问我是怎么回事
当时那个心慌啊
幸亏我们有强大的Oracle 心中默念肯定可以恢复,然后到网上搜了一下,果然有N多恢复办法
1,使用闪回办法
1)使用dbms_flashback,get_system_change_number获得当前SCN
select dbms_flashback.get_system_change_number from dual;
2)获取误删表在当前SCN中的数据量
select count(*) from sm_sc_zsbcap_tb as of scn 114605000
3)修改SCN的值,获得误删之前的count(*),然后可以获得误删前的数据
select * from sm_sc_zsbcap_tb as of scn 114604000
4)将找到的数据插入误删表即可
insert into sm_sc_zsbcap_tb select * from sm_sc_zsbcap_tb as of scn 114605000
搞定!