我们先建立一个普通账号。

接着查看一下用户test1的默认登录限制,通过系统视图sysusers来进行查询,其对应字段分别为FAILED_NUM(用户登录失败次数限制值)FAILED_ATTEMPS(当前连续登录失败次数),由于sysusers中只有用户的ID字段,我们可以通过视图all_users或dba_users中的USER_ID字段查找到对应的USERNAME。

我们可以看到test1的用户默认的用户登录失败次数(FAILED_NUM)是3,当然你也可以改为5或是更大的次数,这个由你定。当前连续登录失败次数(FAILED_ATTEMPS)为0。我们尝试着错误登录一下。

再查看一下用户的登录限制信息

我们可以看到用户test1的failed_attemps值加1了,也就是登录失败了1次。
我们再继续登录失败到3次。

再继续尝试登录就会提示说

账户应该锁定了,我们继续尝试登录。发现用户没有锁定,输入正确密码后仍然可以正常登录,难道限制失效了?

查看PASSWORD_LOCK_TIME(锁定时间)

Lock_time数值为1 分钟。Lock_time取值区间1至1440,单位分钟。因为时间短,我们误以为没有锁定,其实是锁定了一分钟而已。现在我们把时间改长一些,改为10分钟。

再尝试登录失败超过3次数,用户test1就被锁定了。


用户账号将会被锁定10分钟。如果锁定时间太长,期间需要使用test1账号登录,可以使用SYSDBA用户对test1账号进行解锁。账号解锁后FAILED_ATTEMPS的值将会被重置为0,账号就可以继续登录了。


本文围绕数据库用户登录限制展开。先建立普通账号,通过系统视图查询用户test1默认登录限制,尝试错误登录,观察登录失败次数变化。发现登录失败达一定次数后,因锁定时间短易误判未锁定,调整锁定时间后可正常锁定账号,还介绍了使用SYSDBA用户解锁账号的方法。
1826

被折叠的 条评论
为什么被折叠?



