Oracle里面的用户user无法登录 LOCKED(TIMED)

Oracle里面的用户user无法登录 LOCKED(TIMED)

3541发表于2017-05-25

今天项目在idea里面重启之后突然就不能启动不起来了,看日志发现是Oracle的用户被locked锁住了。锁了当然要解锁啦,最后发现是自己把数据库链接的用户名密码不小心输错了。

以下解决方案,在此记录一下方便以后查询。

一、查看原因

SQL>conn test/test

还是报同样的错误,这就奇怪了。看看dba_users中该用户的状态等信息
SQL>select account_status,lock_date,profile from dba_users where username='TEST';
发现就是今天才锁定的,帐号状态为“LOCKED(TIMED)”,不明白这个TIMED什么意思,搜了一把,原来是密码错误次数超过了系统设置的允许最大次数。
查看现在设置的最大次数
SELECT resource_name,resource_type,limit FROM dba_profiles WHERE profile='DEFAULT';
找到
FAILED_LOGIN_ATTEMPTS            PASSWORD      10
也就是说,原来允许的最大密码错误次数为10次,超过10次自动锁定帐号。难怪我怎么alter unlock都没用,看来还得先把这限制放宽才行。

把限制参数 FAILED_LOGIN_ATTEMPTS 修改成:unlimited 

二、解决办法

sql> alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
或 修改成比较大次数:100000
sql>alter profile default limit FAILED_LOGIN_ATTEMPTS 100000;
再执行如下
SQL>alter user test account unlock;
SQL>conn test/test
这样不用重启数据库,也就可以正常登录了。


小编蓝狐