问题描述
我读了一篇文章,标题是:
Event Monitor Process: Architecture and Known Issues (Doc ID 105067.1)
…
通知实现了高水印方案,在该方案中,当通知事件的积压达到内存中的限制时,如果设置了水印,则消息会溢出到磁盘上,并进入SYS.AQ_Event_ TABLE_Q队列。在9.2中,水印的默认值为0 ,这意味着没有消息会溢出到磁盘上,并且整个共享池可以用于通知事件。在10.1起的过程DBMS_AQADM.GIT_水标记和DBMS_AQADM.SET_水标记可用于设置通知事件的内存量,但消息不再溢出到磁盘上。相反,入队进程受流控制的制约,直到积压已被mon进程清除。
…
这对我作为一个开发人员意味着什么?我在Linux ( 64位)下建立了一个12.2EE数据库,注册了一个通知回调过程。
在将消息排入队列时,我如何知道我的消息将被EMON批准,或者将被放置到积压工作中?
我为什么要知道?是吗"直到Emon进程清除积压"意思是整个积压将丢失,而不需要EMON进行任何进一步处理?
我多次注意到队列中存在消息,同时EMON的作业PLSQL_NTFN挂起状态为“等待队列中的消息”。而且这些消息似乎从未被处理过。
可能是清理积压的情况吗?我在哪里可以找到关于清除积压的信息(在服务器日志中,在数据库对象中)和有关已清除的消息的MSGID的信息?
蒂亚,
安德鲁。
Event Monitor Process: Architecture and Known Issues (Doc ID 105067.1)
…
通知实现了高水印方案,在该方案中,当通知事件的积压达到内存中的限制时,如果设置了水印,则消息会溢出到磁盘上,并进入SYS.AQ_Event_ TABLE_Q队列。在9.2中,水印的默认值为0 ,这意味着没有消息会溢出到磁盘上,并且整个共享池可以用于通知事件。在10.1起的过程DBMS_AQADM.GIT_水标记和DBMS_AQADM.SET_水标记可用于设置通知事件的内存量,但消息不再溢出到磁盘上。相反,入队进程受流控制的制约,直到积压已被mon进程清除。
…
这对我作为一个开发人员意味着什么?我在Linux ( 64位)下建立了一个12.2EE数据库,注册了一个通知回调过程。
在将消息排入队列时,我如何知道我的消息将被EMON批准,或者将被放置到积压工作中?
我为什么要知道?是吗"直到Emon进程清除积压"意思是整个积压将丢失,而不需要EMON进行任何进一步处理?
我多次注意到队列中存在消息,同时EMON的作业PLSQL_NTFN挂起状态为“等待队列中的消息”。而且这些消息似乎从未被处理过。
可能是清理积压的情况吗?我在哪里可以找到关于清除积压的信息(在服务器日志中,在数据库对象中)和有关已清除的消息的MSGID的信息?
蒂亚,
安德鲁。
专家解答
How can I know , when enqueuing a message to the queue, that my message will be approved by EMON, or it will be placed to the backlog?
你不知道也不需要知道。这只是内存管理问题。EMON仍然负责向客户端发送通知,无论这些通知消息是否暂存到磁盘。
当您说EMON作业在“等待消息”时“挂起”时,我的理解是,如果您找不到要向其发送通知的客户端,则该消息将不会被处理,它将继续等待发送新通知的信号。因此,对于消息来说,不被处理*和*让EMON在消息上等待是非常可行的。
在调试方面,您引用的MOS说明包含了一些有关在EMON上执行跟踪以查看其是否挂起的详细信息,还可以监视V$EMON以确保其不时地“跳转”。
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-EMON.html#GUID-E9C0B5B5-B3CA-426D-85C6-7FC1304D9662
但是如果你怀疑自己在后台进程( EMON或其他)上有问题,那么SR总是你的最佳选择。
你不知道也不需要知道。这只是内存管理问题。EMON仍然负责向客户端发送通知,无论这些通知消息是否暂存到磁盘。
当您说EMON作业在“等待消息”时“挂起”时,我的理解是,如果您找不到要向其发送通知的客户端,则该消息将不会被处理,它将继续等待发送新通知的信号。因此,对于消息来说,不被处理*和*让EMON在消息上等待是非常可行的。
在调试方面,您引用的MOS说明包含了一些有关在EMON上执行跟踪以查看其是否挂起的详细信息,还可以监视V$EMON以确保其不时地“跳转”。
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-EMON.html#GUID-E9C0B5B5-B3CA-426D-85C6-7FC1304D9662
但是如果你怀疑自己在后台进程( EMON或其他)上有问题,那么SR总是你的最佳选择。
文章转载自askTom,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
601次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
587次阅读
2025-04-18 14:18:38
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
494次阅读
2025-04-08 09:12:48
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
478次阅读
2025-04-20 10:07:02
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
463次阅读
2025-04-22 00:20:37
Oracle 19c RAC更换IP实战,运维必看!
szrsu
439次阅读
2025-04-08 23:57:08
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
437次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
428次阅读
2025-04-17 17:02:24
火焰图--分析复杂SQL执行计划的利器
听见风的声音
371次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
360次阅读
2025-04-15 14:48:05