在重启weblogic时,发现报错:Caused by: java.sql.SQLException: ORA-28001: the password has expired
导致此报错的原因是Oracle 11系统账号密码过期,其有180天的默认期限;
首先,查询所有过期的账号:
查询用户:SELECT * FROM DBA_USERS ;
这些默认的账号都是OPEN状态,说明没过期
若是过期了,会显示EXPIRED
此时,查询配置文件默认的过期时间
查询期限状态:
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
正常情况下limit会显示180,若是不想要过期期限,修改为无期
更改期限状态:alter profile default limit password_life_time unlimited;
然后,将DBA_USERS中系统账号全部修改密码,修改完密码,ACCOUNT_STATUS就会变为OPEN
更改用户密码:alter user PRD_IAU_APPEND identified by Xstore123;
如果账号被锁,用以下语句解锁
alter user XXX identified by oracle account unlock;
重启weblogic,成功!