其中get_user_info.sql的脚本如下
$ more get_user_info.sql ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'; SELECT NAME , TYPE# , CTIME , PTIME , EXPTIME , LTIME , LCOUNT FROM user$ WHERE NAME=('&USER_NAME');
另外,我们来测试一下账号登录失败次数,在实验前先解锁账号,用错误的账号密码尝试登录数据库,你会发现LCOUNT就变成1了。
SQL> @get_user_info.sql Session altered. Enter value for user_name: TEST old 9: WHERE NAME=('&USER_NAME') new 9: WHERE NAME=('TEST') NAME TYPE# CTIME PTIME EXPTIME LTIME LCOUNT ------------------------------ ---------- ------------------- ------------------- ------------------- ------------------- ---------- TEST 1 2021-06-10 14:10:01 2021-06-10 14:10:50 2021-06-10 14:11:27 1 SQL>
那么这个LCOUNT字段的值是一直累加到超过阈值锁定呢?还是中间会清零呢?什么情况下会清零呢? 如果你使用正确的密码成功登录数据库后,你会发现LCOUNT的值就清零了。如下截图所示:
$ sqlplus /nolog SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jun 10 14:30:41 2021 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. SQL> connect TEST Enter password: Connected.
也就是说,只要你在锁定之前,一旦成功登录之后,该计数会被清零。在有些版本中,由于Bug,也会出现LCOUNT没有正确反映登录失败次数的情况,例如Lcount neither reset on correct login nor incremented after incorrect login thru JDBC (Doc ID 2675398.1)中记录了这样的Bug。另外,ORACLE 12C 后新增了一个功能,它会记录用户的最后一次登录时间:SPARE6字段记录用户的最后一次登录时间
参考资料:
https://www.eygle.com/archives/2009/07/profile_failed_login_attempts.html
https://dbaora.com/sys-user-table-in-oracle-last-password-change-time-last-locked-last-expired-creation-time-failed-logon/
Lcount neither reset on correct login nor incremented after incorrect login thru JDBC (Doc ID 2675398.1)
https://bijoos.com/oraclenotes/2013/153/
以上就是ORACLE如何查看当前账号的相关信息总结的详细内容,更多关于oracle查看当前账号信息的资料请关注其它相关文章!