oracle数据库用户密码过期


oracle数据库用户设置密码有效期后,如果密码过期,使用程序调用该用户时会报错:ORA-28001:the password has expired

可以将相关用户所属profile更改为永不过期,也可以为已过期用户更改密码

使用oracle用户以sysdba身份登录sqlplus
sqlplus / as sysdba

将用户user11的密码修改为NewPasswd
SQL> alter user user11 identified by NewPasswd

使用新密码登录oracle以验证密码有效性
sqlplus user11/NewPasswd@ora_name

如果用户登录时报错提示ORA-28000:用户已被锁,需要回到sysdba身份解锁用户
SQL> alter user user11 account unlock;

查询用户所属的profile是哪个
SQL> select username,profile from dba_users;

查询所有用户,通过CREATED列的时间与当前时间差,推测出密码已经过期的用户
SQL> select * from all_users;

通过LIMIT列查询各profile当前设置的密码有效天数
SQL> select * from dba_profiles where resource_name='PASSWORD_LIFE_TIME';

示例,将default的profile密码有效期修改为180天/永久
SQL> alter profile default limit PASSWORD_LIFE_TIME 180;
SQL> alter profile default limit PASSWORD_LIFE_TIME unlimited;

设置密码永不过期后,未过期的用户会立即生效变为永久,但那些已经过期的用户需要修改一次密码才可以正常使用
以上内容修改之后,不需要重启服务,会立即生效


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM