请教各位大虾, 我想对Oracle数据库做一个跟踪详细如下:
 1、跟踪每一个用户的登陆情况(如:登陆帐号,机器名,登陆日期,登陆时间);
 2、跟踪每一个用户的操作(如:对哪一张表,执行select,update,insert,delete,truncate等操作);
 3、跟踪每一个用户的执行语句(如:如果执行insert操作,要记录该insert的SQL语句);将以上操作,写在一张数据表里。
谢谢指教。

解决方案 »

  1.   

    1:建立系统触发器
    参考:http://blog.csdn.net/47522341/archive/2008/03/20/2200188.aspx2,3的话,可能实现起来比较复杂,(1)每张表加触发器,不太现实(2)跟踪用户SESSION,不能完全达成你要的效果,比较繁杂(3)审计
      

  2.   

    像dml还好办,trigger就可以了,如果是select ,那只能audit了。trace当然你也可以考虑使用一下。
      

  3.   

    如果是C/S客户端,如使用PL/SQL developer或sqlplus等工具登录数据库,
    则可以使用登录建立系统触发器和审计功能进行审计。如果想对WEB应用的连接进行审计,因为都用同一ORACLE用户
    操作并且客户端为中间层服务器,无法区分。所以建议自己在应
    用端编写代码进行处理。