De volgende stappen moeten worden gevolgd om de wachtrij opnieuw op te bouwen
(1) Controleer om te zien van welke records een back-up wordt gemaakt in de back-uptabel wf_queue_temp_jms_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) Sluit de Workflow Agent Listener Service af en maak een back-up van de records in de WF_JAVA_DEFERRED-wachtrij naar de apps.wf_queue_temp_jms_table back-uptabel.
Systeembeheerder> Oracle Applications Manager> Workflow> Servicecomponenten> Workflow Agent Listener Service
sqlplus apps/ @wfaqback.sql
Bijvoorbeeld:
sqlplus apps/apps @$FND_TOP/sql/wfaqback.sql WF_JAVA_DEFERRED
(3) Zorg ervoor dat alle records in de tabel wf_queue_temp_jms_table staan.
select CORR_ID corrid, QUEUE queue, count (*)
from apps.wf_queue_temp_jms_table
group by CORR_ID, QUEUE;
(4) Stel aq_tm_processes =0 in.
alter system set aq_tm_processes=0;
(5) Noteer de naam van de tabelruimte met de index op CORRID die later opnieuw moet worden gemaakt.
SELECT index_name, tablespace_name
FROM all_indexes
WHERE index_name = 'WF_JAVA_DEFERRED_N1';
(6) Verwijder de WF_JAVA_DEFERRED wachtrij en queue_table.
declare
begin
dbms_aqadm.stop_queue(queue_name => 'APPLSYS.WF_JAVA_DEFERRED', wait =>
FALSE);
end;
/
Als het blijft hangen, kunnen we geweld gebruiken
declare
begin
dbms_aqadm.drop_queue_table(queue_table => 'APPLSYS.WF_JAVA_DEFERRED', force
=> TRUE);
end;
/
(7) Maak de WF_JAVA_DEFERRED-wachtrij opnieuw.
sqlplus / @wfbesqc.sql
Bijvoorbeeld:
sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqc.sql APPLSYS APPS
(8) Voeg de abonnees toe.
sqlplus APPSusr/<pass> @wfbesqsubc.sql
Voorbeeldsyntaxis:
sqlplus apps/<pass> @$FND_TOP/patch/115/sql/wfbesqsubc.sql APPLSYS APPS
(9) Maak de index opnieuw (negeer eventuele ORA-00955-fouten over het object dat al bestaat, omdat dit een index voor andere objecten toevoegt.):
sqlplus APPSusr/<pass> @FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS tablespace_name
Voorbeeldsyntaxis:
sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS APPS_TS_QUEUES
(10) Zet de gegevens voor de WF_JAVA_DEFERRED terug in de wachtrij.
sqlplus apps/<pass> @wfaqrenq.sql
Bijvoorbeeld:
sqlplus apps/apps @$FND_TOP/sql/wfaqrenq.sql WF_JAVA_DEFERRED
(11) Bevestig dat alle records weer in de wachtrij staan.
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 de Workflow Agent Listener Service en bevestig dat deze nu de gebeurtenissen in de wachtrij verwerkt.
Systeembeheerder> Oracle Applications Manager> Workflow> Servicecomponenten> 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;
Ik hoop dat je het bericht leuk vindt. Geef alsjeblieft de feedback om te verbeteren