登陆oracle11g
提示ERROR:ORA-28002: the password will expire within 1 days
告警信息:
ERROR: ORA-28002: the password will expire within 1 days
原因分析:
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”。
方案一
处理过程:
1、查看用户的proifle是那个,一般是default:
sql>SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密码有效期设置:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3、将密码有效期由默认的180天修改成“无限制”:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
4、修改后,还没有被提示ORA-28002警告的用户不会再碰到同样的提示;
已经被提示的用户必须再改一次密码,举例如下:
$sqlplus / as sysdba
sql> alter user wapgw identified by <原来的密码>
方案二
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
2. 将密码有效期由默认的180天修改成“无限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
3. 如果在安装后,没有执行第二步,密码过期后:
a.业务进程一旦重启会提示连接失败;
b.业务进程连接数据库异常,影响业务使用。
4. 解决方法:
执行1、2步;修改密码为原来的密码:
sql> alter user smsc identified by <原来的密码> ----不用换新密码