Daheim Asked:2022-03-16 23:34:16 +0000 UTC2022-03-16 23:34:16 +0000 UTC 2022-03-16 23:34:16 +0000 UTC 如何找出谁向 Dbms_alert.signal 发送信号? 772 单个表触发器具有dbms_alert.signal. 我阅读了文档,了解了它发送的内容,并waitone抓住了它。 但由于数据库庞大,我找不到接收信号的人。查看每个触发器、功能或过程是劳动密集型的。 我没有设计数据库。 有没有办法找到注册或窃听的地方? 值得甲骨文 9i。 sql 1 个回答 Voted Best Answer default locale 2022-03-17T11:53:50Z2022-03-17T11:53:50Z 注册信息必须存储在SYS.DBMS_ALERT_INFO. 根据此表,可以找到会话,并通过会话了解究竟是谁在等待信号。我认为没有一种简单的方法可以获得更详细的信息。 ...要遍历每个触发器、函数、程序是不现实的。 通常源代码可通过ALL_SOURCE. 您可以尝试查询以查找所有引用DBMS_ALERT。另一件事是注册不一定在您的功能/程序中执行。 另外可以通过查看哪些角色/用户有DBMS_ALERT权限DBA_TAB_PRIVS
注册信息必须存储在
SYS.DBMS_ALERT_INFO. 根据此表,可以找到会话,并通过会话了解究竟是谁在等待信号。我认为没有一种简单的方法可以获得更详细的信息。通常源代码可通过
ALL_SOURCE. 您可以尝试查询以查找所有引用DBMS_ALERT。另一件事是注册不一定在您的功能/程序中执行。另外可以通过查看哪些角色/用户有
DBMS_ALERT权限DBA_TAB_PRIVS