Jason, Try this: CURSOR c1 IS SELECT UPPER(program) program, username, osuser, terminal, sys_context('USERENV','IP_ADDRESS') ip_addr FROM V$SESSION WHERE AUDSID = USERENV('SESSIONID'); c1_rec c1%ROWTYPE; BEGIN OPEN c1; FETCH c1 INTO c1_rec; CLOSE c1; c1_rec.ip_addr will have the ip address of the user logging on. This should work for you, right? Tom -----Original Message----- From: jsb@xxxxxxxxxxxx [mailto:jsb@xxxxxxxxxxxx] Sent: Tuesday, February 01, 2005 2:35 PM To: oracle-l@xxxxxxxxxxxxx Subject: logon trigger with machine condition I'm looking for a way to trace a session on logon with the condition that it be from a particular host. Wolfgang brought up a good point about logon to a particular schema but in this case I need a database-wide trigger. I'm looking to do something like this below, but it does not work: CREATE OR REPLACE TRIGGER trace_a_session AFTER LOGON ON DATABASE BEGIN IF USER LIKE 'USER' THEN IF HOST LIKE 'SOMEHOST.DOMAIN.COM' THEN EXECUTE IMMEDIATE 'alter session set events ''10046 trace name context forever, level 12'''; END IF; END IF; END; / There apparently is no PL/SQL HOST function which is what I need, or a way to do it via a nested select and variables. I intend to purchase a book or two after work tonight but I need some help now if anyone has dealt with this situation before. regards, Jason -- //www.freelists.org/webpage/oracle-l -- //www.freelists.org/webpage/oracle-l