Oracle密码过期 ORA-28002:口令将过期 解决方法

 

登录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”是新设置的密码。

 

 

 

 
 
posted @ 2017-08-22 10:27  对我有点小自信  阅读(2582)  评论(0编辑  收藏  举报