Aby odbudować kolejkę, należy wykonać następujące kroki
(1) Sprawdź, jakie rekordy zostaną zarchiwizowane w tabeli kopii zapasowych 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) Zamknij usługę nasłuchiwania agenta przepływu pracy i wykonaj kopię zapasową rekordów w kolejce WF_JAVA_DEFERRED w tabeli kopii zapasowych apps.wf_queue_temp_jms_table.
Administrator systemu> Oracle Applications Manager> Workflow> Składniki usługi> Usługa nasłuchiwania agenta Workflow
sqlplus apps/ @wfaqback.sql
Na przykład:
sqlplus apps/apps @$FND_TOP/sql/wfaqback.sql WF_JAVA_DEFERRED
(3) Upewnij się, że wszystkie rekordy znajdują się w tabeli 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) Ustaw aq_tm_processes =0.
alter system set aq_tm_processes=0;
(5) Zwróć uwagę na nazwę obszaru tabel zawierającego indeks CORRID, który będzie musiał zostać odtworzony później.
SELECT index_name, tablespace_name
FROM all_indexes
WHERE index_name = 'WF_JAVA_DEFERRED_N1';
(6) Usuń kolejkę WF_JAVA_DEFERRED i tabelę kolejek.
declare
begin
dbms_aqadm.stop_queue(queue_name => 'APPLSYS.WF_JAVA_DEFERRED', wait =>
FALSE);
end;
/
Jeśli się zawiesi, możemy użyć siły
declare
begin
dbms_aqadm.drop_queue_table(queue_table => 'APPLSYS.WF_JAVA_DEFERRED', force
=> TRUE);
end;
/
(7) Odtwórz kolejkę WF_JAVA_DEFERRED.
sqlplus / @wfbesqc.sql
Na przykład:
sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqc.sql APPLSYS APPS
(8) Dodaj subskrybentów.
sqlplus APPSusr/<pass> @wfbesqsubc.sql
Przykładowa składnia:
sqlplus apps/<pass> @$FND_TOP/patch/115/sql/wfbesqsubc.sql APPLSYS APPS
(9) Odtwórz indeks (Proszę zignorować wszelkie błędy ORA-00955 dotyczące obiektu, które już istnieją, ponieważ spowoduje to dodanie indeksu dla innych obiektów.):
sqlplus APPSusr/<pass> @FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS tablespace_name
Przykładowa składnia:
sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS APPS_TS_QUEUES
(10) Umieść dane dla WF_JAVA_DEFERRED z powrotem w kolejce.
sqlplus apps/<pass> @wfaqrenq.sql
Na przykład:
sqlplus apps/apps @$FND_TOP/sql/wfaqrenq.sql WF_JAVA_DEFERRED
(11) Potwierdź, że wszystkie rekordy są z powrotem w kolejce.
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) Uruchom usługę nasłuchiwania agenta przepływu pracy i potwierdź, że teraz przetwarza zdarzenia w kolejce.
Administrator systemu> Oracle Applications Manager> Workflow> Składniki usługi> Usługa nasłuchiwania agenta Workflow
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;
Mam nadzieję, że podoba Ci się post. Prześlij opinię, aby ulepszyć