ITPub博客

首页 > 数据库 > Oracle > Create trigger时发生ora-00942

Create trigger时发生ora-00942

原创 Oracle 作者:tolilong 时间:2015-08-24 09:57:33 0 删除 编辑

create new trigger如下:
create or replace trigger logoff_tri
before logoff on database
declare
logoff_sid varchar2(50);
logoff_datetime  date :=sysdate;
begin
  select sid into logoff_sid from v$mystat where rownum<2;
  insert into session_event_history
  select s.SID,s.SERIAL#,s.USERNAME,s.OSUSER,s.PADDR,s.PROCESS,s.LOGON_TIME,s.TYPE,se.EVENT,se.TOTAL_WAITS,se.TOTAL_TIMEOUTS,se.TIME_WAITED,se.AVERAGE_WAIT,se.MAX_WAIT,sysdate datetime
  from v$session_event se,v$session s
  where se.SID=s.SID and s.sid=(select distinct sid from v$mystat where rownum<2);
commit;
end;

已知提示ORA-00942
当前是在system account下建立的。SQL界面可以查询v$session,v$mystat,v$session_event的相关数据的。

之后grant on赋予相关权限即可。

SQL> show user
USER 为 "SYS"
SQL> grant select on v_$mystat to system;

授权成功。

SQL> grant select on v_$session to system;

授权成功。

SQL> grant select on v_$session_event to system;

授权成功。


 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24237320/viewspace-1780762/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-07-13

  • 博文量
    406
  • 访问量
    1208689