Chcete-li frontu znovu sestavit
, je třeba provést následující kroky
(1) Zkontrolujte, jaké záznamy budou zálohovány v tabulce zálohování 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) Vypněte službu Workflow Agent Listener Service a zálohujte záznamy ve frontě WF_JAVA_DEFERRED do zálohovací tabulky apps.wf_queue_temp_jms_table.
Správce systému> Oracle Applications Manager> Pracovní postup> Komponenty služby> Služba naslouchání agenta pracovního postupu
sqlplus apps/ @wfaqback.sql
Například:
sqlplus apps/apps @$FND_TOP/sql/wfaqback.sql WF_JAVA_DEFERRED
(3) Ujistěte se, že všechny záznamy jsou v tabulce wf_queue_temp_jms_table.
select CORR_ID corrid, QUEUE queue, count (*)
from apps.wf_queue_temp_jms_table
group by CORR_ID, QUEUE;
(4) Nastavte aq_tm_processes =0.
alter system set aq_tm_processes=0;
(5) Poznamenejte si název tabulkového prostoru obsahujícího index na CORRID, který bude nutné později znovu vytvořit.
SELECT index_name, tablespace_name
FROM all_indexes
WHERE index_name = 'WF_JAVA_DEFERRED_N1';
(6) Zrušte frontu WF_JAVA_DEFERRED a queue_table.
declare
begin
dbms_aqadm.stop_queue(queue_name => 'APPLSYS.WF_JAVA_DEFERRED', wait =>
FALSE);
end;
/
Pokud visí, můžeme použít sílu
declare
begin
dbms_aqadm.drop_queue_table(queue_table => 'APPLSYS.WF_JAVA_DEFERRED', force
=> TRUE);
end;
/
(7) Znovu vytvořte frontu WF_JAVA_DEFERRED.
sqlplus / @wfbesqc.sql
Například:
sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqc.sql APPLSYS APPS
(8) Přidejte odběratele.
sqlplus APPSusr/<pass> @wfbesqsubc.sql
Příklad syntaxe:
sqlplus apps/<pass> @$FND_TOP/patch/115/sql/wfbesqsubc.sql APPLSYS APPS
(9) Znovu vytvořte index (Ignorujte prosím všechny chyby ORA-00955 o objektu, které již existují, protože to přidává index pro další objekty.):
sqlplus APPSusr/<pass> @FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS tablespace_name
Příklad syntaxe:
sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS APPS_TS_QUEUES
(10) Vložte data pro WF_JAVA_DEFERRED zpět do fronty.
sqlplus apps/<pass> @wfaqrenq.sql
Například:
sqlplus apps/apps @$FND_TOP/sql/wfaqrenq.sql WF_JAVA_DEFERRED
(11) Potvrďte, že všechny záznamy jsou zpět ve frontě.
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) Spusťte službu Workflow Agent Listener Service a potvrďte, že nyní zpracovává události ve frontě.
Správce systému> Oracle Applications Manager> Pracovní postup> Komponenty služby> Služba naslouchání agenta pracovního postupu
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;
Doufám, že se vám příspěvek líbí. Poskytněte nám prosím zpětnou vazbu pro zlepšení