Dear All:
大家好!最近在使用DDL触发器时,碰到一个权限问题。如下:
create or replace trigger ddl_trigger
after create or drop on database
begin
insert into ddl_log values(ora_login_user,sysdate,ora_sysevent,ora_dict_obj_type,ora_dict_obj_owner,ora_dict_obj_name,sys_context('USERENV','IP_ADDRESS'));
exception
when others then
err_logs_record(sqlcode,sqlerrm);
end;
1、执行提示 ORA-01031: 权限不足。
2、该触发器在DBA用户下运行正确。
在scott用户运行提示错误。
请问:scott用户应该具有什么的权限呢?
大家好!最近在使用DDL触发器时,碰到一个权限问题。如下:
create or replace trigger ddl_trigger
after create or drop on database
begin
insert into ddl_log values(ora_login_user,sysdate,ora_sysevent,ora_dict_obj_type,ora_dict_obj_owner,ora_dict_obj_name,sys_context('USERENV','IP_ADDRESS'));
exception
when others then
err_logs_record(sqlcode,sqlerrm);
end;
1、执行提示 ORA-01031: 权限不足。
2、该触发器在DBA用户下运行正确。
在scott用户运行提示错误。
请问:scott用户应该具有什么的权限呢?
授予scott用户ADMINISTER DATABASE TRIGGER权限,再创建之。
SQL> show user
USER 为 "SCOTT"
SQL> create or replace trigger ddl_trigger
2 after create or drop on database
3 begin
4 null;
5 end;
6 /
after create or drop on database
*
第 2 行出现错误:
ORA-01031: 权限不足
SQL> conn sys/ggz as sysdba
已连接。
SQL> grant ADMINISTER DATABASE TRIGGER to scott;授权成功。SQL> conn scott/scott
已连接。
SQL> create or replace trigger ddl_trigger
2 after create or drop on database
3 begin
4 null;
5 end;
6 /触发器已创建SQL>