分析原因:Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录。
解决方法:重置密码,并将缺省密码设置为永久
步骤一:登录服务器root用户
su - root
步骤二:切换到oracle用户
su - oracle
步骤三:切换到相关的数据库实例(数据库名称)
①查看当前登录实例
env | grep SID
②切换到需要的实例
export ORACLE_SID=newpm
步骤四:切换到sqlplus的sysdba用户
sqlplus / as sysdba
步骤五:查看用户缺省密码时限
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
步骤六:设置用户密码为时限为unlimited
alter profile default limit password_life_time unlimited;
步骤七:更改用户密码(此时不改密码不生效,还会报ORA-28001错误)然后执行commit
//密码可与之前密码一样
ALTER USER 用户名 IDENTIFIED BY 密码;
commit;