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;

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

posted on   越野兔  阅读(1088)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示