Oracle使用系统级触发器禁用DDL语句

对于一个上线运行的系统,使用DDL操作是十分谨慎的。为了防止不必要的误操作,可以通过DDL触发器对某些表禁用DDL操作。可以在需要禁止的操作类型上使用raise_application_error函数来禁止操作,比如:

CREATE OR REPLACE TRIGGER DDL_FB before ALTER OR DROP OR RENAME

on schema

BEGIN

Raise_application_error(-20030,’此系统已经运行,不允许对表进行DDL维护’);

end;

对于设置了这类触发器的用户,如果需要修改表结构,那么需要首先把这个触发器关掉。

相关推荐