The owner of the trigger must have the execute right
on the procedures/functions that are called from the
trigger. The vivouser must grant execute on the 2
procdures to sys.
- Helmut Daiminger <hdaiminger_at_vivonet.com> a
écrit : > Hi!
>
> I'm getting an error message that doesn't make much
> sense to me...
>
> This is the startup db trigger that I created. The
> trigger is owned by SYS.
>
> CREATE OR REPLACE TRIGGER startup_db
> after startup on database
> begin
> -- pin Oracle supplied packages
> dbms_shared_pool.keep ('SYS.STANDARD','P');
> dbms_shared_pool.keep
> ('SYS.DBMS_STANDARD','P');
> dbms_shared_pool.keep ('SYS.DIUTIL','P');
>
> -- pin procedures owned by VIVO
> dbms_shared_pool.keep
> ('VIVOUSER.DT_CHECKRANGEDATE','P');
> dbms_shared_pool.keep
> ('VIVOUSER.DT_COUNTHOUR','P');
> .... and some more procedures to follow here
> end;
>
> But every time, I get the following error message
> written to a trace file:
>
> *** SESSION ID:(9.1) 2000-11-01 03:45:14.613
> Error in executing triggers on database startup
> *** 2000-11-01 03:45:14.613
> ksedmp: internal or fatal error
> ORA-00604: error occurred at recursive SQL level 1
> ORA-01031: insufficient privileges
> ORA-06512: at "SYS.DBMS_UTILITY", line 68
> ORA-06512: at "SYS.DBMS_SHARED_POOL", line 45
> ORA-06512: at "SYS.DBMS_SHARED_POOL", line 53
> ORA-06512: at line 8
>
> Since the trigger is owned by SYS, I don't
> understand why there is a
> privilege problem... I explicitly granted ADMINISTER
> DATABASE TRIGGER to SYS
> as well. I ran the dbmspool.sql script.
>
> This is 8.1.6 on Win2k.
>
> Any ideas?
>
> Thanks,
> Helmut
>
> --
> Please see the official ORACLE-L FAQ:
> http://www.orafaq.com
> --
> Author: Helmut Daiminger
> INET: hdaiminger_at_vivonet.com
>
> Fat City Network Services -- (858) 538-5051 FAX:
> (858) 538-5051
> San Diego, California -- Public Internet
> access / Mailing Lists
>
> To REMOVE yourself from this mailing list, send an
> E-Mail message
> to: ListGuru_at_fatcity.com (note EXACT spelling of
> 'ListGuru') and in
> the message BODY, include a line containing: UNSUB
> ORACLE-L
> (or the name of mailing list you want to be removed
> from). You may
> also send the HELP command for other information
> (like subscribing).
Stephane Paquette
DBA Oracle
stephane_paquette_at_yahoo.com
Received on Thu Nov 02 2000 - 02:25:01 CST