Oracle使用触发器实现实时监控DDL操作

本文介绍了如何使用Oracle触发器实现实时监控DDL操作,包括创建DDL操作日志表,定义针对特定用户的触发器,并展示了触发器验证和结果查看的过程。
摘要由CSDN通过智能技术生成

说到触发器,它其实就是一种特殊的存储过程,存储过程是需要我们人为的执行,而触发器是通过一个“触发事件”来执行的,这个触发事件可以是行级触发事件、语句级触发事件、替换触发事件或者用户触发事件。

而这里我要讨论的是用户事件触发,顾名思义用户事件触发就是指当用户执行了DDL操作或者用户登录、登出操作时记录下这一行为。常见的用户触发事件操作包括:create、alter、drop、truncate、comment、rename、analyze、grant、revoke、logon、logoff

第一步:

创建一个DDL操作日志表,它包括操作对象名称、对象类型、操作行为、操作用户、操作时间。

create table DDL_LOG(
  db_obj_name varchar(20),
  db_obj_type varchar(20),
  oper_action varchar(20),
  oper_user   varchar(20),
  oper_date   date
);
COMMENT ON TABLE DDL_LOG IS 'DDL语句操作记录表';
COMMENT ON COLUMN DDL_LOG.db_obj_name is '数据对象名称';
COMMENT ON COLUMN DDL_LOG.db_obj_type is '对象类型';
COMMENT ON COLUMN DDL_LOG.oper_action is '具体操作sql';
COMMENT ON COLUMN DDL_LOG.oper_user is '操作用户';
COMMENT ON COLUMN DDL_LOG.oper_date is '操作时间';

第二步:

创建一个关于XXX用户的DDL操作的触发器。


                
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值