欢迎光临
我们一直在努力

系统权限ADMINISTER DATABASE TRIGGER的作用

基于database创建一个系统trigger,遇到了权限问题,查了一下原来是需要ADMINISTER DATABASE TRIGGER权限[@more@]SQL> create or replace trigger trigg_db
2 after logon on database
3 — for each row
4 declare
5 — local variables here
6 begin
7 insert into t_trace values(sys_context(‘userenv’,’ip_address’),
8 sys_context(‘userenv’,’terminal’),
9 sys.login_user,
10 sysdate,
11 sys.sysevent);
12 end trigg_db;
13 /
after logon on database
*
第 2 行出现错误:
ORA-01031: 权限不足

–============================
SQL> grant ADMINISTER DATABASE TRIGGER to test;

授权成功。

SQL>
–===========================

SQL> create or replace trigger trigg_db
2 after logon on database
3 — for each row
4 declare
5 — local variables here
6 begin
7 insert into t_trace values(sys_context(‘userenv’,’ip_address’),
8 sys_context(‘userenv’,’terminal’),
9 sys.login_user,
10 sysdate,
11 sys.sysevent);
12 end trigg_db;
13 /

触发器已创建

SQL>
–=========================
To create a trigger on DATABASE, you must have the ADMINISTER DATABASE TRIGGER privilege. If this privilege is later revoked, then you can drop the trigger, but not alter it.

–========================

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。