Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: LOGOFF TRIGGER for getting IP ADDRESS ETC
Hi A couple of suggestions
CREATE OR REPLACE TRIGGER trg_session_info
AFTER LOGON ON DATABASE
BEGIN
INSERT INTO session_info(
session_id,
client_name,
logon_date,
work_station,
host_name,
database_server,
db_domain,
auth_type,
ip_address,
network_protocol)
SELECT
SYS_CONTEXT('USERENV', 'SESSIONID') , SYS_CONTEXT('USERENV','OS_USER'), SYS_CONTEXT('USERENV','HOST'), SYS_CONTEXT('USERENV','DB_NAME'), SYS_CONTEXT('USERENV','DB_DOMAIN'), SYS_CONTEXT('USERENV', 'AUTHENTICATION_TYPE'), SYS_CONTEXT('USERENV', 'IP_ADDRESS'), SYS_CONTEXT('USERENV','NETWORK_PROTOCOL')FROM dual;
It would seem to me that it reads better, will do less work on the database and even I can understand it.
2. Create a job to run at midnight (or before your run your report whenever) which deletes rows from your client sessions table that aren't currently connected
-- Niall Litchfield Oracle DBA Audit Commission UKReceived on Mon Feb 23 2004 - 08:44:20 CST