ORA-28001: the password has expired
oracle 密码过期
Oracle11g 新特性之一是用户的密码必须 180 天更新一次,否则会出现无法连接数据库的现
象,为减少由此带来的影响,修改密码策略为无时间限制
使用 sqlplus 连接到数据库(必须是 sysdba 或 system 用户),查询当前策略
# 进入数据库
[oracle@host01 ~]$ sqlplus / as sysdba
# 启动数据库
SQL> startup;
# 查看密码的有效天数
SQL> SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD
180
# 修改此策略,更改profile为不限制时间,永久生效
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
# 设置之后还需要修改一次密码,否则还会出现password has expired异常
SQL> alter user 用户名 identified by 密码;
User altered.
# 提示用户被锁后,需要解锁用户
SQL> alter user 用户名 account unlock;