ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 用触发器监控数据库的DDL操作

用触发器监控数据库的DDL操作

Linux操作系统 作者:千寻ccxx 时间:2016-11-30 17:21:11 0 删除 编辑

-- Create table
create table DDL_LOG
(
USER_NAME VARCHAR2(30),
DDL_DATE DATE,
DDL_TYPE VARCHAR2(30),
OBJECT_TYPE VARCHAR2(18),
OWNER VARCHAR2(30),
OBJECT_NAME VARCHAR2(128),
IP_ADDRESS VARCHAR2(40),
OSUSER VARCHAR2(30),
TERMINAL VARCHAR2(30)
);


--Create trigger
CREATE OR REPLACE TRIGGER ddl_trigger
AFTER DDL
ON DATABASE

BEGIN
INSERT INTO ddl_log
(user_name,
ddl_date,
ddl_type,
object_type,
owner,
object_name,
ip_address,
osuser,
terminal)
VALUES
(ora_login_user,
SYSDATE,
ora_sysevent,
ora_dict_obj_type,
ora_dict_obj_owner,
ora_dict_obj_name,
SYS_CONTEXT('USERENV', 'IP_ADDRESS'),
SYS_CONTEXT('USERENV', 'OS_USER'),
SYS_CONTEXT('USERENV', 'TERMINAL'));
END ddl_trigger;

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

请登录后发表评论 登录
全部评论

注册时间:2016-10-10

  • 博文量
    186
  • 访问量
    141030