oracle ip 执行了sql,谁能帮帮忙哇 ~如何监控某个ip执行的所有sql语句 |
您所在的位置:网站首页 › oracle监控执行了哪些语句 › oracle ip 执行了sql,谁能帮帮忙哇 ~如何监控某个ip执行的所有sql语句 |
我定义了一个触发器 CREATE OR REPLACE TRIGGER LOGON_HISTORY AFTER LOGON ON DATABASE --WHEN (USER='EQSP') --ONLY FOR USER 'EQSP' declare m_path varchar2(200); v_sql varchar2(50); client_ip varchar2(20); v_pkid number(10); BEGIN IF userenv('sessionid')!=0 THEN select SYS_CONTEXT('USERENV','IP_ADDRESS') into client_ip from dual; if client_ip = '10.10.3.99' then begin insert into session_history select session_history_id.nextval pkid, username,sid,AUDSID,OSUSER,ACTION,SYSDATE,null,SYS_CONTEXT('USERENV','IP_ADDRESS'),TERMINAL,PROGRAM,null from v$session s where audsid = userenv( 'sessionid' ) and s.USERNAME NOT IN ('SYSTEM','SYS') AND S.USERNAME IS NOT NULL; select session_history_id.currval into v_pkid from dual; select rtrim(c.value, '/') || '/' || d.instance_name || '_ora_' ||ltrim(to_char(a.spid)) || '.trc' into m_path from sys.v_$process a, sys.v_$session b, sys.v_$parameter c, sys.v_$instance d where a.addr = b.paddr and b.audsid = sys_context('userenv', 'sessionid') and c.name = 'user_dump_dest'; update session_history set path=m_path where pkid=v_pkid; commit; EXECUTE IMMEDIATE 'Alter session set tracefile_identifier =''miniyal'''; EXECUTE IMMEDIATE 'alter session set timed_statistics=true'; EXECUTE IMMEDIATE 'alter session set sql_trace = true' ; end; else null; end if; else null; end if; END; 客户端 ip是通过pl/sql登录的 在指定路径下没找到trace文件 是不是触发器的session 和 pl/sql登录进去的session 不是同一个? |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |