Oracle密码过期问题,设置永不过期

Oracle密码过期问题,设置永不过期

Oracle用户密码过期的根本原因,还是在于该用户所属的profile的life_time到期

总体思路

复制代码
 1.查看该用户的过期时间,profile
select username,expiry_date,profile from dba_users where username = 'ABC';
 2.查看该profile的有效时长
SELECT  *  FROM  dba_profiles  s  WHERE  s.profile = 'DEFAULT'  AND  resource_name = 'PASSWORD_LIFE_TIME';
 3.将该profile设置为永不过期
alter profile default limit password_life_time unlimited;
 4.重新设置一下该用户的密码
alter user ABC identified by newpassword;

1.查看用户所属profile及过期时间

复制代码
SYS@oracle>select username,expiry_date,profile from dba_users where username = 'ABC';

2. 查看该profile的有效时长

这里的DEFAULT_ABC就是上一步通过用户名从dba_users中查出的PROFILE的值

复制代码
SYS@oracle>select * from dba_profiles s where s.profile = 'DEFAULT_ABC' and resource_name = 'PASSWORD_LIFE_TIME';

3.将该profile设置为永不过期

将密码设置为永不过期后,可以通过前两步做校验,这里已经成功设置为永不过期

复制代码
SYS@oracle>alter profile DEFAULT_ABC limit password_life_time unlimited;
SYS@oracle>select username,expiry_date,profile from dba_users where username = 'ABC';
SYS@oracle>select * from dba_profiles s where s.profile = 'DEFAULT_ABC' and resource_name = 'PASSWORD_LIFE_TIME';

4.重置密码

如果你的密码已经过期了,那么需要你重新设置一下密码,无需重启数据库就会生效

复制代码
alter user ABC identified by ABC;

5.其余相关命令

创建profile并设置过期时间30天

复制代码
create profile default_ABC limit password_life_time 30;

创建profile并设置永不过期

复制代码
create profile default_ABC limit password_life_time unlimited

为用户指定profile归属

复制代码
alter user ABC profile default_ABC
相关推荐
TDengine (老段)28 分钟前
TDengine 数学函数 PI 用户手册
大数据·数据库·时序数据库·iot·tdengine·涛思数据
aristo_boyunv31 分钟前
Redis发布订阅【充当消息中间件】
数据库·redis·缓存
zz-zjx2 小时前
MySQL 开源主从复制实战指南(SRE 可靠性优先版)
数据库·mysql·开源
Microsoft Word8 小时前
向量数据库与RAG
数据库·人工智能·向量数据库·rag
艾德金的溪9 小时前
redis-7.4.6部署安装
前端·数据库·redis·缓存
小光学长9 小时前
基于Vue的2025年哈尔滨亚冬会志愿者管理系统5zqg6m36(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
我的offer在哪里10 小时前
Redis
数据库·redis·缓存
点灯小铭11 小时前
基于单片机的多模式自动洗衣机设计与实现
数据库·单片机·嵌入式硬件·毕业设计·课程设计
潜心编码11 小时前
基于python的仓库管理系统
数据库