Oracle报错,ORA-28001: 口令已经失效(转自网络)
错误信息:ORA-28001: the password has expired解决方法
Oracle11G创建用户时缺省password过期限制是180天(即6个月)。 假设超过180天用户password未做改动则该用户无法登录。 Oracle公司是为了数据库的安全性默认在11G中引入了这个默认功能。可是这个默认的功能非常easy被DBA或者是开发者给疏忽,一旦password180天未改动过,就会出现这种问题。
解决方法可通过例如以下SQL语句
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'
查询password的有效期设置,LIMIT字段是password有效天数。
在password将要过期或已经过期时可通过例如以下语句进行改动password,password改动后该用户可正常连接数据库。
ALTER USER username IDENTIFIED BY password ;
假设想去除180天的password生存周期的限制可通过例如以下SQL语句将其关闭
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED
如上SQL语句将口令有效期默认值180天改动成了“无限制”。
可是出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED