Oracle 审计:为什么登录少于注销的 0.1%?

RGO*_*RGO 5 oracle audit oracle-9i

我在数据库中通过清理看到以下数量的登录、注销和注销:

SQL> select action_name, count(*) qty
from Dba_audit_session
group by action_name
order by 1;  2    3    4

ACTION_NAME                        QTY
--------------------------- ----------
LOGOFF                         1946180
LOGOFF BY CLEANUP               754683
LOGON                             1026
Run Code Online (Sandbox Code Playgroud)

登录少于注销的 0.1% 是没有意义的。

任何想法为什么?

ato*_*pas 4

这可能取决于您是否使用连接池

另外,您是否意识到会话的登录和注销记录在同一审核行中?因此,这里的 LOGON 显示目前仍有多少人登录。

考虑以下场景。

SQL> select ACTION_NAME, username, count(*) from dba_audit_session group by action_name, username;
Run Code Online (Sandbox Code Playgroud)

当您第一次运行时,它会显示 LOGON 1。

在不注销的情况下,尝试以与之前连接的用户相同的用户身份进行连接。

SQL> select ACTION_NAME, username, count(*) from dba_audit_session group by action_name, username;
Run Code Online (Sandbox Code Playgroud)

现在,它显示 LOGON 1 和 LOGOFF 1。

SQL> select ACTION_NAME, username, count(*) from dba_audit_session group by action_name, username;
Run Code Online (Sandbox Code Playgroud)

现在,它显示 LOGON 1 和 LOGOOFF 2。

每次您都会看到当前登录的会话数为“登录”,完成的会话数(不断增加)为“注销”。