博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建DDL触发器捕捉schema所有对象改变的记录
阅读量:7291 次
发布时间:2019-06-30

本文共 1257 字,大约阅读时间需要 4 分钟。

创建记录表
drop ddl_log_qiang purge;
create table ddl_log_qiang
(
operation   varchar2(50),                  什么操作
obj_owner   varchar2(50),                  所属用户
object_name varchar2(50),                  操作对象
attempt_dt  date                           发生时间
);

select * from ddl_log_qiang;

SQL> select * from ddl_log_qiang;
OPERATION             OBJ_OWNER             OBJECT_NAME                          ATTEMPT_DT
-------------------------------------------------------------------------- -------------------------------------------------- -----------
DROP                  SINOJFS               TEST1                                2013-6-28 1
CREATE                SINOJFS               TEST1                                2013-6-28 1
ALTER                 SINOJFS               TEST1                                2013-6-28 1
ALTER                 SINOJFS               MV_SINO_PERSON                       2013-6-29 1
ALTER                 SINOJFS               MV_SINO_PERSON_ADDRESS               2013-6-29 1
ALTER                 SINOJFS               MV_SINO_PERSON_EMPLOYMENT            2013-6-29 1
ALTER                 SINOJFS               MV_SINO_PERSON_CERTIFICATION         2013-6-29 1

删除触发器

drop tib_ddl_qiang;
创建DDL触发器
create or replace trigger tib_ddl_qiang
before create or drop or alter             在这三个操作之前插入表记录
on schema
declare
oper ddl_log_qiang.operation%type;
begin
insert into ddl_log_qiang select ora_sysevent,ora_dict_obj_owner,ora_dict_obj_name,sysdate from dual;
end;
/
注:触发器不能调用或者间接调用commit/rollback,触发器中的DML语句会与触发器一起作为一个整体事物,在触发器结束后会自动进行 。

测试

drop table test1 purge;
create table test1 (x int,y int);
alter table test1 add (z  int);

select * from ddl_log_qiang;

Leonarding

2013.07.03

北京&summer

分享~成就梦想

Blog
www.leonarding.com

转载地址:http://qorjm.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
Linux 笔记本有线网卡的一个问题
查看>>
真是佩服自己
查看>>
emacs笔记
查看>>
MYSQL5.1双向主从部署
查看>>
jquery.cookie详解
查看>>
The model used to open the store is incompatible with the one used to create the store
查看>>
.BAT 禁用 Windows update Services
查看>>
深入解读RabbitMQ工作原理及简单使用
查看>>
hadoop2.7.2集群搭建
查看>>
我的友情链接
查看>>
linux下配置ntp时间同步服务
查看>>
iOS 开发学习笔记 3
查看>>
写给C#初学者 之 c#简介
查看>>
Hyper-V的管理与使用之二:新建虚拟机
查看>>
[模块]psutil简介
查看>>
我的友情链接
查看>>
关闭selinux和防火墙开启状态增加3306端口
查看>>
Ruby Time And DateTime之Time in Core
查看>>
如何在Linux实现Subclipse访问svn+ssh协议的Repository
查看>>