sql >> Database >  >> RDS >> Oracle

hoe de wf_java_deferred-wachtrij opnieuw op te bouwen

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


  1. Hoe de nul te verwijderen wanneer het gehele deel nul is in Oracle

  2. Hoe SQLite Count() werkt

  3. Record geretourneerd door functie heeft kolommen aaneengeschakeld

  4. MySQL-opgeslagen procedures gebruiken ze of niet om ze te gebruiken