当有人连接到特定数据库时如何获得弹出窗口

how to get a popup when someone has connected to particular database

有什么方法可以让我编写一个脚本来获取一些 x 用户已连接到特定数据库的电子邮件弹出窗口

场景:有一个 "X" 数据库,如果某个 "ABC" 用户使用某个帐户用户 ID 和密码登录到该数据库,则应该向某些联系人发送一封电子邮件:说 - - 该特定用户已连接到该数据库。

我们目前正在使用 Toad / Sql Developer 作为第三方工具来连接到 oracle 数据库。

有什么方法可以通过纠正 sql 程序或 shell 脚本或任何其他方式来实现这一目标。

一种选择是创建一个 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;
/