概述
监控数据库用户行为可以利用数据库审计,LogMiner日志挖掘,触发器等手段,但前两者操作起来比较麻烦,利用触发器可简单的满足一些特殊的监控需求。 以下是利用触发器监控表记录被谁更改的例子: ---显示授权给所有用户查询这两个视图grant select on sys.v_
监控数据库用户行为可以利用数据库审计,LogMiner日志挖掘,触发器等手段,但前两者操作起来比较麻烦,利用触发器可简单的满足一些特殊的监控需求。
以下是利用触发器监控表记录被谁更改的例子:
---显示授权给所有用户查询这两个视图
grant select on sys.v_$session to public;
grant select on sys.v_$sqlarea to public;
---创建日志记录表
create table log_monitor_tab(sql_text varchar2(400),
username varchar2(30),
schemaname varchar2(30),
osuser varchar2(30),
ip_address varchar2(15),
machine varchar2(50),
program varchar2(50),
modifytime date);
----创建触发器
create or replace trigger tri_monitor_tab
before insert or update or delete
on table_name --填入相应的表名
for each row
begin
insert into log_monitor_tab
select sq.sql_text,
se.username,
se.schemaname,
se.osuser,
SYS_CONTEXT('USERENV', 'IP_ADDRESS'),
se.machine,
se.program,
sysdate
from v$sqlarea sq, v$session se
where sq.address = se.sql_address
and se.sid = userenv('sid');
end;
---查询日志表log_monitor_tab记录
select * from log_monitor_tab order by modifytime asc;
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
最后
以上就是体贴斑马为你收集整理的mysql数据监控 触发器_简单利用触发器监控表记录的更改的全部内容,希望文章能够帮你解决mysql数据监控 触发器_简单利用触发器监控表记录的更改所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复