我想写一个简单的触发器,来禁止用户的EXP备份操作,参考网上的代码,最后精简如下,应该是非常简单了:
create or replace trigger tr_exp
after logon on database
declare
v_pro varchar(20);
begin
select upper(substr(program,1,3)) into v_pro from v$session where audsid=userenv('sessionid');
if v_pro='EXP' then
raise_application_error(-20021,'Prohibit remote execution exp or export');
end if;
end;
但是运行报错,提示“表或视图不存在”。但是我直接运行查询,或者运行从declare之后这一段都是对的,这是为什么呢?
------解决思路----------------------
权限问题吧
