|
|
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
Необходимо данные из очереди сообщений одной схемы перенести в очередь на другой. Очередь должна быть с приоритетом. Создаю в первой схеме, тип: Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. begin do_loop(); end; Тестируем, в первой схеме запускаю: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 09:51 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
Не совсем понятно, что вы пытаетесь достигнуть? Один вопрос для вас - source и destination схемы в одной базе или разных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 10:18 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
Q u a d r oНе совсем понятно, что вы пытаетесь достигнуть? Грубо говоря таким образом я буду размножать некоторый код по серверам, в том числе и длительные запросы с отправкой результата куда-нибудь. Q u a d r oОдин вопрос для вас - source и destination схемы в одной базе или разных? Пока тестирую на одной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 10:39 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
А сообщение в первой очереди появляется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 11:44 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
Я, кстати, сейчас занимаюсь аналогичной проблемой - передачей сообщений между двумя источником и несколькими удаленными БД посредством очередей. Если интересен мой опыт, то могу выслать test case. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 11:46 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
Попробую помочь. Я так понял, не появляются сообщения в дестинейшен очереди, да? Какой оракл? у меня Oracle9i Enterprise Edition Release 9.2.0.5.0 Давай пройдемся по-порядку по проблемным местам... 1. Пользователи должны иметь необходимые права У меня вот эти розданы AQ_ADMINISTRATOR_ROLE EXECUTE ON SYS.DBMS_AQADM EXECUTE ON SYS.DBMS_AQ EXECUTE ON SYS.DBMS_AQIN 2. JOB_QUEUE_PROCESSES Parameter - во что выставлен? Выполни: SELECT a.ksppinm "Parameter", b.ksppstvl "Session Value", c.ksppstvl "Instance Value" FROM x$ksppi a, x$ksppcv b, x$ksppsv c WHERE a.indx = b.indx AND a.indx = c.indx AND ksppinm='job_queue_processes'; Значение этого параметра должно быть как минимум 2*(кол-во propagation schedules) Можно установить так, например ALTER SYSTEM SET JOB_QUEUE_PROCESSES=20; 3. Название ДБ-линка должно быть fully – qualifyed Example: ‘MY_LINK.US.DB.COM‘ instead of 'MY_LINK‘ – it’s important for propagation to work. 4. Подписчиков создавать необязательно, можно вместо этого при постановке в очередь указать список получателей dbms_aq.message_properties_t recipient_list Recipient Address should be in form schema.remote_queue_name@DB_Link вот так, например: declare vrecipient_list dbms_aq.AQ$_RECIPIENT_LIST_T; .... begin --Prepare recipient_list vrecipient_list(1):= sys.aq$_agent('AQ_TEST','aq_test.main_queue_d@aq_d.us.db.com', NULL); ..... дальше ставим в очередь ... msgProp.recipient_list:=vrecipient_list; dbms_aq.enqueue(queue_name => queueName, enqueue_options => enqOpt, message_properties => msgProp, payload => xmlmsg, msgid => msgHdl); COMMIT; -- коммит нужен !!! 5. Проверка, совместимы ли очереди /* Verify that the source and destination queues have the same type. */ DECLARE rc BINARY_INTEGER; BEGIN DBMS_AQADM.VERIFY_QUEUE_TYPES( src_queue_name => 'main_queue', dest_queue_name => 'main_queue_d', destination=>'aq_d.us.db.com', rc => rc); DBMS_OUTPUT.PUT_LINE(rc); END; 6. Если получишь ORA-25228 то это решается вот так DEQUEUE_OPTIONS_T.WAIT:=1 (какое-то ненулевое значение) Все имена проставь свои, спешу я очень, надеюсь, это поможет.... Все вышеописанное для случая с разными базами. Пару ссылок по теме http://%5Ddownload-west.oracle.com/docs/cd/B10501_01/appdev.920/a96620/xdb22aq.htm#1028991%5B/url] http://]citforum.ru/database/articles/oraclexmlmess.shtml http://]www.lc.leidenuniv.nl/awcourse/oracle/appdev.920/a96587/qintro.htm#64906 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 11:48 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
Хочешь, вышлю полностью рабочий пример с XML-сообщениями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 11:52 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
Tolmachov DmitiryА сообщение в первой очереди появляется? Я, кстати, сейчас занимаюсь аналогичной проблемой - передачей сообщений между двумя источником и несколькими удаленными БД посредством очередей. Если интересен мой опыт, то могу выслать test case. Конечно, иначе зачем я её создавал. Перед тем как попасть в очередь они кидаются в табличку, что-то наподобии справочника заданий (часть результата будет возвращено сюда же). Далее процедурка разбирает что куда слать и кидает в очередь. Чей-то чужой опыт всегда инетересен, особенно в данном случае, высылайте. Valeriy BorysyukПопробую помочь. Я так понял, не появляются сообщения в дестинейшен очереди, да? Какой оракл? у меня Oracle9i Enterprise Edition Release 9.2.0.5.0 Вроде такой же, уточню в понедельник. Да,сообщения не появляются во 2 очереди. 1. раздавал 2,3. в понедельник посмотрю,проверю 4. пробовал, та же беда. 5. 2 очередь - копия 1 6. а где эту ошиббку посмотреть? в ..shedule..? Спасибо за ссылки, почитаю. Если есть примеры, кидайте, всегда рад=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2006, 01:20 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
В общем снес я все, написал по новой, поставил гранты и заработало, делал без подписчиков. Однако 5 не работает. Пишет, что connection description for remote databse not found.Спасибо за советы, работаю дальше. примеры все ещё жду, интересно посмотреть у кого как реализовано=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 12:08 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
Добрый день. Очень много вопросов по пропаганде сообщений из одной БД в другую возникает offline. Поэтому прикладываю живой пример. Сообщения идут из БД Gedis в БД Omega через db-link OMEGA_AQXML. Тип сообщения - Oracle object type. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2009, 16:01 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
Valeriy Borysyuk, спасибо огромное. Ссылка очень помогла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2009, 18:10 |
|
||
|
Помогите разобраться с очередями
|
|||
|---|---|---|---|
|
#18+
то есть без db лика, очередь из одной схему не перенести в другую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 12:12 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=33991674&tid=1883195]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
196ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 525ms |

| 0 / 0 |
