找出谁删除了DB中的行

时间:2014-08-04 15:36:38

标签: java sql oracle

我们有一个带有大约4K表的Oracle数据库。大约30个不同的应用程序访问数据。我们遇到一个问题,其中一个应用程序正在删除其中一个表中的行。我们不知道哪个应用程序和原因。我想弄清楚,但是,首先想到的是当删除某些东西时使用触发器并记录它,但是,有没有办法找出哪个应用程序在oracle中删除了它?

由于

1 个答案:

答案 0 :(得分:0)

如果您不想进入自动或日志路由并且应用程序与v $ session不同,您可以通过调用

来设置应用程序的名称

dbms_application_info.set_client_info('my_application');

这会为会话设置v $ session.client_info,您可以通过

阅读
dbms_application_info.read_client_info(client_info out varchar2);.

然后您可以使用触发器并记录此值。