在Oracle中,如何查询密码输入错误的登陆用户?

0    418    3

👉 本文共约1630个字,系统预计阅读时间或需7分钟。

DBA_PROFILES

Oracle用户的状态是由密码来决定的,而Oracle中的密码是由PROFILE来配置的。PROFILE是口令限制、资源限制的命令集合。当建立数据库时,Oracle会自动建立名称为DEFAULT的PROFILE。当创建用户而没有指定PROFILE选项时,Oracle就会将DEFAULT分配给用户。

通过如下的命令可以查出与密码相关的PROFILE的值:

每个参数的含义如下所示:

  • FAILED_LOGIN_ATTEMPTS 设定登录到Oracle数据库时可以失败的次数。一旦某用户尝试登录数据库的次数达到该值时,该用户的帐户就被锁定,只能由DBA解锁。

  • PASSWORD_LIFE_TIME 设定口令的有效时间(天数),一旦超过这一时间,必须重新设口令。缺省为UNLIMITED。

  • PASSWORD_REUSE_TIME 许多系统不许用户重新启用过去用过的口令。该资源项设定了一个失效口令要经过多少天,用户才可以重新使用该口令,缺省为180天。

  • PASSWORD_REUSE_MAX 重新启用一个先前用过的口令前必须对该口令进行重新设置的次数(重复用的次数)。

  • PASSWORD_LOCK_TIME 设定帐户被锁定的天数(当登录失败达到FAILED_LOGIN_ATTEMPTS时)。

  • PASSWORD_GRACE_TIME 设定在口令失效前,给予的重新设置该口令的宽限天数。当口令失效之后,在登录时会出现警告信息显示该天数。如果没有在宽限天内修改口令,那么口令将失效。该参数默认为7天。

  • PASSWORD_VERITY_FUNCTION 该资源项允许调用一个PL/SQL来验证口令。Oracle已提供该应用的脚本,为$ORACLE_HOME/rdbms/admin/utlpwdmg.sql。但是,用户可以制定自己的验证脚本。该参数的设定就是PL/SQL函数的名称,缺省为NULL。

密码输入错误记录

问题、若用户LHRSYS登录失败,则从哪个视图可以获取登录失败的次数?

答案:若某个用户登录数据库失败,则基表USER$的列LCOUNT加1。只要成功登录后,LCOUNT的值就会置0。另外,审计表(SYS.AUD$或DBA_AUDIT_TRAIL)也记录了登陆失败的信息,其RETURNCODE列的值为1017,如下所示:

ORA-28000: the account is locked

设定登录到Oracle数据库时可以失败的次数。一旦某用户尝试登录数据库的次数达到FAILED_LOGIN_ATTEMPTS时,该用户的帐户就被锁定,只能由DBA解锁。一般数据库默认是10次尝试失败后锁住用户。

解锁的SQL如下:

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

另外可以修改FAILED_LOGIN_ATTEMPTS的值:

参考

Oracle用户的状态有几种?分别表示什么含义?

在Oracle中,若用户LHRSYS登录失败,则从哪个视图可以获取登录失败的次数?

在Oracle中,哪个参数控制密码的大小写敏感性?

在Oracle中,密码延迟验证是什么?如何屏蔽?

    头像

    小麦苗

    学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

    您可能还喜欢...

    发表评论

    您的电子邮箱地址不会被公开。

    5 − 3 =

     

    嘿,我是小麦,需要帮助随时找我哦
    • 18509239930
    • 个人微信

    • 麦老师QQ聊天
    • 个人邮箱
    • 点击加入QQ群
    • 个人微店

    • 回到顶部
    返回顶部