计算oracle用户的平均会话时间

时间:2011-10-09 00:31:13

标签: oracle oracle11g audit-trail

如何编写 PL / SQL程序来计算和显示oracle 11g中所有数据库用户的用户名和平均会话时间?请帮助

1 个答案:

答案 0 :(得分:4)

默认情况下,Oracle不会审核用户访问等内容。有内置选项,但默认情况下它们已关闭。

要启用Oracle的审计跟踪,我们需要设置AUDIT_TRAIL参数。将其设置为DB以将记录写入表中;查询比操作系统文件更方便(除非你的grep比你的SQL更好)。 Find out more

要监控用户连接和断开连接,请让DBA发出以下声明:

AUDIT SESSION;

然后,您可以在DBA_AUDIT_SESSION视图中写下您的查询。类似的东西:

select USERNAME
       , avg(LOGOFF_TIME - TIMESTAMP)
from DBA_AUDIT_SESSION
group by USERNAME;

请注意,此操作已启用;如果您拥有使用Old Skool命名用户帐户的应用程序,则会为您提供有意义的信息。具有连接池的Web应用程序将作为同一用户进行审计,因此您需要编写定制的日志记录工具。