-- update了所有用户的密码,如何恢复?
select * from sys_user_copy u where u.loginname = 'lili' ;
select * from sys_user u where u.loginname = 'fujian' ;
update sys_user u set u.password = '2C216B1BA5E33A27EB6D3DF7DE7F8C36' ;
--------------------------------------------
--------------------------------------------
--------------------------------------------
----解决方法----------------------------------------
-- 1. 首先创建一个Copy表 sys_user_copy 与sys_user同样表结构
-- 2. 闪回,将指定时间点的表恢复到:sys_user_copy
declare
cursor flash_recover is
select * from sys_user;
t_recode sys_user%rowtype;
begin
DBMS_FLASHBACK.ENABLE_AT_TIME(to_date('2012-05-11 18:20:05', 'yyyy-mm-dd hh24:mi:ss'));
open FLASH_RECOVER;
DBMS_FLASHBACK.DISABLE;
loop
FETCH FLASH_RECOVER
INTO t_recode;
EXIT WHEN FLASH_RECOVER%NOTFOUND;
insert into sys_user_copy values t_recode;
end loop;
CLOSE FLASH_RECOVER;
commit;
end;
/