sql >> Base de Datos >  >> RDS >> Oracle

cómo reconstruir la cola wf_java_deferred

Se deben seguir los siguientes pasos para reconstruir la cola


(1) Verifique qué registros se respaldarán en la tabla de respaldo 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) Cierre el servicio de escucha del agente de flujo de trabajo y haga una copia de seguridad de los registros en la cola WF_JAVA_DEFERRED en la tabla de copia de seguridad apps.wf_queue_temp_jms_table.

Administrador del sistema> Oracle Applications Manager> Flujo de trabajo> Componentes del servicio> Servicio de escucha del agente de flujo de trabajo

sqlplus apps/ @wfaqback.sql

Por ejemplo:

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

(3) Asegúrese de que todos los registros estén en la tabla 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) Establecer aq_tm_processes =0.

alter system set aq_tm_processes=0;

(5) Tenga en cuenta el nombre del espacio de tabla que contiene el índice en CORRID que deberá volver a crearse más adelante.

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

(6) Suelte la cola WF_JAVA_DEFERRED y queue_table.

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

Si se cuelga, podemos usar la fuerza

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

(7) Vuelva a crear la cola WF_JAVA_DEFERRED.

sqlplus / @wfbesqc.sql

Por ejemplo:

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

(8) Agregue los suscriptores.

sqlplus APPSusr/<pass> @wfbesqsubc.sql

Ejemplo de sintaxis:

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

(9) Vuelva a crear el índice (ignore cualquier error ORA-00955 sobre el objeto que ya existe, ya que esto agrega un índice para otros objetos):

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

Ejemplo de sintaxis:

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

(10) Vuelva a colocar los datos de WF_JAVA_DEFERRED en la cola.

sqlplus apps/<pass> @wfaqrenq.sql

Por ejemplo:

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

(11) Confirme que todos los registros están nuevamente en la cola.

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) Inicie el servicio de escucha del agente de flujo de trabajo y confirme que ahora está procesando los eventos en la cola.

Administrador del sistema> Oracle Applications Manager> Flujo de trabajo> Componentes del servicio> Servicio de escucha del agente de flujo de trabajo

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;

Espero que te guste la publicación. Proporcione sus comentarios para mejorar