今天链接Oracle12c的测试库时 数据库提示

OCI_SUCCESS_WITH_INFO: ORA-28002: the password will expire within 7 days

提示密码快过期了,由于需要连接的是测试数据库,所以决定将密码设置成永不过期。

远程登录oracle数据库

sqlplus sys/sys_password@192.168.0.253:1522/orclshop as sysdba

1.查看用户的profile设置:

SELECT username,profile FROM dba_users;

一般用户的profile设置都为DEFAULT。

2.查看系统profiles中PASSWORD_LIFE_TIME设置。

SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

PROFILE RESOURCE_NAME RESOURCE LIMIT


DEFAULT PASSWORD_LIFE_TIME PASSWORD 180dys

3.修改DBA_PROFILES中PASSWORD_LIFE_TIM的设置,改为ULIMITED。

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改后设置立即生效,不需要重启数据库,此时密码永远不会过期。

4.已经被报告了密码快要过期的账户必须再改一次密码(需要DBA权限)

以我的测试账户c##shopdb用户为例

sqlplus / as sysdba
#alter user c##shopdb identified by password;
alter user c##shopdb identified by <原来的密码> ----不用换新密码 如alter user c##shopdb identified by 123456;
User altered.

再连接数据再也不会出现密码过期的事情了。