ORA-28002错误原因及解决办法
在oracle database 11g中,默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。密码过期后,业务进程连接数据库异常,影响业务使用。数据库密码过期后,业务进程一旦重启会提示连接失败。注:Oracle 11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以下方式进行修改:
1.查看用户的proifle是哪个(一般是default):
SQL> select username,profile from dba_users where username='user_name';
2.查看概要文件密码有效期设置:
SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
3.如果密码有效期被设置为180天,那么将需要进行如下修改:
SQL> alter profile default limit password_life_time unlimited;
修改后不需要重启数据库,修改将立即生效。
注意:修改后,还没有被提示ORA-28002警告的账户不会再碰到同样的问题,已经被提示的用户仍需要再修改一次密码,方法如下:
SQL> alter user user_name identified by password; --这里的password使用原来的密码即可
一个特殊的ora-28002错误:
注意到SQL语句中包含dblink(红框部分),故将dblink所属的用户的密码重置即可。
SQL> alter profile default limit password_life_time unlimited; SQL> alter user dblinkusr identified by efutureone;