如何重建 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;
相关文章
|
2月前
|
存储 安全 Java
【用Java学习数据结构系列】探索栈和队列的无尽秘密
【用Java学习数据结构系列】探索栈和队列的无尽秘密
36 2
|
2月前
|
算法 Java API
【用Java学习数据结构系列】对象的比较(Priority Queue实现的前提)
【用Java学习数据结构系列】对象的比较(Priority Queue实现的前提)
32 1
|
3月前
|
Java API 容器
JAVA并发编程系列(10)Condition条件队列-并发协作者
本文通过一线大厂面试真题,模拟消费者-生产者的场景,通过简洁的代码演示,帮助读者快速理解并复用。文章还详细解释了Condition与Object.wait()、notify()的区别,并探讨了Condition的核心原理及其实现机制。
|
2月前
|
存储 算法 Java
【用Java学习数据结构系列】用堆实现优先级队列
【用Java学习数据结构系列】用堆实现优先级队列
37 0
|
4月前
|
Java
java中的队列
这篇文章通过Java代码示例介绍了使用数组实现队列操作,包括队列的初始化、入队、出队、判断队列满和空以及遍历队列的方法。
java中的队列
|
4月前
|
存储 Java 索引
|
5月前
|
设计模式 安全 Java
Java面试题:请解释Java中的线程池以及为什么要使用线程池?请解释Java中的内存模型以及如何避免内存泄漏?请解释Java中的并发工具包以及如何实现一个简单的线程安全队列?
Java面试题:请解释Java中的线程池以及为什么要使用线程池?请解释Java中的内存模型以及如何避免内存泄漏?请解释Java中的并发工具包以及如何实现一个简单的线程安全队列?
47 1
|
6月前
|
监控 安全 Java
java中并发Queue种类与各自API特点
java中并发Queue种类与各自API特点
40 0
|
6月前
|
Java
2023蓝桥杯大赛软件类省赛Java大学B组G题 买二增一 队列的简单应用
2023蓝桥杯大赛软件类省赛Java大学B组G题 买二增一 队列的简单应用
43 1
|
6月前
|
安全 Java
Java Queue新玩法:用LinkedList打造高效队列,让你的代码飞起来!
【6月更文挑战第18天】Java集合框架中的`LinkedList`不仅是列表,还可作为高效队列。由于其在链表两端进行添加/移除操作的时间复杂度为O(1),故适合实现并发环境下的任务队列。通过案例展示了如何创建、添加任务及确保线程安全,揭示了`LinkedList`提升代码性能的秘密,特别是在多线程应用中的价值。
56 4
下一篇
DataWorks