java.sql.SQLException: ORA-28001: the password has expired。

时间:2023-03-08 23:44:56
java.sql.SQLException: ORA-28001: the password has expired。

java.sql.SQLException: ORA-28001: the password has expired。

Oracle11g的密码过期。

原因:是由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。

2、解决办法:

以管理员身份登录:
C:\>sqlplus / as sysdba

查看指定概要文件(如default)的密码有效期设置:
SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';

PROFILE
------------------------------------------------------------
RESOURCE_NAME
------------------------------------------------------------
RESOURCE_TYPE
----------------
LIMIT
------------------------------------------------------------

DEFAULT
PASSWORD_LIFE_TIME
PASSWORD
180

------------------------------------------------------------

可以看到,默认的密码有效期是180天。

执行如下操作,修改成无限期的:
SQL> alter profile default  limit password_life_time unlimited;
SQL> commit;

再次执行查看:
SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='PASSW
ORD_LIFE_TIME';

PROFILE
------------------------------------------------------------
RESOURCE_NAME
------------------------------------------------------------
RESOURCE_TYPE
----------------
LIMIT
------------------------------------------------------------

DEFAULT
PASSWORD_LIFE_TIME
PASSWORD
UNLIMITED
------------------------------------------------------------

会看到,LIMIT的取值是“UNLIMITED”。

然后重新设置账号即可。

SQL命令是:
SQL> alter user mytable identified by 123456;

如果用户账号被锁住,则解锁命令是:

sql> alter user mytable identified by oracle account unlock;

3、密码重设启用后,UCM正常启动。
   需要注意的是,UCM_OCS用户的密码,重设时需要跟原来一样。否则UCM的IDC服务无法启动。