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

Откуда:
Сообщений: 201
Добрый день, коллеги!
Для замены всех операций на insert, в replicat указал INSERTALLRECORDS.
Так же чтобы в trail файл попадали все столбцы указал в extract
NOCOMPRESSUPDATES
NOCOMPRESSDELETES
При insert,delete колонки подгружаются все, а вот при update только часть.
В чем может быть причина и что я не доуказал?
OGG 11.2.1.0.22
27 ноя 14, 18:31    [16915572]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
Nordall
Добрый день, коллеги!
Для замены всех операций на insert, в replicat указал INSERTALLRECORDS.
Так же чтобы в trail файл попадали все столбцы указал в extract
NOCOMPRESSUPDATES
NOCOMPRESSDELETES
При insert,delete колонки подгружаются все, а вот при update только часть.
В чем может быть причина и что я не доуказал?
OGG 11.2.1.0.22
Скорее всего и для delete тоже будут не все поля. Oracle, по-умолчанию, пишет в redo только изменившиеся поля. Сделано это для оптимизации ввода-вывода. Вам придется выбирать: либо включить полное журналирование, либо реконструировать записи на приемнике.
27 ноя 14, 19:25    [16915754]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Nordall
Member

Откуда:
Сообщений: 201
Alexander Ryndin,
Для delete подтянулись все поля.NOCOMPRESSDELETES сработало корректно.
Александр, что имеете ввиду под полным журналированием-это настройка в БД или Golden Gate?
27 ноя 14, 20:00    [16915908]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
Nordall
Alexander Ryndin,
Для delete подтянулись все поля.NOCOMPRESSDELETES сработало корректно.
Александр, что имеете ввиду под полным журналированием-это настройка в БД или Golden Gate?
Это настройка уровня базы данных. Включить ее можно двумя способами:
1) SQL> ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
2) GGSCI> ADD TRANDATA HR.EMPLOYEES ALLCOLS

COMPRESSUPDATES и не должна поддерживаться. Она не для Oracle.
27 ноя 14, 21:05    [16916170]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Nordall
Member

Откуда:
Сообщений: 201
Alexander Ryndin,
Александр,
спасибо за совет.
На таблице включил режим журналирования всех столбцов(ALL).
Протестировал как изменится размер redo log :
у таблицы с 80 столбцами изменял только 1 поле по первичному ключу.
Прирост redo где-то порядка 3%.
В вашем блоге для теста с меньшим количеством столбцов прирост 28%.
Я получал размер redo сессии, где производил update так:
select a.value from v$mystat a join v$statname b on (a.STATISTIC#=b.STATISTIC#)
where b.NAME='redo size'.
Как вы измеряли изменение redo?
30 ноя 14, 16:44    [16927476]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
Вроде как также замерял. Через v$mystat
30 ноя 14, 19:08    [16927929]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Nordall
Member

Откуда:
Сообщений: 201
Alexander Ryndin,
Произвел измерения на сервере настроенном под Golden Gate.
Теперь прирост существенный(~100%).
Александр, если создать группу логирования со всеми столбцами таблицы,
это то же самое что ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS
по объему redo информации?
30 ноя 14, 20:55    [16928288]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
Nordall
Alexander Ryndin,
Произвел измерения на сервере настроенном под Golden Gate.
Теперь прирост существенный(~100%).

Прирост сложно прикинуть на некоторой абстрактной нагрузке. Например, если у вас обычно выполняется update двухбайтового поля, а размер строки 2000 байт, то при полном журналировании у вас скорость генерации логов вырастет до 1000 раз. Но если у вас происходят только INSERT, то прирост будет в пределах статистической погрешности.
Nordall
Александр, если создать группу логирования со всеми столбцами таблицы,
это то же самое что ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS
по объему redo информации?
То же самое. Точнее эта команда и создает такую группу. Есть способы не включать полное журналирование, но на приемнике получить нормальную историю.
30 ноя 14, 21:50    [16928468]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Nordall
Member

Откуда:
Сообщений: 201
Alexander Ryndin,
добрый день!
В случае добавления групп логирования столбцов, update на таргете
будет происходить дольше по причине большего количества извлеченных
столбцов из redo?
Или GG понимает что изменилось конкретное поле, а все остальные поля в redo не по причине их изменения?
7 дек 14, 23:56    [16964116]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
Nordall
Alexander Ryndin,
добрый день!
В случае добавления групп логирования столбцов, update на таргете
будет происходить дольше по причине большего количества извлеченных
столбцов из redo?
Или GG понимает что изменилось конкретное поле, а все остальные поля в redo не по причине их изменения?
Откуда update, если у вас insertallrecords
8 дек 14, 00:13    [16964158]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Nordall
Member

Откуда:
Сообщений: 201
Alexander Ryndin,
добрый день.
insertallrecords остался, все верно.
Но так же для некоторых таблиц планирую использовать update как указал в теме "update как insert+update".
По этой причине заинтересовала предполагаемая перегруженность update не изменившимися столбцами.
8 дек 14, 07:11    [16964411]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Nordall
Member

Откуда:
Сообщений: 201
Nordall
Alexander Ryndin,
добрый день!
В случае добавления групп логирования столбцов, update на таргете
будет происходить дольше по причине большего количества извлеченных
столбцов из redo?
Или GG понимает что изменилось конкретное поле, а все остальные поля в redo не по причине их изменения?


Провел небольшой эксперимент:
создал на источнике и приемнике таблицу src_test(ids number pk, val1 varchar2,val2 varchar2).
Настроил репликацию.
В случае когда для логирования столбцов не создано дополнительных групп
изменения вида update src_test a set a.val2='a2' where a.ids=1 преобразовываются на таргете в
update src_test a set a.val2='a2' where a.ids=1.

В случае когда я создаю группу логирования со всеми столбцами и выполняю на источнике
update src_test a set a.val2='a2' where a.ids=1 , на таргете это преобразуется в update всех не ключевых колонок включенных в лог.
update src_test a set a.val2='a2',a.val1='текущее значение из источника' where a.ids=1.

Получается что добавление групп логирования влечет не только увеличение redo, но увеличение как миниvум undo на приемнике со всемы вытекающими последствиями для производительности?
9 дек 14, 18:30    [16973807]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4917
Блог
Nordall,

Если есть конкретная задача, то пишите в личку. Обсудим.
9 дек 14, 19:07    [16973922]     Ответить | Цитировать Сообщить модератору
 Re: Golden Gate загрузка всех строк  [new]
Nordall
Member

Откуда:
Сообщений: 201
Alexander Ryndin,
спасибо!
Если прижмет, обязательно напишу:)
10 дек 14, 10:41    [16975893]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить