Issue:

dequeue一个queue的时候,永远的hang在那里,等待事件是cache buffer chain. 即使只dequeue一个message,也是同样的问题。

Solution:

(1) 检查一个与queue table相关的IOT: AQ$_Queue_Table_Name_I:

select distinct SUBSCRIBER#, NAME, QUEUE# from AQ$_Queue_Table_Name_I ;

Oracle的解释:

When messages are enqueued for an existing subscriber, the values of column NAME and QUEUE# are expected to be 0. If the value of the two columns are not 0, just change them to 0 and try again.

(2) 如果不是上面的情况. 只能purge:

DBMS_AQADM.PURGE_QUEUE_TABLE(

queue_tableINVARCHAR2,

purge_conditionINVARCHAR2,

purge_optionsINaq$_purge_options_t);

purge_condition: 是一个where子句,基于aq$queue_table_name的列. 并且所有的列名前面必须加“qtview.” 如果要purge整个queue table,设置为NULL。

Purge_options 有个参数“block”. True 表示在purge的时候会给queue table加锁来保证purge的成功. False 表示没有锁,在高并发环境下purge可能失败。

Example1: Purging one queue

DECLARE

po dbms_aqadm.aq$_purge_options_t;

BEGIN

po.block := TRUE;

DBMS_AQADM.PURGE_QUEUE_TABLE(

queue_table=> 'test.obj_qtab',

purge_condition => 'qtview.queue = ''TEST.OBJ_QUEUE''',

purge_options=> po);

END;

/

Example2: Purging the whole queue table

DECLARE

po dbms_aqadm.aq$_purge_options_t;

BEGIN

po.block := FALSE;

DBMS_AQADM.PURGE_QUEUE_TABLE(

queue_table=> 'test.obj_qtab',

purge_condition => NULL,

purge_options=> po);

END;

/

oracle aq hang,AQ: dequeue的时候hang住相关推荐

  1. Oracle 高级队列(AQ) 与JAVA JMS

    Oracle 高级队列AQ与JAVA JMS Oracle 高级队列是什么? 高级队列Advanced Queuing(AQ).它是oracle原生消息软件,这篇文章提供了一个AQ的高级概览.尤其是我 ...

  2. java+oracle数据库锁,数据库学习之Oracle数据库\记录被另一个用户锁住\解决方法...

    1.先来看看为什么会出锁住: 数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数 ...

  3. oracle aq java_Oracle AQ 的使用(-)

    随着不同应用模块间的消息交互和通信成为一个关键的功能,并且变得越来越重要.Oracle引入了一种强大的队列机制,通过它程序间可以实现信息的交互,oracle把它称作为AQ - Advanced Que ...

  4. oracle删除表不等待,oracle故障处理之删除大表空间hang住

    背景 数据库分区表数据越来越大,需要对过期话的数据进行迁移,以及大的分区表需要进行数据的清理和删除,达到释放磁盘空间的目的. 问题说明 环境:linux 6.X 数据库:oracle 11.2.0.4 ...

  5. 更改oracle背景,Oracle 11gR2修改用户后导致系统HANG住

    [背景]今天中午的时候用户反馈需要修改数据库的和应用的连接密码,修改密码这种小事情,本以为不会不会出现问题的.没想到午休到一半的时候就接到用户的电话,系统连接不进去了. [环境] 操作系统 linux ...

  6. Kernel: hang: 手动编写内核模块触发hang的例子

    文章目录 参考 问题 锁 详解 参考 https://lore.kernel.org/lkml/Yjirozrn%2FiRHhN63@slm.duckdns.org/T/#ma7d5566ad7223 ...

  7. oracle tabe unlock_Oracle数据库之统计信息锁住导致收集统计信息失败引起sql执行异常...

    本文主要向大家介绍了Oracle数据库之统计信息锁住导致收集统计信息失败引起sql执行异常,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 这个是老生产谈的事情,统计信息不准确导 ...

  8. oracle—“操作记录已被里一个用户锁住” 解决办法

    查询锁住session SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv ...

  9. Oracle数据库 记录被另一个用户锁住 解决方法

    1.锁表原因: 数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性. ...

最新文章

  1. matlab reshape函数_numpy中的np.ascontiguousarray()函数
  2. 管理Exchange服务器
  3. (转载) min()的宏定义中的(void) (_x == _y)的含义
  4. 【渝粤教育】国家开放大学2018年春季 0089-22DInternet和Intranet应用 参考试题
  5. 新一代高效Git协同模型AGit-Flow详解
  6. Musik音乐社区整套UI网站模板
  7. 高等代数——大学高等代数课程创新教材(丘维声)——1.2笔记+习题
  8. 鼎信诺取数oracle,鼎信诺审计前端取数讲解(最新).ppt
  9. 前端技术—CSS常用代码大全
  10. webservice的接口测试工具
  11. 土是独体字结构吗_独体结构的字大全
  12. 励志语录关于奋斗青春
  13. Project 2016中如何管理工时?
  14. IT科技行业发展现状,未来发展方向有哪些?
  15. javascript:window.scroll()函数behavior属性smooth属性值在iphone浏览器上不兼容
  16. 数据链路层的重点协议
  17. oracle utl_file权限,Oracle内建包UTL_FILE使用说明
  18. #10049. 「一本通 2.3 例 1」Phone List
  19. 移植 SOEM 到嵌入式平台 STM32F767
  20. zoj-Swordfish-2022-5-6

热门文章

  1. WPF ListView中自动生成的列
  2. 如何创建从Visual Studio到Wolfram Mathematica的简单调用
  3. python 提取列表元素_Python如何获取列表中元素的索引,python,获得,某个,index
  4. ubuntu无法登陆mysql_ubuntu11.04mysql报错、无法正常工作、无法登陆mysql
  5. 易语言mysql怎么写字段值_易语言数据库怎么加字段 数据库添加字段说明
  6. java如何取出数组指定数据6_java 从数组取出指定数量的值,相加大于等于或小于等于指定的值,取出对应的组合下标,下标不能重复...
  7. aesmiyao php_php写的AES加密解密类分享
  8. java thread等特,进阶之路|奇妙的Thread之旅
  9. swt matlab 中 swa,Matlab小波工具箱的使用3
  10. mba案例分析_2020年(第八届)MBA企业案例分析实践课程暨大赛完美收官!