(摘)DML 语句的监控

网上找到的,记下来备用。

CREATE OR REPLACE TRIGGER trg_trace_ddl
/*
created by wangfanggen on 2005-09-05
It is traced to drop tables on the database.
when any objects had droped,the table of t_ddl_trace have recorded the detail of drop.

*/

/*

log table script.

create table t_ddl_trace
(login_user varchar2(30),
ddl_time date,
ip_address varchar2(30),
audsid varchar2(30),
TERMINAL varchar2(100),
OS_USER varchAR2(100),
SESSION_USER VARCHAR2(100),
schema_user varchar2(100),
schema_object varchar2(200),
ddl_sql varchar2(4000))
tablespace users;

*/

AFTER alter or create or drop or truncate on database
DECLARE
sql_text ora_name_list_t;
state_sql t_ddl_trace.ddl_sql%TYPE;
BEGIN
FOR i IN 1 .. ora_sql_txt(sql_text) LOOP
state_sql := state_sql || sql_text(i);
END LOOP;
INSERT INTO t_ddl_trace
(login_user,
ddl_time,
ip_address,
audsid,
TERMINAL,
OS_USER,
SESSION_USER,
schema_user,
schema_object,
ddl_sql)
VALUES
(ora_login_user,
SYSDATE,
sys_context('USERENV', 'IP_ADDRESS'),
userenv('SESSIONID'),
SYS_CONTEXT('USERENV', 'TERMINAL'),
SYS_CONTEXT('USERENV', 'OS_USER'),
SYS_CONTEXT('USERENV', 'SESSION_USER'),
ora_dict_obj_owner,
ora_dict_obj_name,
state_sql);
EXCEPTION
WHEN OTHERS THEN
null;
END trg_trace_ddl;

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7425608/viewspace-890858/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7425608/viewspace-890858/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值