Oracle
 sql >> Datenbank >  >> RDS >> Oracle

wie man die wf_java_deferred Warteschlange neu erstellt

Folgende Schritte müssen befolgt werden, um die Warteschlange neu zu erstellen


(1) Überprüfen Sie, welche Datensätze in der Sicherungstabelle wf_queue_temp_jms_table gesichert werden.


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) Beenden Sie den Listener-Dienst des Arbeitsablaufagenten und sichern Sie die Datensätze in der Warteschlange WF_JAVA_DEFERRED in der Sicherungstabelle apps.wf_queue_temp_jms_table.

Systemadministrator> Oracle Applications Manager> Workflow> Dienstkomponenten> Workflow Agent Listener Service

sqlplus apps/ @wfaqback.sql

Zum Beispiel:

sqlplus apps/apps @$FND_TOP/sql/wfaqback.sql WF_JAVA_DEFERRED

(3) Stellen Sie sicher, dass sich alle Datensätze in der Tabelle wf_queue_temp_jms_table befinden.

select CORR_ID corrid, QUEUE queue, count (*)
from apps.wf_queue_temp_jms_table
group by CORR_ID, QUEUE;

(4) Setzen Sie aq_tm_processes =0.

alter system set aq_tm_processes=0;

(5) Notieren Sie sich den Namen des Tabellenbereichs, der den Index auf CORRID enthält, der später neu erstellt werden muss.

SELECT index_name, tablespace_name
FROM all_indexes
WHERE index_name = 'WF_JAVA_DEFERRED_N1';

(6) Löschen Sie die WF_JAVA_DEFERRED-Warteschlange und die queue_table.

declare
begin
dbms_aqadm.stop_queue(queue_name => 'APPLSYS.WF_JAVA_DEFERRED', wait =>
FALSE);
end;
/

Wenn es hängt, können wir Gewalt anwenden

declare
begin
dbms_aqadm.drop_queue_table(queue_table => 'APPLSYS.WF_JAVA_DEFERRED', force
=> TRUE);
end;
/

(7) Erstellen Sie die WF_JAVA_DEFERRED-Warteschlange neu.

sqlplus / @wfbesqc.sql

Zum Beispiel:

sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqc.sql APPLSYS APPS

(8) Fügen Sie die Abonnenten hinzu.

sqlplus APPSusr/<pass> @wfbesqsubc.sql

Beispielsyntax:

sqlplus apps/<pass> @$FND_TOP/patch/115/sql/wfbesqsubc.sql APPLSYS APPS

(9) Erstellen Sie den Index neu (Ignorieren Sie bitte alle ORA-00955-Fehler zu Objekten, die bereits vorhanden sind, da dies den Index für andere Objekte hinzufügt.):

sqlplus APPSusr/<pass> @FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS tablespace_name

Beispielsyntax:

sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS APPS_TS_QUEUES

(10) Setzen Sie die Daten für WF_JAVA_DEFERRED zurück in die Warteschlange.

sqlplus apps/<pass> @wfaqrenq.sql

Zum Beispiel:

sqlplus apps/apps @$FND_TOP/sql/wfaqrenq.sql WF_JAVA_DEFERRED

(11) Bestätigen Sie, dass sich alle Datensätze wieder in der Warteschlange befinden.

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) Starten Sie den Workflow Agent Listener Service und bestätigen Sie, dass er jetzt die Ereignisse in der Warteschlange verarbeitet.

Systemadministrator> Oracle Applications Manager> Workflow> Dienstkomponenten> 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;

Hoffe euch gefällt der Beitrag. Bitte geben Sie Feedback zur Verbesserung