Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Проблема с Advanced queues  [new]
Байт
Member

Откуда:
Сообщений: 8
Имеется очередь с 10.2.0.3.0 на 10.2.0.2.0
Сообщения прекрасно ходят, но вот проблема — на источнике сообщения из таблицы очереди не удаляются. В чем может быть засада?
13 авг 07, 14:31    [4516882]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
Байт
Member

Откуда:
Сообщений: 8
Хм. Помогло следующее: установка на destination сервере aq_tm_processes =1 и перезапуске propagation на источнике.
13 авг 07, 15:37    [4517476]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
Байт
Member

Откуда:
Сообщений: 8
Еще один вопрос - почему могут очень медленно и с большим конкаренси работатать всякие DBMS_AQADM.Schedule_Propagation ?
15 авг 07, 20:14    [4531570]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
Tolmachov Dmitiry
Member

Откуда: Москва, Пенза
Сообщений: 1520
1. Параметр aq_tm_processes отвечает за число процессов, которые мониторят очереди на предмет наличия в них новых сообщений. Если он равен 0, а по умолчанию так и есть, то процессов нет и сообщения будут копиться в очереди. Рестарт пропаганды на источнике был необязателен.

2. DBMS_AQADM.Schedule_Propagation вообще не быстрый процесс, а DBMS_AQADM.Unschedule_Propagation тем более. Но остановку одной пропаганды у нас уходит примерно минута. Так как стартовать/останавивать пропаганду приходится очень редко, то смирись с этим.

3. Если хочешь, чтобы очереди обрабатывались быстрее (если их много в базе), то прибавь aq_tm_processes и job_queue_processes. Число должно примерно равняться числу очередей и числу сабскарайберов во всей системе.
16 авг 07, 11:13    [4533205]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
Tolmachov Dmitiry
Member

Откуда: Москва, Пенза
Сообщений: 1520
Tolmachov Dmitiry
Число должно примерно равняться числу очередей и числу сабскарайберов во всей системе.
Это я имел в виду для job_queue_processes
16 авг 07, 11:14    [4533222]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
ыекь
Guest
Tolmachov Dmitiry
Tolmachov Dmitiry
Число должно примерно равняться числу очередей и числу сабскарайберов во всей системе.
Это я имел в виду для job_queue_processes

При чем тут вообще джобы?
16 авг 07, 11:30    [4533372]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
Tolmachov Dmitiry
Member

Откуда: Москва, Пенза
Сообщений: 1520
To ыекь
А вы с AQ когда-нибудь работали? Или спросили так просто?
16 авг 07, 11:33    [4533402]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
ыекь
Guest
ыекь
Tolmachov Dmitiry
Tolmachov Dmitiry
Число должно примерно равняться числу очередей и числу сабскарайберов во всей системе.
Это я имел в виду для job_queue_processes

При чем тут вообще джобы?

Джобы отвечают за передачу, их должно быть ровно столько сколько надо. Увеличение job_queue_processes на обработку прямо не влияет.
16 авг 07, 11:34    [4533408]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
ыек
Guest
Tolmachov Dmitiry
1. Параметр aq_tm_processes отвечает за число процессов, которые мониторят очереди на предмет наличия в них новых сообщений. Если он равен 0, а по умолчанию так и есть, то процессов нет и сообщения будут копиться в очереди.


В Десятке это не работает, мыханизм поменялся. Just in case.
16 авг 07, 11:39    [4533446]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
strm
Guest
В порядке самооборазования Note:305662.1
16 авг 07, 11:40    [4533457]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
Tolmachov Dmitiry
Member

Откуда: Москва, Пенза
Сообщений: 1520
Обратимся к документации:

Prior to Oracle Database 10g, Oracle Streams AQ time manager processes were controlled by the init.ora parameter AQ_TM_PROCESSES, which had to be set to nonzero to perform time monitoring on queue messages and for processing messages with delay and expiration properties specified. These processes were named QMNO-9 and could be changed using statement:

ALTER SYSTEM SET AQ_TM_PROCESSES=X

Parameter X ranged from 0 to 10. When X was set to 1 or more, that number of QMN processes were then started. If the parameter was not specified, or was set to 0, then queue monitor processes were not started.

In Oracle Streams AQ release 10.1, this has been changed to a coordinator-slave architecture, where a coordinator is automatically spawned if Oracle Streams AQ or Streams is being used in the system. This process, named QMNC, dynamically spawns slaves depending on the system load. The slaves, named qXXX, do various background tasks for Oracle Streams AQ or Streams. Because the number of processes is determined automatically and tuned constantly, you no longer need set AQ_TM_PROCESSES.

Even though it is no longer necessary to set AQ_TM_PROCESSES when Oracle Streams AQ or Streams is used, if you do specify a value, then that value is taken into account. However, the number of qXXX processes can be different from what was specified by AQ_TM_PROCESSES.

No separate API is needed to disable or enable the background processes. This is controlled by setting AQ_TM_PROCESSES to zero or nonzero. Oracle recommends, however, that you leave the AQ_TM_PROCESSES parameter unspecified and let the system autotune.

Так что, установка AQ_TM_PROCESSES в ноль остановит фоновые процессы. А явное указание числа фоновых процессов будет приниматься во внимание при расчете необходимого числа (в Oracle 10i)
16 авг 07, 11:50    [4533561]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
ыекь
Guest
Tolmachov Dmitiry
Обратимся к документации:

Prior to Oracle Database 10g, Oracle Streams AQ time manager processes were controlled by the init.ora parameter AQ_TM_PROCESSES, which had to be set to nonzero to perform time monitoring on queue messages and for processing messages with delay and expiration properties specified. These processes were named QMNO-9 and could be changed using statement:

ALTER SYSTEM SET AQ_TM_PROCESSES=X

Parameter X ranged from 0 to 10. When X was set to 1 or more, that number of QMN processes were then started. If the parameter was not specified, or was set to 0, then queue monitor processes were not started.

In Oracle Streams AQ release 10.1, this has been changed to a coordinator-slave architecture, where a coordinator is automatically spawned if Oracle Streams AQ or Streams is being used in the system. This process, named QMNC, dynamically spawns slaves depending on the system load. The slaves, named qXXX, do various background tasks for Oracle Streams AQ or Streams. Because the number of processes is determined automatically and tuned constantly, you no longer need set AQ_TM_PROCESSES.

Even though it is no longer necessary to set AQ_TM_PROCESSES when Oracle Streams AQ or Streams is used, if you do specify a value, then that value is taken into account. However, the number of qXXX processes can be different from what was specified by AQ_TM_PROCESSES.

No separate API is needed to disable or enable the background processes. This is controlled by setting AQ_TM_PROCESSES to zero or nonzero. Oracle recommends, however, that you leave the AQ_TM_PROCESSES parameter unspecified and let the system autotune.

Так что, установка AQ_TM_PROCESSES в ноль остановит фоновые процессы. А явное указание числа фоновых процессов будет приниматься во внимание при расчете необходимого числа (в Oracle 10i)

А вы все читаете или выборочно?
However, the number of qXXX processes can be different from what was specified by AQ_TM_PROCESSES
16 авг 07, 12:01    [4533649]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
ыекь
Guest
офтоп корче пошел
16 авг 07, 12:01    [4533659]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
Tolmachov Dmitiry
Member

Откуда: Москва, Пенза
Сообщений: 1520
Ага - офтоп. Тогда уж надо было весь абзац приводить
Even though it is no longer necessary to set AQ_TM_PROCESSES when Oracle Streams AQ or Streams is used, if you do specify a value, then that value is taken into account. However, the number of qXXX processes can be different from what was specified by AQ_TM_PROCESSES
16 авг 07, 12:07    [4533727]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
Байт
Member

Откуда:
Сообщений: 8
Очередные проблемы.

В процессах QMNC выжирает 100% CPU.
Хоть добавляются сообщения в очередь, хоть не добавляются.
Кто-нить сталкивался?
28 сен 07, 11:07    [4728813]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с Advanced queues  [new]
Байт
Member

Откуда:
Сообщений: 8
Как оказалось,

note 305662.1 и note 310923.1
28 сен 07, 13:21    [4729969]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить