原文:http://fanqiang.chinaunix.net/db/oracle/2005-07-20/3450.shtml

解决方案 »

  1.   

    我做的例子很简单: 不过只要登陆时才能读到IP地址:
    (有DBA权限能建这个trigger,到底是哪个权限没搞清,无所谓了)
    create or replace trigger ex_audit_db_logon
    after logon on database
    declarebegin
    insert into term.auditresult(timekey, content) 
    values(current_timestamp(3), ora_login_user || '[' ||ora_client_ip_address|| ']' || ' Logon');
    end;
      

  2.   

    谢谢你给我的方法 ,虽然我没用,但得到了很多启示,现在我自己写了个方法...
    基本上是配合logon时取得的ora_login_user ,ora_client_ip_address和时间,去v$session里得到该client的信息. (我只想监测别人用pl/sql dev, toad, sql*plus等工具去恶意搞DB; 是企业的应用程序去更新DB就不监测了, 因为应用程序自己有LOG)