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: Help with triggers

Re: Help with triggers

From: Jurij Modic <jmodic_at_src.si>
Date: Tue, 29 Sep 1998 23:28:30 GMT
Message-ID: <36116787.21498801@news.siol.net>


On Tue, 29 Sep 1998 20:41:26 GMT, Arthur_Correa_at_wda.disney.com wrote:

>Hi,
>
>I was wondering if there was any way I could put a trigger on a system table.
>Essentially I want to trigger some SQL whenever a client connects to Oracle,
>but from what I am hearing I can't put a trigger on any of the system tables.

Ther is no way you can put a triger on a table owned by SYS! From your short description I assume you have database auditing turned on and you want to put a triger on table SYS.AUD$ (...whenever a client connects to oracle...).

SYS.AUD$ is somewhat an exception among data dictionary tables in terms of what is officialy permited for a regular user to peform on it. For example, it is the only table that is allowed to be transfered from a system tablespace to some other tablespace (in fact, you are even encouraged to do this).

In some "unoficiall" script from inside Oracle corp. ("Tales from the scripts") there is a description of a trick you can use to achive what you want. The main point of the trick is to create an AUD$ table in the schem SYSTEM, drop the AUD$ table from schema SYS and create a view called SYS.AUD$ which selects * from SYSTEM.AUD$. Now all the information about auditing will be inserted into SYSTEM.AUD$ through view SYS.AUD$, but the main point is that you can now create triggers on SYSTEM.AUD$ !

>Is there some way I could get around this?
>
>Thanks for your help,
>Artie

HTH,
--
Jurij Modic <jmodic_at_src.si>
Certified Oracle7 DBA (OCP)



The above opinions are mine and do not represent any official standpoints of my employer Received on Tue Sep 29 1998 - 18:28:30 CDT

Original text of this message

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