以下的文章主要是介绍Oracle用户被锁的原因以及实际解决办法,我前两天在相关网站看见Oracle用户被锁的原因以及实际解决办法的资料,觉得挺好,就拿出来供大家分享。希望在你今后的学习中会有所帮助。

在登陆时被告知test用户被锁

1、用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间

    SQL>altersessionsetnls_date_format='yyyy-mm-ddhh24:mi:ss'; Sessionaltered.

2、查看具体的被锁时间

    SQL>selectusername,lock_datefromdba_userswhereusername='TEST'; USERNAMELOCK_DATE TEST2009-03-1008:51:03

3、解锁

    SQL>alterusertestaccountunlock; Useraltered.

4、查看是那个ip造成的test用户被锁

查看$ORACLE_HOME/network/admin/log/listener.log日志

10-MAR-2009 08:51:03 * (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=omstestdb)(USER=oraoms))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49434)) * establish * lhoms * 0

10-MAR-2009 08:51:03 * (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=omstestdb)(USER=oraoms))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49435)) * establish * lhoms * 0

这样可知是上面10.69.1.11的ip尝试多次失败登陆造成的被锁

注:

一般数据库默认是10次尝试失败后锁住用户

1、查看FAILED_LOGIN_ATTEMPTS的值

    select*fromdba_profiles

2、修改为30次

    alterprofiledefaultlimitFAILED_LOGIN_ATTEMPTS30;

3、修改为无限次(为安全起见,不建议使用)

    alterprofiledefaultlimitFAILED_LOGIN_ATTEMPTSunlimited;

上述的相关内容就是对Oracle用户被锁原因及办法的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

    Oracle 11g R2数据卫士的增强特性表现Oracle提高SQL的执行效率的3种好用方法Oracle临时表用法的经验心得Oracle修改字段类型2种方案介绍Oracle数据库的启用与关闭的归档模式