我正在使用Oracle SQL Dev 2.1.1.64如何监视和记录所有SQL插入命令
我使用的是使用oracle数据库进行存储的应用程序。 SQL Dev中是否有任何方法?监视并记录从Web应用程序进入数据库的所有插入命令?你能告诉我该怎么做吗?
我正在使用Oracle SQL Dev 2.1.1.64如何监视和记录所有SQL插入命令
我使用的是使用oracle数据库进行存储的应用程序。 SQL Dev中是否有任何方法?监视并记录从Web应用程序进入数据库的所有插入命令?你能告诉我该怎么做吗?
您可以为要监视的表编写触发器。如果您是只有对来自Web应用程序的插入查询感兴趣,则可以检查触发器以查找访问表的某个特定用户名/架构,并将该用户名用作您的Web应用程序凭据。
或者,您也可以使用Oracle的AUDIT feature。它需要一点点的Oracle数据库管理知识来实现,虽然...
您可以查询v $ SQL,但您需要有相关的GRANTS才能让您执行此操作。
对于长时间运行的会话还可以监控使用V $ SESSION_LONGOPS
希望这可以帮助你进步。
audit insert table by <web-application-user> by access
应该让你开始。
请务必根据需要设置参数audit_trail
和audit_file_dest
。
之后,您可以在sys.aud$
或audit_file_dest
指定的目录中找到操作。
也有fine grained auditing
你可能会看看,但从你的问题来看,使用细粒度审计(FGA)似乎是矫枉过正。
创建写入数据时表中的变化发生在一个日志表的触发器(插入,更新,删除)。 删除之前,插入之后,更新后触发器是你想要的。
它不会专门记录Web应用程序,但如果您记录用户进行更改,您将能够在查看数据时对其进行过滤。