提示密码过期后用超管登录PLSQL,执行查询:
select username,account_status from dba_users where username = '你提示过期的用户名';
会看到一下图片: account_status 是 expired 或者 expired(grace) 这个状态是表示密码过期了;

解决方法有两个,
第一步: 查询密码的密文:
select user#,name, password,astatus from user$ where name = '用户名';
password 就是密码加密后的密文;这个astatus 的状态为0 是因为我已经 修改过了;

1: alter user 用户名 identified by values '上面图片的password'; 这个解决方法 就是重置密码;我用的就是这个,亲测可用。
2: update user$ set astatus = 0 where name ='用户名'; 这个也是个方法, 但是用了没起作用。 最后用的第一个方法解决的
查询astatus状态:
select * from user_astauts_map;

本文介绍当PLSQL中用户密码过期时的查询及解决方法。通过执行特定SQL语句,可以查看用户状态并使用两种方法重置密码:一是通过alter user语句设置新密码,二是更新user$表中的astatus字段。
3376

被折叠的 条评论
为什么被折叠?



