如何监视和记录所有SQL插入命令

时间:2011-02-17 11:05:44

标签: sql database oracle

我正在使用Oracle SQL Dev 2.1.1.64

我使用oracle数据库进行存储的应用程序。 SQL Dev中有什么办法吗?监视并记录从Web应用程序“进入”数据库的所有插入命令?你能告诉我怎么做吗?

4 个答案:

答案 0 :(得分:4)

audit insert table by <web-application-user> by access

应该让你入门。

请务必根据需要设置参数audit_trailaudit_file_dest

之后,您可以在sys.aud$audit_file_dest指定的目录中找到操作。

您可以查看fine grained auditing,但从您的问题来看,使用细粒度审核(FGA)似乎有点矫枉过正。

答案 1 :(得分:1)

您可以为要监视的表编写触发器。如果您 对来自Web应用程序的插入查询感兴趣,您可以检查触发器以获取访问该表的某些特定用户名/模式,并使用该用户名作为您的Web应用程序凭据。

或者您也可以使用Oracle的AUDIT feature。它需要一些Oracle数据库管理知识才能实现......

答案 2 :(得分:1)

您可以查询v $ SQL,但是您需要具有相关的GRANTS才能执行此操作。

对于长时间运行的会话,您还可以使用v $ session_longops

监控进度

希望这会对你有所帮助。

答案 3 :(得分:0)

创建一个触发器,只要表中的数据发生更改(插入,更新,删除),该触发器就会写入日记表。 在删除之前,插入之后,更新触发器就是你想要的。

它不会专门记录Web应用程序,但是如果您记录进行更改的用户,您将能够在查看数据时对其进行过滤。