Oracle密码过期the password has expired

调试Web项目的时候出现异常:

java.sql.SQLException: ORA-28001: the password has expired
网上查了一下,是Oracle11g密码过期的原因

连接Oracle,以Oracle用户登陆,输入以下命令

select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
结果显示:

PROFILE
------------------------------------------------------------
RESOURCE_NAME
------------------------------------------------------------
RESOURCE_TYPE
----------------
LIMIT
------------------------------------------------------------

DEFAULT
PASSWORD_LIFE_TIME
PASSWORD
180

------------------------------------------------------------
结果显示密码有效期是180天

输入命令:

alter profile default  limit password_life_time unlimited;
commit;
再次执行:
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
结果显示为:
PROFILE
------------------------------------------------------------
RESOURCE_NAME
------------------------------------------------------------
RESOURCE_TYPE
----------------
LIMIT
------------------------------------------------------------

DEFAULT
PASSWORD_LIFE_TIME
PASSWORD
UNLIMITED
------------------------------------------------------------
进行以上步骤之后需要改变密码,否则还会出现password has expired异常

改变密码的命令

alter user XXXUSER identified by Welcome1;
如果账号被锁住,则需要解锁命令
alter user XXXUSER identified by oracle account unlock;
再次调试,问题解决






当出现 "the password has expired" 的错误提示时,表示Oracle数据库中的密码已经过期了。密码过期是为了增强数据库的安全性,强制用户定期更改密码。为了解决该问题,你可以按照以下步骤进行操作: 1. 打开命令提示符或者终端窗口。 2. 输入 `sqlplus` 命令并按回车键,以进入Oracle数据库的命令行界面。 3. 输入你的用户名和密码,并按回车键登录到数据库。如果你的密码过期,系统会提示你更改密码。 4. 输入以下命令来查看密码的有效期限: ``` SELECT * FROM dba_profiles WHERE profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME'; ``` 这将显示你当前密码的有效期限。默认情况下,密码的有效期限为180天。 如果你希望取消密码过期的限制,你可以执行以下操作: 1. 使用管理员权限登录到Oracle数据库。 2. 执行以下命令来修改默认配置文件中的密码有效期限: ``` ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; ``` 这将取消密码的有效期限限制,使密码永不过期。 另外,如果你通过Navicat连接Oracle数据库时出现 "not logged on" 的错误提示,可能是因为你的数据库账户被锁定了。你可以使用以下命令来解锁账户: ``` ALTER USER 用户名 IDENTIFIED BY 密码 ACCOUNT UNLOCK; ``` 请注意,上述命令中的 "用户名" 和 "密码" 需要替换为你实际使用的用户名和密码。 总结回答如下: 当出现 "the password has expired" 的错误提示时,表示Oracle数据库中的密码过期。你可以通过进入Oracle数据库命令行界面,输入用户名和密码登录,然后查看密码的有效期限。如果你想取消密码过期的限制,可以使用管理员权限登录到数据库并执行相应的命令来修改密码的有效期限。此外,如果你的数据库账户被锁定,可以使用相应的命令来解锁账户。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值