出现 ORA-28002 原因一般有两种可能:
一、由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。
二、由于oracle11g中默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS=10次”,当输入密码错误次数达到设置值将导致此问题。
注意:
先将过期的用户设置密码解锁否则要重启数据库!!!!!!!!!!
1、查询 用户的proifle是哪个:
SELECT username,PROFILE FROM dba_users;
2、查询 proifle 的 resource_name 中 PASSWORD_LIFE_TIME(时效) 和 FAILED_LOGIN_ATTEMPTS(登陆失败)的 limit 状态
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND (resource_name='FAILED_LOGIN_ATTEMPTS' or resource_name='PASSWORD_LIFE_TIME');
如果 limit 都是 UNLIMITED 则设置成功;
如果 limit PASSWORD_LIFE_TIME <> UNLIMITED 或者 FAILED_LOGIN_ATTEMPTS <>UNLIMITED 都会发生 ORA-28002 提示
3、设置永不过期
如 limit PASSWORD_LIFE_TIME <> UNLIMITED
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
如 limit FAILED_LOGIN_ATTEMPTS <> UNLIMITED
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
本文详细解析了ORA-28002错误的原因,主要涉及密码有效期和登录失败限制。提供步骤指导如何检查profile设置,解锁过期用户并永久取消这些限制,确保数据库正常运行。


被折叠的 条评论
为什么被折叠?



