Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

IP ADDRESS etc using LOGON Trigger

415333Feb 21 2004 — edited Mar 18 2004
Dear Jens and everyone,

I am thankful to you that you give me the useful info.
I created the following table “CLIENT_INFO”:

Sql> connect system/manager
sql>CREATE TABLE CLIENT_INFO(client_id varchar2(20),client_name VARCHAR2(30),
work_station varchar2(40),host_name varchar2(30),database_server varchar2(40),
db_domain varchar2(40),ip_address varchar2(30)
,network_protocol varchar2(60));

sql>grant select,insert on client_info to public;
sql >create public synonym client_info for client_info;



Then I create a LOGON trigger in order to store the required Information of all the clients into my table
“CLIENT_INFO”:

LOGON Trigger:

SQl> Connect system/manager
Sql>create or replace trigger logon_trigger
after logon ON database
begin

insert into client_info(client_id ,client_name,work_station,host_name,database_server,
db_domain,ip_address,network_protocol)
select SYS_CONTEXT('USERENV','CURRENT_USERID'),SYS_CONTEXT('USERENV','CURRENT_USER'),
SYS_CONTEXT('USERENV','OS_USER'),SYS_CONTEXT('USERENV','HOST'),
SYS_CONTEXT('USERENV','DB_NAME'),SYS_CONTEXT('USERENV','DB_DOMAIN'),
SYS_CONTEXT('USERENV','IP_ADDRESS'),SYS_CONTEXT('USERENV','NETWORK_PROTOCOL')
FROM DUAL;
COMMIT;
end if;

END;
/

I created the above Logon trigger,so every session when logon to database, insert its own environment info. into the client_info table.

But when I run the query >select * from client_info;

It displays the information for only two users(system,sys).However there are several other sessions connected to the database like scott,test etc.

for example:


CLIENT_ID CLIENT_NAME WORK_STATION HOST_NAME DATABASE_SERVER DB_DOMAIN IP_ADDRESS
5 SYSTEM SAMAD\Administrator RUSH\SAMAD TEST
0 SYS SAMAD\Administrator RUSH\SAMAD TEST
5 SYSTEM SAMAD\Administrator RUSH\SAMAD TEST
0 SYS SAMAD\Administrator RUSH\SAMAD TEST
5 SYSTEM SAMAD\Administrator RUSH\SAMAD TEST
0 SYS SAMAD\Administrator RUSH\SAMAD TEST
6 rows selected.


How should I get the required info from my historical table “CLIENT_INFO” for each and every user.

I am looking forward to your suggestion.

Thanks

Bilal
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 15 2004
Added on Feb 21 2004
11 comments
1,810 views