Is there any way i can write a script to get a popup as an email that some x user has connected to a particular database
Scenario: there was an “X” database and if some “ABC” user has logged into that database by using some account user id and password , an email should be triggered to some contacts : saying — that particular user has connected to that database.
We are currently using Toad / Sql Developer as a third party tools to connect to oracle database.
Is there any way i can achieve this by righting a sql procedure or shell script or any other way.
Advertisement
Answer
One option is to create an AFTER LOGON
trigger, e.g.
CREATE OR REPLACE TRIGGER trg_user_connected AFTER LOGON ON DATABASE DECLARE l_global_name varchar2(30); BEGIN SELECT global_name INTO l_global_name FROM global_name; UTL_MAIL.send (sender => 'noreply@orcl', recipients => 'avinash@gmail.com', cc => NULL, bcc => NULL, mime_type => NULL, subject => 'Logged right now into ' || l_global_name, MESSAGE => USER); END; /
You’ll probably want to restrict it, somehow (otherwise your inbox will explode :)).
[EDIT: dropping an object]
CREATE OR REPLACE TRIGGER trg_bd AFTER DROP ON SCHEMA DECLARE oper VARCHAR2 (100); BEGIN SELECT ora_sysevent INTO oper FROM DUAL; IF oper = 'DROP' THEN utl_mail.send ... END IF; END; /