sql >> Databasteknik >  >> RDS >> Oracle

hur man bygger om wf_java_deferred-kön

Följande steg ska följas för att bygga om kön


(1) Kontrollera för att se vilka poster som kommer att säkerhetskopieras i wf_queue_temp_jms_table backup-tabellen.


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) Stäng av Workflow Agent Listener Service och säkerhetskopiera posterna i WF_JAVA_DEFERRED-kön till apps.wf_queue_temp_jms_table backup-tabellen.

Systemadministratör> Oracle Applications Manager> Workflow> Service Components> Workflow Agent Listener Service

sqlplus apps/ @wfaqback.sql

Till exempel:

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

(3) Se till att alla poster finns i tabellen 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) Ställ in aq_tm_processes =0.

alter system set aq_tm_processes=0;

(5) Notera namnet på tabellutrymmet som innehåller indexet på CORRID som kommer att behöva återskapas senare.

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

(6) Släpp WF_JAVA_DEFERRED-kön och queue_table.

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

Om det hänger sig kan vi använda våld

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

(7) Återskapa WF_JAVA_DEFERRED-kön.

sqlplus / @wfbesqc.sql

Till exempel:

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

(8) Lägg till prenumeranterna.

sqlplus APPSusr/<pass> @wfbesqsubc.sql

Exempel syntax:

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

(9) Återskapa indexet (Ignorera eventuella ORA-00955-fel om objekt som redan finns eftersom detta lägger till index för andra objekt.):

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

Exempel syntax:

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

(10) Lägg tillbaka data för WF_JAVA_DEFERRED i kön.

sqlplus apps/<pass> @wfaqrenq.sql

Till exempel:

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

(11) Bekräfta att alla poster är tillbaka i kön.

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) Starta Workflow Agent Listener Service och bekräfta att den nu bearbetar händelserna i kön.

Systemadministratör> Oracle Applications Manager> Workflow> Service Components> 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;

Hoppas du gillar inlägget. Vänligen ge feedback för att förbättra


  1. Hur kan jag ge ett alias till ett bord i Oracle?

  2. MySQL DROP TABELL

  3. Bästa sättet att testa om en rad finns i en MySQL-tabell

  4. SQLite Insert