Oracle中的System Triggers(DDL触发器)ITeye - 牛牛娱乐

Oracle中的System Triggers(DDL触发器)ITeye

2019年03月30日09时36分52秒 | 作者: 紫安 | 标签: 触发,触发器,数据库 | 浏览: 1954

这算是比较偏门的常识了,但是有许多实际意义,能够协助DBA完结一些日常的管理工作,比方能够禁用一些用户的功用(制止用户修正或许删去某一个表,约束IP登陆等)。

概述

Oracle数据库中的System Trigger能够建立在Schema(在某些DDL句子履行的时分触发)或许Database(主要在体系层面触发,比方说登陆或许发作某些体系等级的报错)。

SCHEMA trigger:

创建于某一个schema上面,而且经由某些DDL句子触发履行。详细看下文链接更多的DDL event。

Database trigger:

数据库触发器根据数据库之上,由某些数据库等级的事情触发。详细看下文链接更多的Database event。

触发形式

与DML触发器相同,有两种触发形式

before:在句子履行前触发

after:在句子履行后触发

这个就不必细说了。

简略示例

约束IP登陆

安排IP为192.168.100.71的机器宣布的衔接恳求。

create or replace trigger limit_ip

AFTERLOGON on database

begin

ifSYS_CONTEXT(USERENV, ip_address) = 192.168.100.71 then

raise_application_error(-20999, Cannt logon this database.);

end if;

end;

C:\Users\fengjun sqlplusscott/tiger@192.168.100.221:1521/repo

SQL*Plus: Release 11.2.0.3.0 Production on 星期二 2月 25 09:49:182014

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

ERROR:

ORA-00604: 递归 SQL 等级 1 呈现过错

ORA-20999: Cannt logon this database.

ORA-06512: 在 line 2

注:假如用户具有DBA权限,则不受此触发器影响。
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表牛牛娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章