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: accessing SQLPlus variables.................

Re: accessing SQLPlus variables.................

From: Ender Wiggin <ender_wiggin29plus1_at_yahoo.com>
Date: Tue, 06 Aug 2002 20:46:05 -0600
Message-ID: <ZD%39.333$Ok.81537@newsfeed.slurp.net>


Parag wrote:

> Hello All,
>
> I want to restrict users to use application instead of using sqlplus.
> To do that using logon trigger and some reading from various sites /
> groups I got it to work.
>
> The trigger is as follows:
>
> create or replace trigger connect_restriction after logon on database
> when (user != 'SYSTEM' and user != 'VVVVVV' and user != 'MMMMMM')
> declare v_username number;
> Begin
> select count(*) into v_username from v$session
> where upper(username) = user and status='ACTIVE' and upper(program)
> like 'SQLPLUS%' and appinfo like '%SQL%';
> if v_username > 0 then raise_application_error(-20002,'no sqlplus
> please'); end if;
> end connect_restriction;
> /
>
> If I rename my sqlplus.exe as test.exe, the trigger is fooled.
> Now if I could access sqlplus environment variable appinfo
> (sqlplus> show appinfo) in the PL/SQL block I could get the thing
> done.
>

U seem to be checking if it is sqlplus, what if I write a small program that connects using pro*c and gives me access to the database ? Why not change it to be

upper(program) != 'YOUR_FAV_APPLICATION'

and raise restriction by saying you can not access database except using 'XXX'
> How do I ?
>
> Thanks in advance.
> Parag
Received on Tue Aug 06 2002 - 21:46:05 CDT

Original text of this message

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