如何重建 wf_java_deferred 队列(queue)

简介: Followings steps are to be followed to rebuild the queue1. Check to see what records will be backed up on the wf_queue_temp_jms_table backup table.
Followings steps are to be followed to rebuild the queue
1. Check to see what records will be backed up on the wf_queue_temp_jms_table backup table. 
select wfjd.corr_id corrid, msg_state state, count(*) COUNT 
from applsys.aq$wf_java_deferred wfjd 
where msg_state IN('READY', 'WAIT') 
group by corr_id, wfjd.msg_state; 

2). Shutdown the Workflow Agent Listener Service and backup the records on the WF_JAVA_DEFERRED queue to the apps.wf_queue_temp_jms_table backup table. 

System Administrator > Oracle Applications Manager > Workflow > Service Components > Workflow Agent Listener Service

sqlplus apps/ @wfaqback.sql 

For Example: 

sqlplus apps/apps @$FND_TOP/sql/wfaqback.sql WF_JAVA_DEFERRED 

3). Make sure all the records are in the wf_queue_temp_jms_table table. 

select CORR_ID corrid, QUEUE queue, count (*) 
from apps.wf_queue_temp_jms_table 
group by CORR_ID, QUEUE; 

4). Set aq_tm_processes =0.

alter system set aq_tm_processes=0; 


5). Note the name of the tablspace containing index on CORRID that will need to be recreated later. 


SELECT index_name, tablespace_name 
FROM all_indexes 
WHERE index_name = 'WF_JAVA_DEFERRED_N1'; 



6). Drop the WF_JAVA_DEFERRED queue and queue_table.



declare 

begin 
dbms_aqadm.stop_queue(queue_name => 'APPLSYS.WF_JAVA_DEFERRED', wait => 
FALSE); 
end; 


declare 

begin 
dbms_aqadm.drop_queue_table(queue_table => 'APPLSYS.WF_JAVA_DEFERRED', force 
=> TRUE); 
end; 




7). Recreate the WF_JAVA_DEFERRED queue.

sqlplus / @wfbesqc.sql 

For Example: 

sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqc.sql APPLSYS APPS 


8). Add the subscribers.


sqlplus APPSusr/ @wfbesqsubc.sql 

Example Syntax: 

sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqsubc.sql APPLSYS APPS 



9). Recreate the index (Please ignore any ORA-00955 errors about object already exist as this adds index for other objects.): 

sqlplus APPSusr/ @FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS tablespace_name 

Example Syntax: 

sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS APPS_TS_QUEUES


10). Put the data for the WF_JAVA_DEFERRED back into the queue.


sqlplus apps/ @wfaqrenq.sql 

For Example: 

sqlplus apps/apps @$FND_TOP/sql/wfaqrenq.sql WF_JAVA_DEFERRED 

11). Confirm that all records are back on the queue. 

select wfjd.corr_id corrid, msg_state state, count(*) COUNT 
from applsys.aq$wf_java_deferred wfjd 
where msg_state IN('READY', 'WAIT') 
group by corr_id, wfjd.msg_state; 



12). Start the Workflow Agent Listener Service and confirm it is now processing the events on the queue. 

System Administrator > Oracle Applications Manager > Workflow > Service Components > Workflow Agent Listener Service 

select wfjd.corr_id corrid, msg_state state, count(*) COUNT 
from applsys.aq$wf_java_deferred wfjd 
where msg_state IN('READY', 'WAIT') 
group by corr_id, wfjd.msg_state;
相关文章
|
5月前
|
前端开发 Java
java实现队列数据结构代码详解
本文详细解析了Java中队列数据结构的实现,包括队列的基本概念、应用场景及代码实现。队列是一种遵循“先进先出”原则的线性结构,支持在队尾插入和队头删除操作。文章介绍了顺序队列与链式队列,并重点分析了循环队列的实现方式以解决溢出问题。通过具体代码示例(如`enqueue`入队和`dequeue`出队),展示了队列的操作逻辑,帮助读者深入理解其工作机制。
164 1
|
8月前
|
存储 监控 Java
JAVA线程池有哪些队列? 以及它们的适用场景案例
不同的线程池队列有着各自的特点和适用场景,在实际使用线程池时,需要根据具体的业务需求、系统资源状况以及对任务执行顺序、响应时间等方面的要求,合理选择相应的队列来构建线程池,以实现高效的任务处理。
351 12
|
11月前
|
算法 Java API
【用Java学习数据结构系列】对象的比较(Priority Queue实现的前提)
【用Java学习数据结构系列】对象的比较(Priority Queue实现的前提)
105 1
|
11月前
|
存储 算法 Java
【用Java学习数据结构系列】用堆实现优先级队列
【用Java学习数据结构系列】用堆实现优先级队列
150 0
|
11月前
|
存储 安全 Java
【用Java学习数据结构系列】探索栈和队列的无尽秘密
【用Java学习数据结构系列】探索栈和队列的无尽秘密
101 2
|
Java API 容器
JAVA并发编程系列(10)Condition条件队列-并发协作者
本文通过一线大厂面试真题,模拟消费者-生产者的场景,通过简洁的代码演示,帮助读者快速理解并复用。文章还详细解释了Condition与Object.wait()、notify()的区别,并探讨了Condition的核心原理及其实现机制。
|
存储 Java 索引
Java 中 List、Set、Map 和 Queue 之间的区别
【8月更文挑战第22天】
295 0
java中的队列
这篇文章通过Java代码示例介绍了使用数组实现队列操作,包括队列的初始化、入队、出队、判断队列满和空以及遍历队列的方法。
java中的队列
|
设计模式 安全 NoSQL
Java面试题:设计一个线程安全的单例模式,并解释其内存占用和垃圾回收机制;使用生产者消费者模式实现一个并发安全的队列;设计一个支持高并发的分布式锁
Java面试题:设计一个线程安全的单例模式,并解释其内存占用和垃圾回收机制;使用生产者消费者模式实现一个并发安全的队列;设计一个支持高并发的分布式锁
159 0
|
设计模式 安全 Java
Java面试题:请解释Java中的线程池以及为什么要使用线程池?请解释Java中的内存模型以及如何避免内存泄漏?请解释Java中的并发工具包以及如何实现一个简单的线程安全队列?
Java面试题:请解释Java中的线程池以及为什么要使用线程池?请解释Java中的内存模型以及如何避免内存泄漏?请解释Java中的并发工具包以及如何实现一个简单的线程安全队列?
133 1