|
|
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
По работе пришлось столкнуться с необходимостью переноса работающей реплики на Oracle RAC. Хочу понять, какие подводные камни при этом возникнут. Почитал документацию, понял что от реплики ничего не надо, она должна работать как обычно, конфигурацию менять не надо. Но я не могу найти информацию, понять, как же это работает. Ведь RAC выглядит в общем как несколько БД (нод), имеющее общее дисковое пространство, общие файлы БД. GoldenGate также использует общие параметры, общие трейлы и т.д. Каким образом несколько процессов экстракта на разных нодах пишут в один трейл я могу ещё себе представить. Но как несколько процессов репликата (на нескольких нодах) читают из одного трейла - понять не могу, каким образом они могут синхронизироваться по чтению, чтобы не применять одни и те же порции данных, как они делят общий трейл между собой, как договаривается кто какой блок читает и применяет? Расскажите кто сталкивался, как это работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 08:52 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
LockerНо как несколько процессов репликата (на нескольких нодах) Расскажите кто сталкивался, как это работает? Он будет один - на одной ноде. с возможностью переезда в случае аварии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 08:58 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
Что ж за бестолочи нынче на сруле? Первая же ссыль гугла все разжевывает по полочкам. http://www.oracle.com/technetwork/database/features/availability/maa-goldengate-rac-2007111.pdf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 09:00 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
mefman, Спасибо за комплимент. Этот документ я читал, там не описано каким образом репликат, работая на нескольких нодах корректно вычитывает трейл, как он синхронизируется с репликатами на других нодах. Там написано "сделайте вот так и будет хорошо". А как работает - непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 09:59 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
mefman, Ну это вроде бы уже и не рак, так как распаралеливания нагрузки не будет, если репликат работает на одной ноде. Наверное я не понял, но я думал, что на раке, в конфигурации высокой производительности репликаты должны работать на многих нодах одновременно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 10:01 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
Lockerрепликат, работая на нескольких нодах вы невнимательно читали. репликат не работает на нескольких нодах. он работает только на одной. Lockerрепликаты должны работать на многих нодах одновременно. не должны. читайте ещё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 10:11 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
проходил мимо..., Правильно я понимаю тогда, что в конфигурации RAC: extract работает на всех нодах источника pump работает на одной ноде источника replicat работает на одной ноде приёмника ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 10:23 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
Lockerпроходил мимо..., Правильно я понимаю тогда, что в конфигурации RAC: extract работает на всех нодах источника pump работает на одной ноде источника replicat работает на одной ноде приёмника ???Нет. Вам уже выше сказали, что extract работает только на одной ноде. Дальнейшие детали зависят от типа extract. Например, у classic extract каждый поток redo парсит свой thread внутри extract ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 10:37 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
Alexander RyndinLockerпроходил мимо..., Правильно я понимаю тогда, что в конфигурации RAC: extract работает на всех нодах источника pump работает на одной ноде источника replicat работает на одной ноде приёмника ???Нет. Вам уже выше сказали, что extract работает только на одной ноде. Дальнейшие детали зависят от типа extract. Например, у classic extract каждый поток redo парсит свой thread внутри extract Тогда непонятно, например integrated extract каким образом работая на одной ноде сможет отслеживать данные, которые пишет другая нода? То же самое classic, ведь на каждой ноде собственно свой "поток" записи в redo, каким образом classic extract может отследить поток redo который льётся с другой ноды? Не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 10:44 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
LockerAlexander Ryndinпропущено... Нет. Вам уже выше сказали, что extract работает только на одной ноде. Дальнейшие детали зависят от типа extract. Например, у classic extract каждый поток redo парсит свой thread внутри extract Тогда непонятно, например integrated extract каким образом работая на одной ноде сможет отслеживать данные, которые пишет другая нода? То же самое classic, ведь на каждой ноде собственно свой "поток" записи в redo, каким образом classic extract может отследить поток redo который льётся с другой ноды? Не понимаю.Redo (online и archive) обоих нод должны быть доступны на обеих нодах. Всегда, это основное требование для работы RAC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 10:48 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
Lockerнапример integrated extract integrated extract, фактически, работает через LogMiner. так что за него не беспокойтесь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 10:55 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
Alexander RyndinRedo (online и archive) обоих нод должны быть доступны на обеих нодах. Всегда, это основное требование для работы RAC Да, это понятно, они доступны на общей файловой системе. Но ведь intergated extract (у нас работает в таком режиме) производит захват данных не из файловой системы, а подключается к стриму ноды (в оперативной памяти ноды). Если extract будет работать только на одной ноде, то соответственно данные, которые пишет в RedoLog другая нода - ему будут неизвестны и он их пропустит. Вот это собственно мне непонятно, каким механизмом extract работая только на одной ноде будет видеть и захватывать данные, которые пишет другая нода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 10:56 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
LockerAlexander RyndinRedo (online и archive) обоих нод должны быть доступны на обеих нодах. Всегда, это основное требование для работы RAC Да, это понятно, они доступны на общей файловой системе. Но ведь intergated extract (у нас работает в таком режиме) производит захват данных не из файловой системы, а подключается к стриму ноды (в оперативной памяти ноды). Если extract будет работать только на одной ноде, то соответственно данные, которые пишет в RedoLog другая нода - ему будут неизвестны и он их пропустит. Вот это собственно мне непонятно, каким механизмом extract работая только на одной ноде будет видеть и захватывать данные, которые пишет другая нода?Integrated Extract будет просто читать redo с диска. Чтения из redo буфера это оптимизация, но если оттуда не получается читать, то он просто не будет использовать эту оптимизацию. Теряться ничего не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 11:03 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
Alexander RyndinIntegrated Extract будет просто читать redo с диска. Чтения из redo буфера это оптимизация, но если оттуда не получается читать, то он просто не будет использовать эту оптимизацию. Теряться ничего не будет. Правильно ли я понял, что: 1. Каким-то волшебным образом ;-) LogMiner, работающий на ноде, на которой запущен Integated Extract вычитывает данные из RedoLog общей файловой системы, парсит его и отдаёт экстракту? 2. При этом будет немного потеряна оперативность - захват будет производиться только при switch logfile, так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 11:13 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
LockerПравильно ли я понял, что: Неправильно. Вы когда-нибудь логмайнером пользовались? Вот точно так же работает и Integrated Extract. С архивными и онлайн реду. С любой из нод. Без задержек и издержек :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 11:16 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
LockerAlexander RyndinIntegrated Extract будет просто читать redo с диска. Чтения из redo буфера это оптимизация, но если оттуда не получается читать, то он просто не будет использовать эту оптимизацию. Теряться ничего не будет. Правильно ли я понял, что: 1. Каким-то волшебным образом ;-) LogMiner, работающий на ноде, на которой запущен Integated Extract вычитывает данные из RedoLog общей файловой системы, парсит его и отдаёт экстракту? 2. При этом будет немного потеряна оперативность - захват будет производиться только при switch logfile, так?Oracle пишет в Online Redo данные при каждом commit (каждая нода в свой thread). GoldenGate постоянно читает последние транзакции из Online Redo (всех thread). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 11:23 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
Большое всем спасибо, стало намного понятнее. Видимо переделывать конфигурацию GoldenGate специально под RAC надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 11:41 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
Locker, Как раз надо EXTRACT groups on RAC systems should be created with the THREADS parameter (e.g., ADD EXT <group name>, TRANLOG, THREADS 2, BEGIN...). двух нодовый rac = 2 threads....три ноды в раке = 3 threads ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 11:50 |
|
||
|
GoldenGate на RAC - шаманство?
|
|||
|---|---|---|---|
|
#18+
Для integrated ничего дополнительно настраивать не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 12:10 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=119&tid=1884174]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 321ms |

| 0 / 0 |
