文章摘要
文章介绍了在Oracle数据库中遇到的错误提示“ORA-28001:口令已失效”,并提供了两种解决方法。错误原因在于用户创建时默认的密码有效期为180天,当密码过期且未修改时,用户将无法登录数据库。
**解决方法:**
1. **修改用户密码:**
在密码将要过期或已经过期时,建议用户及时修改密码。这样用户可以继续正常连接数据库。
2. **调整默认密码有效期:**
尽管不建议直接修改默认密码的有效期,但可以将默认密码的有效期设置为“无限制”。这样可以避免密码过期导致的问题,但需注意数据库安全性。
具体操作步骤包括通过`sqlplus`命令登录数据库,查看用户的密码信息,修改密码或调整默认设置。修改密码后,用户将不会再收到该提示,而已经被提示的用户需要再次修改密码以避免重复问题。
目录一、链接Oracle报错 :ORA-28001:口令已失效二、查看数据库密码默认有效期:三、解决方式一:修改用户密码四、解决方式二:修改默认有效期总结
解决办法
原因:Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录
解决方式:
方式一: 在密码将要过期或已经过期时进行修改密码,密码修改后该用户可正常连接数据库方式二: 将口令有效期默认值180天修改为“无限制”。但是出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED
登录Oracle,在CMD命令窗口中输入:
sqlplus scott/tiger@orcl as sysdba;
查看用户的proifle是哪个,一般是default
select username,PROFILE FROM dba_users;

查看对应的概要文件(如default)的密码有效期设置:
SELECT * FROM dba_profiles s WHERE s.profile=’DEFAULT’ AND resource_name=’PASSWORD_LIFE_TIME’;

alter user 用户名 identified by 新密码;

将概要文件(如default)的密码有效期由默认的180天修改成“无限制”,修改之后不需要重启动数据库,会立即生效
alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改后,还没有被提示ORA-28002警告的用户账号不会再碰到同样的提示;而已经被提示的用户账号必须再改一次密码
alter user 用户名 identified by <原来的密码> account unlock; //可以不用换密码
到此这篇关于Oracle报错:ORA-28001:口令已失效的文章就介绍到这了,更多相关Oracle ORA-28001:口令已失效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
© 版权声明
文章版权归作者所有,未经允许请勿转载。