Oracle Job Scheduler "Застрял"

У нас есть 2 производственные среды, скажем, XX и XY. Оба находятся на Oracle 11g Release 11.2.0.2.0. В обеих средах есть таблица очередей и очередь заданий для постановки / снятия заданий в очередь и их обработки. Сервер приложений - Apache Tomcat версии 6.0.32.

Проблема, с которой я сталкиваюсь, заключается в том, что в среде XX планировщик Oracle "зависает" или "зависает" почти ежедневно в 16:30 по местному времени, тогда как в среде XY он работает идеально. Записи для запланированных заданий начинают накапливаться в таблице очередей, вызывая срабатывание предупреждений. Затем кто-то должен перезапустить сервер приложений, после чего все работает отлично и ожидающие задания обрабатываются без каких-либо проблем. Администратор БД всегда говорит, что в базе данных нет проблем, но я не совсем уверен.

Поиск в Google привел меня к этой ссылке: Задания DBMS_SCHEDULER зависли после обновления до 11.2. На основании объяснения я проверил и сравнил параметр DB job_queue_processes. У него одинаковые значения / детали, поэтому я зашел в тупик.

Значения для job_queue_processes

Однажды при перезапуске приложения я получил следующее исключение на выходе / дисплее, но не в журналах:

Mar 18, 2014 11:44:19 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:422)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:338)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:416)

Так что теперь мне интересно,

  • Возможно ли, что в то время как задания ставятся в очередь, между ними теряется соединение с БД, из-за чего планировщик Oracle "зависает" между ними?
  • Есть ли другой параметр базы данных, который мне нужно проверить / проверить? Это известная ошибка в Oracle? Если да, документировано ли это где-нибудь? Извините, я, возможно, пропустил чтение.
  • Есть ли какая-либо другая информация, которую мне нужно попросить администратора базы данных проверить?

Заранее благодарю за любую помощь.

РЕДАКТИРОВАТЬ: ссылка для вывода запроса => select * from DBA_SCHEDULER_JOBS предоставляется в Excel по ссылке: Job_output.xlsx

Спасибо!

Обновление от 20 марта 2014 г.

Проблема еще не решена. Следовательно, некоторые дополнительные результаты запросов публикуются ниже в этом вопросе.

SQL> select queue,msg_state,expiration_reason,count(*)
  2  from AQ$JOB_QTBL
  3  group by queue,msg_state,expiration_reason;

QUEUE                          MSG_STATE        EXPIRATION_REASON    COUNT(*)
------------------------------ ---------------- ------------------ ----------
JOB_Q                          READY                                        4

SQL> select owner, name, queue_type, max_retries, retry_delay
  2    from dba_queues
  3   where queue_table = 'JOB_QTBL'
  4   and owner = 'ENV_XX';

OWNER                          NAME                           QUEUE_TYPE         MAX_RETRIES RETRY_DELAY
------------------------------ ------------------------------ -------------------- ----------- -----------
ENV_XX                        AQ$_JOB_QTBL_E                 EXCEPTION_QUEUE                0           0
ENV_XX                        JOB_Q                          NORMAL_QUEUE                   5           0

SQL> 

0 ответов

Другие вопросы по тегам