登录Pl/sql或导出数据时,得到的提示信息:
UDE-28002: 操作产生了 Oracle 错误 28002
ORA-28002: the password will expire within 7 days
原因:oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180”所导致,oracle用户的密码必须在180天内更改,否则启动数据库的时候会提示连接失败.
解决办法
使用具有管理权限的用户登录
1、查看用户的proifle是哪个,一般是default:
SELECT username,PROFILE FROM dba_users;
一般都是默认的default
2、查看指定概要文件(如default)的密码有效期设置:
sql>
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
没改之前,这个位置是“180”
或者:
sql>
SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME';
3、将密码有效期由默认的180天修改成“无限制”:
sql>
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
直接执行即可
注:修改之后不需要重启动数据库,会立即生效
4、注意:如果该数据库尚未提示“ORA 28002”,那么到上一步就可以了,以后也不会再提示。
但是,如果数据库已经提示“ORA 28002”,现在需要给数据库重新设置一下密码,可以使用原来的密码,修改了密码之后就以后就不会再提示“ora 28002”了。
使用如下sql更改密码。
alter user FYGAS72 identified by FYGAS72;
第一个“FYGAS72”是数据库用户名,第二个“FYGAS72”是新设置的密码。