1、先看看问题,在连接数据库时,报了一个 ORA-28001:the password has expired 的错误。

2、我们先解决问题:
1. 登陆安装了该Oracle的数据库服务器(如果是本机,则跳过该步骤)
2. 打开命令行窗口(运行cmd),执行 sqlplus / as sysdba
3. 然后执行如下变更语句,并提交:
alter user 用户名 identified by 用户密码(此处写原始密码即可);
commit;


3、再次登陆数据库,这次就直接登陆成功了。

1、为啥数据库账号的密码会过期呢?因为我们数据库中是这么配置的,在上面登陆的命令行终端上执行如下查询语句:
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
我们会发现默认配置文件中(我们的账号通常都使用这个默认配置文件),数据库账号密码的期限为 180 天。

2、那我们就将这个期限修改为无限期吧,这样这个问题就不会发生了,执行如下变更语句,并提交:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;

3、再次查看我们默认的配置文件的密码过期策略,已变更为永不过期。
