Oracle 是否可以为“创建触发器”;“连接后”;在甲骨文?

Oracle 是否可以为“创建触发器”;“连接后”;在甲骨文?,oracle,triggers,connection-string,Oracle,Triggers,Connection String,我试图在Oracle中执行connect user/pass时执行触发器 登录后尝试使用以下触发器,但未执行: CREATE OR REPLACE TRIGGER logon_trigger AFTER LOGON ON DATABASE BEGIN dbms_output.put_line('Logon detected'); END; / 创建上述触发器后,尝试了以下连接操作,但未成功: conn scott/tiger@pdb1 conn system/manager@pdb

我试图在Oracle中执行
connect user/pass
时执行触发器

登录后尝试使用以下
触发器,但未执行:

CREATE OR REPLACE TRIGGER logon_trigger
  AFTER LOGON
  ON DATABASE
BEGIN
  dbms_output.put_line('Logon detected');
END;
/
创建上述触发器后,尝试了以下连接操作,但未成功:

conn scott/tiger@pdb1
conn system/manager@pdb1

在AskTom和其他与Oracle相关的问答网站上搜索,但没有找到任何正确的指针来实现这一点。如果有人能指出实现这一点的正确方法,那就太好了。

您编写的代码不会成功,因为DBMS\u输出对您不可见。它默认为服务器输出:连接时关闭。(感谢Alex)您需要向表中写入数据,或者更好地使用写入SYS.AUD的$

ALTER SYSTEM SET AUDIT_TRAIL=DB SCOPE=SPFILE;

AUDIT ALL BY Your_User BY ACCESS;
或者只是基本的访问权限

  AUDIT SESSION;

您编写的代码不会成功,因为DBMS_输出对您不可见。它默认为服务器输出:连接时关闭。(感谢Alex)您需要向表中写入数据,或者更好地使用写入SYS.AUD的$

ALTER SYSTEM SET AUDIT_TRAIL=DB SCOPE=SPFILE;

AUDIT ALL BY Your_User BY ACCESS;
或者只是基本的访问权限

  AUDIT SESSION;

您编写的代码不会成功,因为DBMS_输出对您不可见。它默认为服务器输出:连接时关闭。(感谢Alex)您需要向表中写入数据,或者更好地使用写入SYS.AUD的$

ALTER SYSTEM SET AUDIT_TRAIL=DB SCOPE=SPFILE;

AUDIT ALL BY Your_User BY ACCESS;
或者只是基本的访问权限

  AUDIT SESSION;

您编写的代码不会成功,因为DBMS_输出对您不可见。它默认为服务器输出:连接时关闭。(感谢Alex)您需要向表中写入数据,或者更好地使用写入SYS.AUD的$

ALTER SYSTEM SET AUDIT_TRAIL=DB SCOPE=SPFILE;

AUDIT ALL BY Your_User BY ACCESS;
或者只是基本的访问权限

  AUDIT SESSION;

连接会将
serveroutput
重置为off(在SQL*Plus中);您希望谁看到输出?正在连接的用户已经知道他们已连接。如果你想做一些更有意义的事情,只是做了一个简单的测试,触发器就会触发。@AlexPoole感谢你让我理解serveroutput设置的重置。当我尝试其他一些与表相关的操作而不是
dbms\u输出时,它成功了。再次感谢。连接将重置
服务器输出
为关闭(在SQL*Plus中);您希望谁看到输出?正在连接的用户已经知道他们已连接。如果你想做一些更有意义的事情,只是做了一个简单的测试,触发器就会触发。@AlexPoole感谢你让我理解serveroutput设置的重置。当我尝试其他一些与表相关的操作而不是
dbms\u输出时,它成功了。再次感谢。连接将重置
服务器输出
为关闭(在SQL*Plus中);您希望谁看到输出?正在连接的用户已经知道他们已连接。如果你想做一些更有意义的事情,只是做了一个简单的测试,触发器就会触发。@AlexPoole感谢你让我理解serveroutput设置的重置。当我尝试其他一些与表相关的操作而不是
dbms\u输出时,它成功了。再次感谢。连接将重置
服务器输出
为关闭(在SQL*Plus中);您希望谁看到输出?正在连接的用户已经知道他们已连接。如果你想做一些更有意义的事情,只是做了一个简单的测试,触发器就会触发。@AlexPoole感谢你让我理解serveroutput设置的重置。当我尝试其他一些与表相关的操作而不是
dbms\u输出时,它成功了。再次感谢。