如何编写 PL / SQL程序来计算和显示oracle 11g中所有数据库用户的用户名和平均会话时间?请帮助
答案 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应用程序将作为同一用户进行审计,因此您需要编写定制的日志记录工具。