出现Oracle 11g 用户名密码过期问题,处理方式如下:
1:先登陆控制台进行验证,weblogic自带的JDBC测试,可以验证数据库连通性。同时应用日志应该会出现ORA-28002的密码过期的错误提示。
2:也可以登陆数据库,使用原始用户进行连接尝试conn username/MIMA . 也会出现ORA-28002的密码过期提示。
具体操作如下:
Oracle 11g默认存在密码180天过期的策略,需要如下修改,在一台节点做就行,不用重启,立即生效
如下操作都要使用数据库管理员帐户进行操作。
#1:查询确认策略,如果出现180天字样,表示存在默认配置:(也可以使用dba_users试图查看)
sqlplus / as sysdba
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
#2:修改配置策略
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
修改后执行上述查询操作,验证,结果为UNLIMITED 尽可。
3:重置密码(如果是oracle11g必须要找到原始密码)
alter user cyjygk3 identified by 原始密码; 如果密码中存在特殊字符,需要用""引起来。
修改完成后,进行验证。
如果weblogic配置了数据库重连机制,理论上不需要重启节点即可恢复。如果没有配置重连策略,必须重启服务。