Kirti,

I used this to control users not to connect using SQLPLUS, TOAD,
NAVIGATOR, etc.  Try it to check if it works for you.

-- Start of DDL Script for Trigger SYS.LOGON_AUDIT_T
-- Generated 20-May-2002 05:31:48 p.m. from U20188@PROD

CREATE OR REPLACE TRIGGER sys.logon_audit_t
after logon on database

declare
user_name varchar2(30);
program_name varchar2(40);
machine_name varchar2(40);
user_number  number;
logon_date date;
contador   integer;
contador1  integer;
external_tool boolean := false;
cursor c1 is select username, program , machine, sysdate 
from v$session
where audsid=userenv('sessionid');
begin
open c1;
fetch c1 into user_name, program_name, machine_name, logon_date; 
close c1;
insert into logon_audit values(user_name, program_name,machine_name,
logon_date); 
commit;
select count(*) into contador1
from   v$session
where  username = user_name
and    machine = machine_name;
select user# into user_number
from   sys.user$
where  name = user_name;
select count(*) into contador
from  user$
where type# = 0
and user# in (select privilege# from sysauth$
where grantee# = user_number
and privilege# in (select user# from user$ where type#=0
and     name in
('DBA_JUNIOR','DBA_SENIOR')));
if (
(upper(program_name) LIKE  ('%PLUS%') or upper(program_name) LIKE
('%TOAD%') OR
upper(program_name) LIKE ('SQLNAV%'))
   )
then
external_tool := true;
end if ;
if (external_tool) and (contador=0)
then
raise_application_error(-20001,'No puede conectarse utilizando esta
aplicacion'); end if; if (contador=0) and (contador1=0) then
raise_application_error(-20001,'No puede conectarse desde esta
terminal'); end if;
exception when others
then
raise_application_error(-20001,'No puede ningun privilegio asignado,
contacte del depto de seguridad de sistemas'); end;

/

Luck,

Ramon

-----Original Message-----
Kirti
Sent: Friday, October 11, 2002 10:14 AM
To: Multiple recipients of list ORACLE-L


They can come in from various 'machines'. 

- Kirti

-----Original Message-----
Sent: Friday, October 11, 2002 9:39 AM
To: Multiple recipients of list ORACLE-L


Could you use machine from v$session?

>>> [EMAIL PROTECTED] 10/11/02 09:48AM >>>
Hello Listers,
 I was asked by a co-worker if there was a way in Oracle to prevent
users from connecting to the databases if the same OSUSER has already a
created a specified number of sessions to a particular instance.

 We discussed profiles and resource limits etc. However, the requirement
is that the user should a get message that they have exceeded their
quota and should not be allowed to log in (there goes the log on
trigger). 

The denial of connection *must* be based on 'OSUSER'. In this
environment different OSUSERs use the same Oracle Username for these
connections, and the expectation is that the DBA find a solution to
enforce some rules. 

 Any tricks? Third party software? 

 Thanks.

- Kirti 
 
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com 
-- 
Author: Deshpande, Kirti
  INET: [EMAIL PROTECTED] 

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com 
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Gene Sais
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Deshpande, Kirti
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Ramon E. Estevez
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).

Reply via email to