【故障】“ORACLE用户被锁定”故障处理和分析

【故障现象】
同事反映往日正常操作的数据库,现无法连接,错误提示:ORA-28000: the account is locked
sys@ora10g> conn sec/asdfasdf
ERROR:
ORA-28000: the account is locked

【故障处理】
本着遇到问题处理问题优先的态度,先解决问题,处理的方法是:手工对用户进行解锁
sys@ora10g> alter user sec account unlock;

User altered.

OK,到此,同事的日常工作可以得到继续,问题初步处理完成。

【深入挖掘原因】
根本原因是:因为反复使用错误的密码尝试连接数据库,超过了数据库默认的10次的尝试次数,导致用户被锁定
这样设计的原因:防止恶意的密码攻击

【根本解决方法】
毕竟系统允许的默认尝试次数10次有点太少,根本解决的方法是将允许尝试的次数改大或者设置成为无限次(如果是测试库的话,可以修改为无限次数)
具体修改方法是修改FAILED_LOGIN_ATTEMPTS的值
获得FAILED_LOGIN_ATTEMPTS当前值的方法是:
sys@ora10g> select * from dba_profiles where RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS';

PROFILE     RESOURCE_NAME           RESOURCE LIMIT
----------- ----------------------- -------- -------
DEFAULT     FAILED_LOGIN_ATTEMPTS   PASSWORD 10

修改FAILED_LOGIN_ATTEMPTS为1000的方法:
sys@ora10g> alter profile default limit failed_login_attempts 1000;

Profile altered.

sys@ora10g> select * from dba_profiles where RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS';

PROFILE     RESOURCE_NAME           RESOURCE LIMIT
----------- ----------------------- -------- -------
DEFAULT     FAILED_LOGIN_ATTEMPTS   PASSWORD 1000

修改为无限次尝试的方法:
sys@ora10g> alter profile default limit failed_login_attempts unlimited;

Profile altered.

sys@ora10g> select * from dba_profiles where RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS';

PROFILE     RESOURCE_NAME           RESOURCE LIMIT
----------- ----------------------- -------- ---------
DEFAULT     FAILED_LOGIN_ATTEMPTS   PASSWORD UNLIMITED

OK,到此,该问题得到了完满的解决。

-- The End --

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/519536/viewspace-608769/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/519536/viewspace-608769/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值