Один из вариантов - создать триггер AFTER LOGON
, например,
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;
/
Возможно, вы захотите каким-то образом ограничить его (иначе ваш почтовый ящик взорвется:)).
[РЕДАКТИРОВАТЬ: падение объекта]
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;
/