创建的一个用户smsdb ,查看状态LOCKED(TIMED)
解锁后,conn smsdb/password 仍然报错,然后又被锁 ;最后发现是错误登陆次数达到Oracle限制的10次;导致后续无法登陆操作。网上找的解决方法如下:
看看dba_users中该用户的状态等信息
SQL>select account_status,lock_date,profile from dba_users where username='SMSDB';
发现昨天才锁定的,帐号状态为“LOCKED(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 smsdb/smsdb
就可以正常登录了。