update了所有用户的密码,如何恢复?

来源:互联网 发布:可视化分析软件 编辑:程序博客网 时间:2024/06/05 16:28

-- 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;
/