DDL触发器

原创 2012年03月29日 15:36:37

1. Create the follow table to record the trace:

CREATE TABLE SYS.DDL$TRACE
(
  LOGIN_USER     VARCHAR2(50 BYTE),
  DDL_TIME       DATE,
  IP_ADDRESS     VARCHAR2(50 BYTE),
  AUDSID         VARCHAR2(50 BYTE),
  SCHEMA_USER    VARCHAR2(20 BYTE),
  SCHEMA_OBJECT  VARCHAR2(50 BYTE),
  DDL_SQL        VARCHAR2(4000 BYTE)
);


2. Create the trigger:

CREATE OR REPLACE TRIGGER SYS.TR_TRACE_DDL
AFTER DDL
ON DATABASE
DECLARE
   sql_text    ora_name_list_t;
   state_sql   ddl$trace.ddl_sql%TYPE;
BEGIN
   FOR i IN 1 .. ora_sql_txt (sql_text)
   LOOP
      state_sql := state_sql || sql_text (i);
   END LOOP;
   INSERT INTO ddl$trace (login_user,
                          ddl_time,
                          ip_address,
                          audsid,
                          schema_user,
                          schema_object,
                          ddl_sql)
        VALUES (ora_login_user,
                SYSDATE,
                SYS_CONTEXT ('USERENV', 'IP_ADDRESS'),
                USERENV ('SESSIONID'),                
                Ora_Dict_Obj_Owner,
                Ora_Dict_Obj_Name,
                State_Sql);
END tr_trace_ddl;
/





用SQL Server 2005DDL触发器对数据库进行监控

以下的文章主要向大家讲述的是SQL Server 2005DDL触发器监控数据库的相关变化,添加,删除或是修改数据库的相关对象,一旦误操作,可能会导致大麻烦,需要一个数据库治理员或开发人员对相关可能受...

SQL Server DDL触发器运用

一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents)背景(Contexts)基础知识(Rudimentary Knowledge)DDL运用场景(DDL Scene)补...

Oracle使用触发器禁止远程DDL操作

SQL> grant select on v_$session to zhongwc; Grant succeeded. SQL> grant execute on dbms_system to ...

一个ORACLE的DDL触发器例子

一个ORACLE的DDL触发器例子 有时我们需要控制用户对表执行DDL操作,包括truncate等操作。为了达到灵活控制的目的,我们使用了DDL trigger。由于我们的系统每5分钟会检查al...
  • orion61
  • orion61
  • 2012年03月22日 17:23
  • 387

给大家分享好东西喽!DDL触发器,追踪存储过程定义语句变更日志,及当前版本与上一版本。

USE [MyTargetDB] GO /****** Object: DdlTrigger [DDL_PROCEDURE_TRIGGER_CREATE_ALTER_DROP] Script...
  • c_enhui
  • c_enhui
  • 2013年04月09日 09:45
  • 671

使用触发器和自治事务做了个DDL审计

目的:禁止对ZFPT用户的表执行ALTER TABLE的操作,并审计操作行为。 --创建ZFPTADM用户用于管理触发器 CREATE USER ZFPTADM IDENTIFIED BY ZFP...
  • mrluoe
  • mrluoe
  • 2012年04月28日 14:54
  • 505

oracle 系统的ddl触发器研究

可以使用两种方式来禁用掉某些schema下面的ddl操作 1、语句数据库级别的: CREATE OR REPLACE TRIGGER &trigger_name    BEFORE CREATE...

DDL触发器+CDC 查看sql 2008 数据库表的日志

一、触发器写法:IF EXISTS (SELECT * FROM sys.triggers WHERE parent_class_desc = 'DATABASE' AND name = N'DDL...

Oracle触发器3-DDL触发器

DDL触发器,当执行DDL语句时会被触发。按照作用范围,分为schema triggers,database triggers。schema triggers作用在一个用户上,database tri...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DDL触发器
举报原因:
原因补充:

(最多只允许输入30个字)