Alertlog file’ de aşağıdaki gibi queue ile ilgili hatalar alırsanız nasıl çözüm üretebileceğiniz ile ilgili scriptleri ve açıklamalarını aşağıda bulabilirsiniz ;
Alertlog’ a düşen hatalar ;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
Tue May 12 10:52:38 2015 Errors in file /u01/ora_5/oracle/diag/rdbms/pdtest/pdtest/trace/pdtest_j002_28773.trc: ORA-12012: error on auto execute of job "PDU"."FTS_MONITOR" ORA-20000: ORA-25226: dequeue failed, queue PDU.OTS_FORWARD2 is not enabled for dequeue ORA-06512: at "SYS.DBMS_AQ", line 335 ORA-06512: at "PDU.PACK_QUEUE", line 148 ORA-06512: at "PDU.PACK_QUEUE", line 382 ORA-06512: at "PDU.PACK_QUEUE", line 594 ORA-06512: at "PDU.PACK_QUEUE", line 604 ORA-06512: at line 1 Tue May 12 10:52:38 2015 Errors in file /u01/ora_5/oracle/diag/rdbms/pdtest/ pdtest/trace/pdtest_j000_30214.trc: ORA-12012: error on auto execute of job "PDU2"."FTS_MONITOR" ORA-20000: ORA-25226: dequeue failed, queue PDU2.OTS_FORWARD is not enabled for dequeue ORA-06512: at "SYS.DBMS_AQ", line 335 ORA-06512: at "PDU2.PACK_QUEUE", line 148 ORA-06512: at "PDU2.PACK_QUEUE", line 534 ORA-06512: at "PDU2.PACK_QUEUE", line 597 ORA-06512: at "PDU2.PACK_QUEUE", line 604 ORA-06512: at line 1 Tue May 12 10:53:08 2015 Errors in file /u01/ora_5/oracle/diag/rdbms/pdtest/pdtest/trace/pdtest_j000_30214.trc: ORA-12012: error on auto execute of job "PDU"."FTS_MONITOR" ORA-20000: ORA-25226: dequeue failed, queue PDU.OTS_FORWARD2 is not enabled for dequeue ORA-06512: at "SYS.DBMS_AQ", line 335 ORA-06512: at "PDU.PACK_QUEUE", line 148 ORA-06512: at "PDU.PACK_QUEUE", line 382 ORA-06512: at "PDU.PACK_QUEUE", line 594 ORA-06512: at "PDU.PACK_QUEUE", line 604 ORA-06512: at line 1 Tue May 12 10:53:08 2015 Errors in file /u01/ora_5/oracle/diag/rdbms/pdtest/pdtest/trace/pdtest_j002_28773.trc: ORA-12012: error on auto execute of job "PDU2"."FTS_MONITOR" ORA-20000: ORA-25226: dequeue failed, queue PDU2.OTS_FORWARD is not enabled for dequeue ORA-06512: at "SYS.DBMS_AQ", line 335 ORA-06512: at "PDU2.PACK_QUEUE", line 148 ORA-06512: at "PDU2.PACK_QUEUE", line 534 ORA-06512: at "PDU2.PACK_QUEUE", line 597 ORA-06512: at "PDU2.PACK_QUEUE", line 604 ORA-06512: at line 1 |
Hata queue’ nun disable olduğundan dolayı alınıyor, enable etmek için ;
begin
dbms_aqadm.start_queue(queue_name => ‘PDU.OTS_FORWARD2’);
end;
/
çalıştıralım ;
1 2 3 4 5 6 7 8 9 10 11 |
===> begin dbms_aqadm.start_queue(queue_name => 'PDU.OTS_FORWARD2'); end; begin dbms_aqadm.start_queue(queue_name => 'PDU.OTS_FORWARD2'); end; Error at line 1 ORA-24017: QUEUE üzerinde kuyruklama etkinleştirilemiyor, PDU.OTS_FORWARD2 bir istisna kuyruğudur ORA-06512: konum "SYS.DBMS_AQADM", satır 270 ORA-06512: konum satır 2 Script Terminated on line 1. |
Yukarıdaki script ile queue’ ları start ermek istediğinizde de bu hatayı alırsanız o zaman enqueue ve dequeue parametrelerinide aşağıdaki şekilde set ederek tekrar deneyebilirsiniz ;
begin
dbms_aqadm.start_queue(queue_name => ‘PDU.OTS_FORWARD2’, enqueue=>false,dequeue=>true);
end;
/
çalıştıralım;
1 2 3 4 |
===> begin DBMS_AQADM.START_QUEUE(QUEUE_NAME=>'PDU.OTS_FORWARD2',ENQUEUE=>FALSE,DEQUEUE=>TRUE); End; / PL/SQL procedure successfully completed. |
Sonrasında alert logda hataların artık gelmediğini gözlemliyor olmanız gerekiyor.
Ek olarak queue’ dakileri sorgulamak isterseniz ;
select owner,name,enqueue_enabled,dequeue_enabled from dba_queues;
komutunu kullanabilirsiniz.