我是靠谱客的博主 体贴斑马,最近开发中收集的这篇文章主要介绍mysql数据监控 触发器_简单利用触发器监控表记录的更改,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

监控数据库用户行为可以利用数据库审计,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;

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

最后

以上就是体贴斑马为你收集整理的mysql数据监控 触发器_简单利用触发器监控表记录的更改的全部内容,希望文章能够帮你解决mysql数据监控 触发器_简单利用触发器监控表记录的更改所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部