Oracle 用户密码过期

version : 11.2.0.2
OS : SUSE Linux Enterprise Server 11 (x86_64)

1.查看用户的profile文件

SQL> SELECT USERNAME,LOCK_DATE,EXPIRY_DATE,ACCOUNT_STATUS,PROFILE FROM DBA_USERS;

USERNAME		       LOCK_DATE       EXPIRY_DATE     ACCOUNT_STATUS			PROFILE
------------------------------ --------------- --------------- -------------------------------- ------------------------------
WNMSAPSR3						       EXPIRED				DEFAULT
SYS							       OPEN				DEFAULT
SYSTEM							       OPEN				DEFAULT

2.查看对应的 PROFILE 的密码有效期设置

用户使用的时默认的 profile 名为DEFAULT,默认密码的有效期为180天:

SQL> SELECT * FROM DBA_PROFILES WHERE PROFILE='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME';

PROFILE 		       RESOURCE_NAME			RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT 		       PASSWORD_LIFE_TIME		PASSWORD 180

在用户密码过期前几天,该用户在链接数据库时收到:ORA-28002。此时可修改该用户的密码或者将该用户使用的PROFILES 设置为不过期。

3.将密码有效期从默认值的 180 天修改成 UNLIMITED (出于安全性考虑,生产环境不建议设置成 UNLIMITED,此处修改为测试环境,懒得经常改密码了)

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

SQL> SELECT * FROM DBA_PROFILES WHERE PROFILE='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME';

PROFILE 		       RESOURCE_NAME			RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT 		       PASSWORD_LIFE_TIME		PASSWORD UNLIMITED

在修改 PASSWORD_LIFE_TIME 值之前密码已经过期的用户,需要重新修改一次密码后才能使用。

SQL> alter user WNMSAPSR3 identified by wnm123;
posted @ 2022-06-09 22:03  Coye  阅读(202)  评论(0编辑  收藏  举报