Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: trigger problem

Re: trigger problem

From: Noel <tbal_at_go2.pll-l>
Date: Fri, 15 Apr 2005 11:01:26 +0200
Message-ID: <d3nvup$f5b$1@inews.gazeta.pl>


Użytkownik nitin_kaul_at_rediffmail.com napisał:
> hi
> i created a trigger to block developers using TOAD on Production db.
> following is the trigger:
>
> CONNECT / AS SYSDBA;
>
> CREATE OR REPLACE TRIGGER block_toad_from_prod
> AFTER LOGON ON DATABASE
> DECLARE
> v_prog sys.v_$session.program%TYPE;
> BEGIN
> SELECT program INTO v_prog FROM sys.v_$session
> WHERE audsid = USERENV('SESSIONID')
> AND audsid != 0 -- Don't Check SYS Connections
> AND rownum = 1; -- Parallel processes will have the same AUDSID's
>
> IF UPPER(v_prog) LIKE '%TOAD%' OR UPPER(v_prog) LIKE '%T.O.A.D%' THEN
> RAISE_APPLICATION_ERROR(-20000, 'Toad users not allowed on PROD
> DB!');
> END IF;
> END;
>
>
> It works fine and does what it was created for.But the problem is that
> i also have multimaster replication on prod db..and the repadmin jobs
> are faling due to this trigger..i saw the error in alert file as the
> jobs were continously failing...it was giving me error at recursive sql
> statement..
>
> so is there some problem with trigger....or any other way to write it.
>
> regards
>

It may fail if job uses oracle account which hasn't got access to sys.V_$session view. Grant select on that view to user who running job. Put also exception section at end of trigger.

-- 
Noel
Received on Fri Apr 15 2005 - 04:01:26 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US