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
相关推荐
aigcapi4 分钟前
中转API哪家好?2026主流服务商横向测评+全场景选型指南
数据库·api
悟道|养家9 分钟前
批量处理与向量化计算(8)
数据库·oracle·性能优化
陈天伟教授11 分钟前
关系数据库-03. 关系的完整性-实体完整性
数据库·达梦数据库·国产数据库
什么都不会的Tristan16 分钟前
redis-原理篇-ZipList(压缩列表)
数据库·redis·缓存
木风小助理26 分钟前
PerconaXtraBackup工作原理深度解析
数据库
lkbhua莱克瓦2427 分钟前
进阶-锁章节
数据库·sql·mysql·oracle·存储过程·
山峰哥30 分钟前
JOIN - 多表关联的魔法——3000字实战指南
java·大数据·开发语言·数据库·sql·编辑器
IT大白30 分钟前
4、Redis核心原理
数据库·redis·缓存
wzy062332 分钟前
Redis 集群迁移方案:从三节点到三节点的无缝过渡
数据库·redis·缓存